summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Bridgen <mikeb@lshift.net>2009-11-17 16:56:20 +0000
committerMichael Bridgen <mikeb@lshift.net>2009-11-17 16:56:20 +0000
commit1725d2c88a9fa6c473dd7a49528afa9d6a66a6dd (patch)
treedd49428b14f3105822e7f2c57f8b09e8d0010968
parent27caa4f5d18b9bbd56059811f3a7acb51505b1c9 (diff)
downloadrabbitmq-server-1725d2c88a9fa6c473dd7a49528afa9d6a66a6dd.tar.gz
Bug 21986: Implement synchronous basic.recover
-rw-r--r--src/rabbit_channel.erl8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index 759840aa..d525f941 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -556,6 +556,14 @@ handle_method(#'basic.recover_async'{}, _, _State) ->
rabbit_misc:protocol_error(
not_allowed, "attempt to recover a transactional channel",[]);
+handle_method(#'basic.recover'{requeue = Requeue}, Content, State) ->
+ {noreply, State2 = #ch{writer_pid = WriterPid}} =
+ handle_method(#'basic.recover_async'{requeue = Requeue},
+ Content,
+ State),
+ ok = rabbit_writer:send_command(WriterPid, #'basic.recover_ok'{}),
+ {noreply, State2};
+
handle_method(#'exchange.declare'{exchange = ExchangeNameBin,
type = TypeNameBin,
passive = false,