anchor.diff:              trace(Other)
       end.
   %%
  -accept_one(Driver, Kernel, DistSocket, KTLS, DistCtrl) ->
  +accept_one(Driver, Kernel, DistCtrl, ControllingProcessFun, DistSocket) ->
       trace(Kernel ! {accept, self(), DistCtrl, Driver:family(), tls}),
       receive
           {Kernel, controller, Pid} ->
  -            case
  -                case KTLS of
  -                    true ->
  -                        inet_tcp:controlling_process(DistSocket, Pid);
  -                    false ->
  -                        ssl:controlling_process(DistSocket, Pid)
  -                end
  -            of
  +            case ControllingProcessFun(DistSocket, Pid) of
                   ok ->
                       trace(Pid ! {self(), controller});
                   {error, Reason} ->
  
positive.code:                             trace({ktls_error, KtlsReason})
                      end;
                  false ->
                      accept_one(Driver, Kernel, SslSocket, KTLS, Sender)
              end;
          {error, {options, _}} = Error ->
              %% Bad options: that's probably our fault.
  
negative.code:             end;
          Other ->
              {error, {ktls_set_cipher_failed, Other}}
      end.
  
  %% -------------------------------------------------------------------------
  
  