anchor.diff:                      loop_send(Fd, ChunkSize, file:read(Fd, ChunkSize),
                                 Out, Count-Sz, BytesSent+Sz);
                   Err ->
  -                    Err
  +                    {send_error, Err, BytesSent}
               end;
          Sz == Count ->
               case gen_tcp:send(Out, Bin) of
                   ok  -> {ok, BytesSent+Sz};
  -                Err -> Err
  +                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 -> Err
  +                Err -> {send_error, Err, BytesSent}
               end
       end;
  -loop_send(_Fd, _, Err, _, _, _) ->
  -    Err.
  -
  --endif.
  +loop_send(_Fd, _, Err, _, _, BytesSent) ->
  +    {send_error, Err, BytesSent}.
  +
  +-endif.
  
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, all,
                        BytesSent+size(Bin));
          Err ->
              {send_error, Err, BytesSent} 
      end;
  loop_send(_Fd, _ChunkSize, eof, _Out, _, BytesSent) ->
      {ok, BytesSent};
  