anchor.diff:       StateData#data{connection_states = 
                           ConnectionStates0#{current_write => WritesState},
                      negotiated_version = Version}};
  +handshake(internal, {application_packets,_,_}, _) ->
  +    {keep_state_and_data, [postpone]};
   handshake(info, Msg, StateData) -> 
       handle_info(Msg, ?FUNCTION_NAME, StateData).
   
  
positive.code:            #data{connection_states = #{current_write := Write}} = StateData) ->
      {next_state, handshake, StateData, [{reply, From, {ok, Write}}]};
  connection({call, From}, {application_data, AppData}, 
             #data{socket_options = SockOpts} = StateData) ->                   
      case encode_packet(AppData, SockOpts) of
          {error, _} = Error ->
              {next_state, ?FUNCTION_NAME, StateData, [{reply, From, Error}]};
          Data ->
  
negative.code: 
  %%---------------Erlang distribution --------------------------------------
  
  dist_data(DHandle, Packet) ->
      case erlang:dist_ctrl_get_data(DHandle) of
          none ->
              erlang:dist_ctrl_get_data_notification(DHandle),
              [];
          Data ->
              %% This is encode_packet(4, Data) without Len check
              %% since the emulator will always deliver a Data
              %% smaller than 4 GB, and the distribution will
              %% therefore always have to use {packet,4}
              Len = iolist_size(Data),
              [<<Len:32>>,Data|dist_data(DHandle, Packet)]
      end.
  
  consume_ticks() ->
  