// 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 }