anchor.diff:      M = if SslOpts -> ssl; true -> Mod end,
       setopts(M, Sock),
       putr(?REF_KEY, Ref),
  -    infinity == Tmo orelse erlang:start_timer(Tmo, self(), flush),
       #transport{parent = Pid,
                  module = M,
                  socket = Sock,
  
positive.code: 
  %% Initial incoming message when we might need to upgrade to TLS:
  %% don't request another message until we know.
  transition({tcp, Sock, Bin}, #transport{socket = Sock,
                                          parent = Pid,
                                          frag = Head,
  
negative.code:          frag = <<>> :: frag(),     %% message fragment
           ssl     :: boolean() | [term()],       %% ssl options
           timeout :: infinity | 0..16#FFFFFFFF,  %% fragment timeout
           tref = false  :: false | reference(),  %% fragment timer reference
           flush = false :: boolean()}).          %% flush fragment at timeout?
  %% The usual transport using gen_tcp can be replaced by anything
  %% sufficiently gen_tcp-like by passing a 'module' option as the first
  %% (for simplicity) transport option. The transport_module diameter_etcp
  