diff --git a/sentinel.go b/sentinel.go index 328f4745..4e533e7b 100644 --- a/sentinel.go +++ b/sentinel.go @@ -130,6 +130,14 @@ func (c *SentinelClient) pubSub() *PubSub { return pubsub } +// Ping is used to test if a connection is still alive, or to +// measure latency. +func (c *SentinelClient) Ping() *StringCmd { + cmd := NewStringCmd("ping") + c.Process(cmd) + return cmd +} + // Subscribe subscribes the client to the specified channels. // Channels can be omitted to create empty subscription. func (c *SentinelClient) Subscribe(channels ...string) *PubSub { @@ -219,6 +227,35 @@ func (c *SentinelClient) CkQuorum(name string) *StringCmd { return cmd } +// Monitor tells the Sentinel to start monitoring a new master with the specified +// name, ip, port, and quorum. It is identical to the sentinel monitor configuration +// directive in sentinel.conf configuration file, with the difference that you can't +// use an hostname in as ip, but you need to provide an IPv4 or IPv6 address. +func (c *SentinelClient) Monitor(name, ip, port, quorum string) *StringCmd { + cmd := NewStringCmd("sentinel", "monitor", name, ip, port, quorum) + c.Process(cmd) + return cmd +} + +// Set is used in order to change configuration parameters of a specific master. +// Multiple option / value pairs can be specified (or none at all). All the +// configuration parameters that can be configured via sentinel.conf are also +// configurable using the SET command. +func (c *SentinelClient) Set(name, option, value string) *StringCmd { + cmd := NewStringCmd("sentinel", "set", name, option, value) + c.Process(cmd) + return cmd +} + +// Remove is used in order to remove the specified master: the master will no +// longer be monitored, and will totally be removed from the internal state of +// the Sentinel, so it will no longer listed by SENTINEL masters and so forth. +func (c *SentinelClient) Remove(name string) *StringCmd { + cmd := NewStringCmd("sentinel", "remove", name) + c.Process(cmd) + return cmd +} + type sentinelFailover struct { sentinelAddrs []string