Return and save the AMQP Channel pid.
authorMatt Mullins <mmullins@mmlx.us>
Sat, 4 May 2013 06:35:42 +0000 (23:35 -0700)
committerMatt Mullins <mmullins@mmlx.us>
Sun, 5 May 2013 07:19:07 +0000 (00:19 -0700)
amqp/amqp_bot_listener.erl
irc/irc_amqp_listener.erl

index bd8a934..a0732b3 100644 (file)
@@ -42,4 +42,4 @@ listen_for_events(RoutingKeyString) ->
                               no_ack = true
                             },
             Pid),
-    {ok, ConsumerTag}.
+    {ok, ConsumerTag, Channel}.
index ceca5aa..da33e92 100644 (file)
@@ -25,8 +25,8 @@ start_link(ConnectionPid, RoutingKey) ->
     gen_server:start_link(?MODULE, {ConnectionPid, RoutingKey}, []).
 
 init({ConnectionPid, RoutingKey}) ->
-    {ok, _} = amqp_bot_listener:listen_for_events(RoutingKey),
-    {ok, {ConnectionPid}}.
+    {ok, _, ListeningChannel} = amqp_bot_listener:listen_for_events(RoutingKey),
+    {ok, {ConnectionPid, ListeningChannel}}.
 
 %% Ignore the message indicating that the listener is operating correctly
 handle_info(#'basic.consume_ok'{}, State) ->
@@ -35,7 +35,7 @@ handle_info(#'basic.consume_ok'{}, State) ->
 handle_info(
         { #'basic.deliver'{routing_key = RoutingKey},
           #amqp_msg{payload = BinContent} },
-        State = {ConnectionPid}) ->
+        State = {ConnectionPid, ListeningChannel}) ->
     error_logger:info_msg("Got a message ~p for routing key ~p~n",
             [BinContent, RoutingKey]),
     [_, _, DestinationKey] = string:tokens(binary_to_list(RoutingKey), "."),