anchor.diff:  
   recv({_, #sctp_pdapi_event{}}, _) ->
       ok.
  +
  +%% recv/1
  +%%
  +%% Start sending unordered on a lone outbound stream after the second
  +%% reception, so that an outgoing CER/CEA will arrive at the peer
  +%% before another request.
  +
  +recv(#transport{unordered = B} = S)
  +  when is_boolean(B) ->
  +    S;
  +
  +recv(#transport{unordered = 0, socket = Sock} = S) ->
  +    ok = inet:setopts(Sock, [{sctp_default_send_param,
  +                              #sctp_sndrcvinfo{flags = [unordered]}}]),
  +    S#transport{unordered = true};
  +
  +recv(#transport{unordered = N} = S) ->
  +    S#transport{unordered = N-1}.
  +
  +%% publish/4
   
   publish(T, Ref, Id, Sock) ->
       true = diameter_reg:add_new({?MODULE, T, {Ref, {Id, Sock}}}),
  
positive.code:     %% Deal with different association id after peeloff on Solaris by
      %% taking the id from the first reception.
      up(S#transport{assoc_id = T == accept orelse Id,
                     streams = {IS, OS}});
  
  %% ... or not: try the next address.
  
negative.code:      = S) ->
      send(SId rem OS, Msg, S);
  
  %% ... or not: send unordered on a lone stream ...
  send(Msg, #transport{unordered = true} = S) ->
      send(0, Msg, S);
  
  %% ... or rotate through all.
  send(Msg, #transport{streams = {_, OS},
                       os = N}
            = S) ->
  