anchor.diff:              loop_send(Fd, ChunkSize, file:read(Fd, ChunkSize), Out, all,
                         BytesSent+size(Bin));
           Err ->
  -            Err
  +            {send_error, Err, BytesSent} 
       end;
   loop_send(_Fd, _ChunkSize, eof, _Out, _, BytesSent) ->
       {ok, BytesSent};
  
positive.code: enabled() ->
      false.
  send(Out, Filename, Offset, Count) ->
      compat_send(Out, Filename, Offset, Count).
  start_link() ->
      ignore.
  start() ->
  
negative.code:                     loop_send(Fd, ChunkSize, file:read(Fd, ChunkSize),
                                Out, Count-Sz, BytesSent+Sz);
                  Err ->
                      {send_error, Err, BytesSent}
              end;
         Sz == Count ->
              case gen_tcp:send(Out, Bin) of
                  ok  -> {ok, BytesSent+Sz};
                  Err -> 
                      {send_error, Err, BytesSent}
              end;
         Sz > Count ->
              <<Deliver:Count/binary , _/binary>> = Bin,
              case gen_tcp:send(Out, Deliver) of
                  ok  -> {ok, BytesSent+Count};
                  Err -> {send_error, Err, BytesSent}
              end
      end;
  loop_send(_Fd, _, Err, _, _, BytesSent) ->
      {send_error, Err, BytesSent}.
  
  -endif.
  