Documentation ¶
Index ¶
- Variables
- type Client
- func (c *Client) CAS(ctx context.Context, key string, ...) error
- func (c *Client) Get(ctx context.Context, key string) (interface{}, error)
- func (c *Client) WatchKey(ctx context.Context, key string, f func(interface{}) bool)
- func (c *Client) WatchPrefix(ctx context.Context, prefix string, f func(string, interface{}) bool)
- type Config
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNotFound is returned by ConsulClient.Get. ErrNotFound = fmt.Errorf("Not found") )
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a KV.Client for Consul.
func NewInMemoryClient ¶
NewInMemoryClient makes a new mock consul client.
func (*Client) CAS ¶
func (c *Client) CAS(ctx context.Context, key string, f func(in interface{}) (out interface{}, retry bool, err error)) error
CAS atomically modifies a value in a callback. If value doesn't exist you'll get nil as an argument to your callback.
func (*Client) WatchKey ¶
WatchKey will watch a given key in consul for changes. When the value under said key changes, the f callback is called with the deserialised value. To construct the deserialised value, a factory function should be supplied which generates an empty struct for WatchKey to deserialise into. Values in Consul are assumed to be JSON. This function blocks until the context is cancelled.
func (*Client) WatchPrefix ¶
WatchPrefix will watch a given prefix in Consul for new keys and changes to existing keys under that prefix. When the value under said key changes, the f callback is called with the deserialised value. Values in Consul are assumed to be JSON. This function blocks until the context is cancelled.