anchor.diff:  recv({Msg, Rest}, S) ->  %% have a complete message ...
       recv(acc(Rest), message(recv, Msg, S));
   
  -recv(Frag, S) ->         %% or not
  -    start_fragment_timer(setopts(S#transport{frag = Frag,
  -                                             flush = false})).
  +recv(Frag, #transport{recv = B,
  +                      socket = Sock,
  +                      module = M}
  +           = S) ->       %% or not
  +    B andalso setopts(M, Sock),
  +    start_fragment_timer(S#transport{frag = Frag,
  +                                     flush = false,
  +                                     active = B}).
   
   %% acc/2
   
  
positive.code:                    module = M}
          = S)
    when B, not A ->
      case setopts(M, Sock, [{active, once}]) of
          ok -> S#transport{active = true};
          X  -> x({setopts, Sock, M, X})  %% possibly on peer disconnect
      end;
  
  setopts(S) ->
      S.
  
  %% portnr/2
  
  
negative.code:                            = S)
    when P == ssl, true == B;
         P == tcp ->
      recv(acc(Frag, Bin), S);
  
  %% Capabilties exchange has decided on whether or not to run over TLS.
  transition({diameter, {tls, Ref, Type, B}}, #transport{parent = Pid}
  