anchor.diff:  send_read_mode(Sock) ->
   
   
  -tweet_mode(Sock) ->
  +tweet_mode(Sock) -> tweet_mode(Sock, <<>>).
  +
  +tweet_mode(Sock, Prev) ->
       inet:setopts(Sock, [{active, once}]),
       receive
           {tcp, Sock, Data} ->
  +            case split_tweets(<<Prev/binary, Data/binary>>) ->
  +                {[], Rest} -> tweet_mode(Sock, Rest);
  +                {Msgs, Rest} ->
               
  -send(Addr, Msg) ->
  -    gen
  -
  +
  +% Send request to meeqo_inbox to get the key to the message in meeqo_locker.
   read(Inbox, Locker) ->
  -    case gen_server:call(Inbox, read) of
  +    read_inbox(Inbox, Locker, read).
  +
  +read(Inbox, Locker, Addr) ->
  +    read_inbox(Inbox, Locker, {read, Addr).
  +
  +read_inbox(Inbox, Locker, Request) ->
  +    case gen_server:call(Inbox, Request) of
           nil -> <<>>;
           MsgRef when is_reference(MsgRef) ->
               [{MsgRef, Msg}] = ets:lookup(Locker, MsgRef),
  
positive.code:             Msg
      end.
  
  read(Inbox, Locker, Addr) ->
      case gen_server:call(Inbox, {read, Addr}) of
          nil -> <<>>;
          MsgRef when is_reference(MsgRef) ->
              [{MsgRef, Msg}] = ets:lookup(Locker, MsgRef),
              ets:delete(Locker, MsgRef),
              Msg
      end.
  
  decode(read) ->
  
  % Split the bytes in the buffer into different tweets.
  split_tweets(Bin) -> split_tweets(Bin, <<>>, []).
  
negative.code:     case H of
          % 0 is null character, which is used to separate tweets.
          0 ->
              case Part of
                  <<>> -> split_tweets(T, <<>>, Tweets);
                  _ -> split_tweets(T, <<>>, [Part|Tweets])
              end;
          _ ->
              split_tweets(T, <<Part/binary, H>>, Tweets)
      end.
  
  % address(Str) -> {ip(), port()} | error
  % e.g. address("192.168.1.100:8000") -> {{192,168,1,100}, 8000}
  address(Str) ->
      case string:rchr(Str, $:) of
          0 -> error;
          X ->
              A = string:substr(Str, 1, X-1),
              B = string:substr(Str, X+1),
              case inet_parse:address(A) of
                  {ok, Ip} -> 
                      case string:to_integer(B) of
  