From 1b536cf011847772641f3fd6fdedf79e4aaea547 Mon Sep 17 00:00:00 2001 From: Pedro Melo Date: Sun, 20 Jul 2014 22:12:14 +0100 Subject: [PATCH] Add disconnect() to Connection, using the CLS protocol command Signed-off-by: Pedro Melo --- lib/AnyEvent/NSQ/Connection.pm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/AnyEvent/NSQ/Connection.pm b/lib/AnyEvent/NSQ/Connection.pm index 5a73a0c..e483e2a 100644 --- a/lib/AnyEvent/NSQ/Connection.pm +++ b/lib/AnyEvent/NSQ/Connection.pm @@ -85,6 +85,21 @@ sub connect { return; } +sub disconnect { + my ($self, $cb) = @_; + return unless my $hdl = $self->{handle}; + + $hdl->push_write("CLS\012"); + + $self->_on_next_success_frame( + sub { + $cb->($self, @_) if $cb; + $self->_force_disconnect; + } + ); + + return; +} ## Protocol API