anchor.diff:      {error, empty_stream}.
   
   
  -parse_str(Data, Size) when size(Data) > Size ->
  -    case Data of
  -        <<Cmd:Size/binary, ?CRLF, Rest/binary>> ->
  -            {ok, parse, Cmd, Rest};
  -        _ ->
  -            {error, invalid_input}
  -    end;
  -parse_str(A,B) ->
  -    io:format("A -> ~p B -> ~p ~n", [A, B]),
  +parse_command(Cmd, IntSize) when size(Cmd) > IntSize ->
  +    <<Command:IntSize/binary, ?CRLF, Rest/binary>> = Cmd,
  +    {ok, parse, Command, Rest};
  +parse_command(_, _) ->
       {error, invalid_input}.
  
positive.code: -module(redis).
  
  -define(CRLF, "\r\n").
  
  -export([rsize/1, rlen/1, parse/1]).
  
  
  %%
  
negative.code: 
  parse_multibulk(<<>>, Acc) ->
      {ok, <<>>, Acc};
  parse_multibulk(<<?NL, Rest/binary>>, Acc) ->
      parse_multibulk(Rest, Acc);
  parse_multibulk(<<?TB, Rest/binary>>, Acc) ->
      parse_multibulk(Rest, Acc);
  parse_multibulk(<<"*", Rest/binary>>, Acc) ->
      handle_bulk(multi, Acc, parse_head(Rest, <<>>));
  parse_multibulk(_, _) ->
      {error, protocol_mismatch}.
  
  
  