diff --git a/commands.go b/commands.go index 8ea5def..bc93df9 100644 --- a/commands.go +++ b/commands.go @@ -273,6 +273,13 @@ func (c *cmdable) Ping() *StatusCmd { return cmd } +func (c *cmdable) Wait(numSlaves int, timeout time.Duration) *IntCmd { + + cmd := NewIntCmd("wait", numSlaves, int(timeout/time.Second)) + c.process(cmd) + return cmd +} + func (c *cmdable) Quit() *StatusCmd { panic("not implemented") } diff --git a/commands_test.go b/commands_test.go index ecfc012..66359d2 100644 --- a/commands_test.go +++ b/commands_test.go @@ -50,6 +50,13 @@ var _ = Describe("Commands", func() { Expect(ping.Val()).To(Equal("PONG")) }) + It("should Wait", func() { + // assume testing on single redis instance + wait := client.Wait(0, time.Minute) + Expect(wait.Err()).NotTo(HaveOccurred()) + Expect(wait.Val()).To(Equal(int64(0))) + }) + It("should Select", func() { pipe := client.Pipeline() sel := pipe.Select(1)