package backend
import "github.com/coreos/etcd/mvcc/backend"
Package backend defines a standard interface for etcd's backend MVCC storage.
Index ¶
- func NewDefaultTmpBackend() (*backend, string)
- func NewTmpBackend(batchInterval time.Duration, batchLimit int) (*backend, string)
- type Backend
- type BackendConfig
- type BatchTx
- type IgnoreKey
- type ReadTx
- type Snapshot
Functions ¶
func NewDefaultTmpBackend ¶
func NewDefaultTmpBackend() (*backend, string)
func NewTmpBackend ¶
NewTmpBackend creates a backend implementation for testing.
Types ¶
type Backend ¶
type Backend interface { ReadTx() ReadTx BatchTx() BatchTx Snapshot() Snapshot Hash(ignores map[IgnoreKey]struct{}) (uint32, error) // Size returns the current size of the backend. Size() int64 // SizeInUse returns the current size of the backend logically in use. // Since the backend can manage free space in a non-byte unit such as // number of pages, the returned value can be not exactly accurate in bytes. SizeInUse() int64 Defrag() error ForceCommit() Close() error }
func New ¶
func New(bcfg BackendConfig) Backend
func NewDefaultBackend ¶
type BackendConfig ¶
type BackendConfig struct { // Path is the file path to the backend file. Path string // BatchInterval is the maximum time before flushing the BatchTx. BatchInterval time.Duration // BatchLimit is the maximum puts before flushing the BatchTx. BatchLimit int // MmapSize is the number of bytes to mmap for the backend. MmapSize uint64 }
func DefaultBackendConfig ¶
func DefaultBackendConfig() BackendConfig
type BatchTx ¶
type BatchTx interface { ReadTx UnsafeCreateBucket(name []byte) UnsafePut(bucketName []byte, key []byte, value []byte) UnsafeSeqPut(bucketName []byte, key []byte, value []byte) UnsafeDelete(bucketName []byte, key []byte) // Commit commits a previous tx and begins a new writable one. Commit() // CommitAndStop commits the previous tx and does not create a new one. CommitAndStop() }
type IgnoreKey ¶
type ReadTx ¶
type ReadTx interface { Lock() Unlock() UnsafeRange(bucketName []byte, key, endKey []byte, limit int64) (keys [][]byte, vals [][]byte) UnsafeForEach(bucketName []byte, visitor func(k, v []byte) error) error }
type Snapshot ¶
type Snapshot interface { // Size gets the size of the snapshot. Size() int64 // WriteTo writes the snapshot into the given writer. WriteTo(w io.Writer) (n int64, err error) // Close closes the snapshot. Close() error }
Source Files ¶
backend.go batch_tx.go config_default.go doc.go metrics.go read_tx.go tx_buffer.go
- Version
- v3.2.27+incompatible
- Published
- Sep 17, 2019
- Platform
- js/wasm
- Imports
- 15 packages
- Last checked
- 1 hour ago –
Tools for package owners.