anchor.diff:  
   %% -------------------------------------------------------------------------
   %% erlang:dist_ctrl_* helpers
  -
  -%% Get data for sending from the VM and place it in a queue
  -%%
  -get_data(DistHandle, {Front, Size, Rear}) ->
  -    get_data(DistHandle, Front, Size, Rear).
  -%%
  -get_data(_DistHandle, Front, Size, Rear) when ?CHUNK_SIZE =< Size ->
  -    {Front, Size, Rear};
  -get_data(DistHandle, Front, Size, Rear) ->
  -    case erlang:dist_ctrl_get_data(DistHandle) of
  -        none ->
  -            {Front, Size, Rear};
  -        Bin when is_binary(Bin)  ->
  -            Len = byte_size(Bin),
  -            get_data(
  -              DistHandle, Front, Size + 4 + Len,
  -              [Bin, <<Len:32>>|Rear]);
  -        [Bin1, Bin2] ->
  -            Len = byte_size(Bin1) + byte_size(Bin2),
  -            get_data(
  -              DistHandle, Front, Size + 4 + Len,
  -              [Bin2, Bin1, <<Len:32>>|Rear]);
  -        Iovec ->
  -            Len = iolist_size(Iovec),
  -            get_data(
  -              DistHandle, Front, Size + 4 + Len,
  -              lists:reverse(Iovec, [<<Len:32>>|Rear]))
  -    end.
   
   %% De-packet and deliver received data to the VM from a queue
   %%
  
positive.code:                 dist_tick ->
                      output_handler_tick(Params, Seq);
                  _ when Msg =:= Params#params.rekey_msg ->
                      Params_1 = output_handler_rekey(Params, Seq),
                      output_handler(Params_1, 0);
                  _ ->
                      %% Ignore
                      _ = trace(Msg),
  
negative.code:             end
      end.
  
  %% State: we have received at least one dist_data message
  output_handler_data(Params, Seq) ->
      receive
          Msg ->
  