diff options
Diffstat (limited to 'vendor/github.com/xordataexchange/crypt/backend/backend.go')
-rw-r--r-- | vendor/github.com/xordataexchange/crypt/backend/backend.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/vendor/github.com/xordataexchange/crypt/backend/backend.go b/vendor/github.com/xordataexchange/crypt/backend/backend.go new file mode 100644 index 00000000..bfe894dc --- /dev/null +++ b/vendor/github.com/xordataexchange/crypt/backend/backend.go @@ -0,0 +1,32 @@ +// Package backend provides the K/V store interface for crypt backends. +package backend + +// Response represents a response from a backend store. +type Response struct { + Value []byte + Error error +} + +// KVPair holds both a key and value when reading a list. +type KVPair struct { + Key string + Value []byte +} + +type KVPairs []*KVPair + +// A Store is a K/V store backend that retrieves and sets, and monitors +// data in a K/V store. +type Store interface { + // Get retrieves a value from a K/V store for the provided key. + Get(key string) ([]byte, error) + + // List retrieves all keys and values under a provided key. + List(key string) (KVPairs, error) + + // Set sets the provided key to value. + Set(key string, value []byte) error + + // Watch monitors a K/V store for changes to key. + Watch(key string, stop chan bool) <-chan *Response +} |