anchor.diff:  stats(Pid) ->
       gen_server:call(Pid, stats).
   
  +clear_stats(Pid) ->
  +    gen_server:call(Pid, clear_stats).
  +
   %%--------------------------------------------------------------------------
   %% gen_server callbacks
   %%--------------------------------------------------------------------------
   
   %% @private
  -init([Connection, ProxyEx, RpcExchange, Fun]) ->
  +init([Connection, ProxyEx, RpcExchange, ControlExchange, Interval]) ->
       {ok, Channel} = amqp_connection:open_channel(Connection),
       
       %%setup reply queue to get messages from RPC Server.
       #'queue.declare_ok'{queue = ReplyQ} 
  -        = amqp_channel:call(Channel, #'queue.declare'{}),
  -    log("queue.declare", "ok"),
  -    amqp_channel:subscribe(Channel, #'basic.consume'{queue = ReplyQ}, self()),
  -    log("basic.consume", "ok"),
  +        = amqp_channel:call(Channel, #'queue.declare'{exclusive = true, auto_delete = true}),
  +    amqp_channel:subscribe(Channel, #'basic.consume'{queue = ReplyQ, no_ack = true}, self()),
       
       %%setup proxy exchange
       ExDeclare = #'exchange.declare'{exchange=ProxyEx, durable = true},
  
positive.code:                        reply_queue,
                         req_time}).
                         
  -record(stats, {msgs_nb = 0,
                  time_total = 0}).
  
  %%--------------------------------------------------------------------------
  %% API
  %%--------------------------------------------------------------------------
  
  %% @spec (Connection, Queue, RpcHandler) -> RpcServer
  %% where
  
negative.code:     
      %%setup proxy queue to get messages from RPC Client
      #'queue.declare_ok'{queue = ProxyQ} 
          = amqp_channel:call(Channel, #'queue.declare'{exclusive = true, auto_delete = true}),
      QueueBind = #'queue.bind'{queue = ProxyQ,
                                exchange = ProxyEx},
      #'queue.bind_ok'{} = amqp_channel:call(Channel, QueueBind),
      amqp_channel:subscribe(Channel, #'basic.consume'{queue = ProxyQ}, self()),
      
      timer:send_interval(Interval, flush_stats),
      
      {ok, #state{channel = Channel, proxy_queue = ReplyQ, 
          proxy_exchange = ProxyEx, rpc_exchange = RpcExchange, 
          control_exchange = ControlExchange, stats = #stats{}}}.
  
  %% @private
  handle_info(shutdown, State) ->
  