anchor.diff:          %% since the emulator will always deliver a Data
           %% smaller than 4 GB, and the distribution will
           %% therefore always have to use {packet,4}
  -        Data when is_binary(Data) ->
  -            Len = byte_size(Data),
  -            [[<<Len:32>>,Data]|dist_data(DHandle)];
  -        [BA,BB] = Data ->
  -            Len = byte_size(BA) + byte_size(BB),
  -            [[<<Len:32>>|Data]|dist_data(DHandle)];
  -        Data when is_list(Data) ->
  -            Len = iolist_size(Data),
  -            [[<<Len:32>>|Data]|dist_data(DHandle)]
  +        {Len, Data} ->
  +            %% Data is of type iovec(); lets keep it
  +            %% as an iovec()...
  +            Packet = [<<Len:32>> | Data],
  +            case dist_data(DHandle) of
  +                [] -> Packet;
  +                More -> Packet ++ More
  +            end
       end.
   
   
  
positive.code:               [];
            Data ->
                [{next_event, internal,
                 {application_packets,{self(),undefined},erlang:iolist_to_iovec(Data)}}]
        end]};
  connection(internal, {application_packets, From, Data}, StateData) ->
      send_application_data(Data, From, ?FUNCTION_NAME, StateData);
  
negative.code:               [];
            Data ->
                [{next_event, internal,
                 {application_packets,{self(),undefined},Data}}]
        end};
  connection(info, tick, StateData) ->  
      consume_ticks(),
  