anchor.diff:  
   %% transition/2
   
  -%% Initial incoming message when we might need to upgrade to TLS:
  -%% don't receive another message until we know.
  -transition({tcp, Sock, Bin}, #transport{socket = Sock,
  -                                        parent = Pid,
  -                                        frag = Head,
  -                                        ssl = Opts}
  -                             = S)
  -  when is_list(Opts) ->
  -    case rcv(Head, Bin) of
  -        {Msg, B} ->
  -            diameter_peer:recv(Pid, Msg),
  -            S#transport{frag = B};
  -        Frag ->
  -            setopts(S),
  -            start_fragment_timer(S#transport{frag = Frag})
  -    end;
  -
   %% Incoming message.
   transition({P, Sock, Bin}, #transport{socket = Sock,
                                         ssl = B,
                                         throttled = T}
                              = S)
  -  when P == tcp, not B;
  -       P == ssl, B ->
  +  when P == ssl, true == B;
  +       P == tcp ->
       false = T,  %% assert
       recv(Bin, S);
   
  
positive.code: 
  %% throttle/1
  
  throttle(#transport{throttled = false} = S) ->
      recv(S);
  
  throttle(#transport{throttle_cb = F, throttled = B} = S) ->
      Res = cb(F, B),
  
      try throttle(Res, S) of
          #transport{} = NS ->
              throttle(defrag(NS))
      catch
          #transport{throttled = false} = NS ->
              recv(NS);
          #transport{} = NS ->
              NS
      end.
  
  %% cb/2
  
negative.code:          parent  :: pid(),          %% of process that started us
           module  :: module(),       %% gen_tcp-like module
           frag = <<>> :: frag(),     %% message fragment
           ssl     :: [term()] | boolean(),       %% ssl options, ssl or not
           timeout :: infinity | 0..16#FFFFFFFF,  %% fragment timeout
           tref = false  :: false | reference(),  %% fragment timer reference
           flush = false :: boolean(),            %% flush fragment at timeout?
  