anchor.diff:      S;
   
   message(Dir, Msg, #transport{message_cb = CB} = S) ->
  -    recv(<<>>, actions(cb(CB, Dir, Msg), Dir, S)).
  +    setopts(actions(cb(CB, Dir, Msg), Dir, S)).
   
   %% actions/3
   
  
positive.code: %% using Nagle.
  
  %% Receive packets until a full message is received,
  recv(Bin, #transport{frag = Head} = S) ->
      case acc(Head, Bin) of
          {Msg, B} ->         %% have a complete message ...
              message(recv, Msg, S#transport{frag = B});
          Frag ->              %% read more on the socket
              start_fragment_timer(setopts(S#transport{frag = Frag,
                                                       flush = false}))
      end.
  
  %% acc/2
  
  
negative.code: 
  %% Incoming packets.
  transition({P, Sock, Bin}, #transport{socket = Sock,
                                        ssl = B,
                                        frag = Frag}
                             = S)
    when P == ssl, true == B;
         P == tcp ->
      recv(acc(Frag, Bin), S#transport{active = false});
  
  %% Capabilties exchange has decided on whether or not to run over TLS.
  transition({diameter, {tls, Ref, Type, B}}, #transport{parent = Pid}
  