anchor.diff:                 SvcName,
                  Timeout,
                  []).
  +%% When sending a binary, it's up to prepare_retransmit to modify it
  +%% accordingly.
   
   retransmit({send, Msg},
              Transport,
  
positive.code:     Seqs = diameter_codec:sequence_numbers(Pkt),
      Pat = {Seqs, #request{transport = TPid, _ = '_'}, '_'},
      '$end_of_table' /= ets:select(?REQUEST_TABLE, [{Pat, [], ['$_']}], 1).
  
  %% ---------------------------------------------------------------------------
  %% # failover/1-2
  %% ---------------------------------------------------------------------------
  
  failover(TPid)
    when is_pid(TPid) ->
      lists:foreach(fun failover/1, match_requests(TPid));
  %% Note that a request process can store its request after failover
  %% notifications are sent here: store_request/2 sends the notification
  %% in that case.
  
  %% Failover as a consequence of peer_down/1: inform the
  %% request process.
  failover({_, Req, TRef}) ->
      #request{handler = Pid,
               packet = #diameter_packet{msg = M}}
          = Req,
      M /= undefined andalso (Pid ! {failover, TRef}).
  %% Failover is not performed when msg = binary() since sending
  %% pre-encoded binaries is only partially supported. (Mostly for
  %% test.)
  
  %% get_destination/2
  
  
negative.code:             false
      end.
  
  %% delete_request/1
  
  delete_request({_Seqs, #request{handler = Pid, transport = TPid}, TRef} = T) ->
      Spec = [{R, [], [true]} || R <- [T, {TPid, {Pid, TRef}}]],
      ets:select_delete(?REQUEST_TABLE, Spec).
  
  %% have_request/2
  
  