anchor.diff:  %% ---------------------------------------------------------------------------
   
   peer_down(TPid) ->
  -    ets:delete(?REQUEST_TABLE, TPid),
  -    failover(TPid).
  +    ets:delete_object(?REQUEST_TABLE, {TPid}),
  +    lists:foreach(fun failover/1, ets:lookup(?REQUEST_TABLE, TPid)).
  +%% Note that a request process can store its request after failover
  +%% notifications are sent here: insert_request/2 sends the notification
  +%% in that case.
  +
  +%% failover/1
  +
  +failover({_TPid, {Pid, TRef}}) ->
  +    Pid ! {failover, TRef}.
   
   %% ---------------------------------------------------------------------------
   %% incr/4
  
positive.code: make_request_packet(Msg, Pkt) ->
      Pkt#diameter_packet{msg = Msg}.
  
  %% make_retransmit_packet/2
  
  make_retransmit_packet(#diameter_packet{msg = [#diameter_header{} = Hdr
                                                 | Avps]}
  
negative.code:   when node() == node(TPid) ->
      Seqs = diameter_codec:sequence_numbers(Bin),
      TRef = erlang:start_timer(Timeout, self(), TPid),
      Entry = {Seqs, #request{handler = Pid} = Req, TRef},
  
      %% Ensure that request table is cleaned even if the process is
      %% killed.
      spawn(fun() -> diameter_lib:wait([Pid]), delete_request(Entry) end),
  
      insert_request(Entry),
      send(TPid, Pkt),
      TRef;
  
  