anchor.diff:      diameter_peer:up(Pid),
       S#transport{mode = A}.
   
  -%% accept/2
  +%% accept/1
   %%
   %% Start a new transport process or use one that's already been
   %% started as a consequence of an event to a listener process.
   
  -accept(Id, #listener{pending = {N,Q}} = S) ->
  -    {tpid(Id, S), S#listener{pending = {N+1,Q}}}.
  -
  -%% tpid/2
  +accept(#listener{pending = {N,Q}} = S) ->
  +    {tpid(S), S#listener{pending = {N+1,Q}}}.
  +
  +%% tpid/1
   
   %% Transport waiting for an association: use it.
  -tpid(_Id, #listener{pending = {N,Q}})
  +tpid(#listener{pending = {N,Q}})
     when N < 0 ->
       dq(Q);
   
   %% No transport start yet: spawn one and queue.
  -tpid(Id, #listener{ref = Ref,
  -                   pending = {_,Q}}) ->
  -    nq({accept, Ref, self(), Id}, Q).
  +tpid(#listener{ref = Ref,
  +               pending = {_,Q}}) ->
  +    nq({accept, Ref, self()}, Q).
   
   %% nq/2
   %%
  
positive.code:     proc_lib:init_ack({ok, self(), LAs}),
      start_timer(#listener{ref = Ref,
                            socket = Sock,
                            accept = accept(Matches)});
  
  %% A connecting transport.
  i({connect, Pid, Opts, Addrs, Ref}) ->
  
negative.code:     wait([{peeloff, MRef}], #transport{parent = Pid,
                                         mode = {accept, LPid}});
  
  %% An accepting transport spawned at association establishment, whose
  %% parent is not yet known.
  i({accept, Ref, LPid}) ->
      putr(?REF_KEY, Ref),
      proc_lib:init_ack({ok, self()}),
      erlang:send_after(?ACCEPT_TIMEOUT, self(), accept_timeout),
  