anchor.diff:  %% Handle an incoming Diameter message in a watchdog process.
   %% ---------------------------------------------------------------------------
   
  --spec receive_message(pid(), Route, #diameter_packet{}, module(), #recvdata{})
  +-spec receive_message(pid(), Route, #diameter_packet{}, module(), RecvData)
      -> pid()
       | boolean()
    when Route :: {Handler, RequestRef, Seqs}
                | Ack,
  +      RecvData :: {[SpawnOpt], #recvdata{}},
  +      SpawnOpt :: term(),
         Handler :: pid(),
         RequestRef :: reference(),
         Seqs :: {0..16#FFFFFFFF, 0..16#FFFFFFFF},
  
positive.code: -define(RELAY, ?DIAMETER_DICT_RELAY).
  -define(BASE,  ?DIAMETER_DICT_COMMON).  %% Note: the RFC 3588 dictionary
  
  -define(DEFAULT_TIMEOUT, 5000).  %% for outgoing requests
  -define(DEFAULT_SPAWN_OPTS, []).
  
  %% Table containing outgoing entries that live and die with
  %% peer_up/down. The name is historic, since the table used to contain
  %% information about outgoing requests for which an answer has yet to
  
negative.code: %% spawn_request/5
  
  spawn_request(Ack, TPid, Pkt, Dict0, {Opts, RecvData}) ->
      spawn_opt(fun() ->
                        recv_request(Ack, TPid, Pkt, Dict0, RecvData)
                end,
  