anchor.diff:              {error, Reason}
       end.
   
  -recv_binary(#handle{length=L}=H, Length) ->
  -    recv_binary(H, Length, L >= Length).
  -
   recv_binary(#handle{buf=B,start=S,length=L}=H, Length, true) ->
       {ok, binary_part(B,S,Length), H#handle{start = S+Length, length = L-Length}};
   recv_binary(#handle{buf=B,start=S,length=L}=H, Length, false) ->
  
positive.code: 
  -spec recv(handle(),non_neg_integer()|binary:cp(),boolean())
            -> {ok,binary(),handle()}|{error,_}.
  recv(#handle{buf=B,start=S,length=L}=H, 0, _Compress) ->
      {ok, binary_part(B,S,L), H#handle{buf = <<>>, start = 0, length = 0}};
  recv(Handle, Term, false)
    when is_integer(Term) ->
      recv_binary(Handle, Term);
  recv(Handle, Term, false) ->
      recv_text(Handle, Term).
  
  -spec send(handle(),binary(),boolean()) -> {ok,handle()}|{error,_}.
  send(#handle{}=H, Binary, Compress) ->
  
negative.code:     L = [
           {active, false},
           {keepalive, true},
           {mode, binary},
           {packet, raw},
           {packet_size, MaxLength} % TODO
          %{send_timeout, ...}
          %{send_timeout_close, true}
          ],
      case baseline_socket:connect(Address, Port, L, Timeout) of
          {ok, Socket} ->
  