anchor.diff:              {ok, S1} = gen_tcp:connect(State#state.host, State#state.port,
                                          [binary, {packet, 4}, {active, false}]),
               ok = gen_tcp:send(S1, Msg),
  -            case gen_tcp:recv(S, 0, 3000) of
  +            case gen_tcp:recv(S, 0, ?TIMEOUT) of
                   {ok, <<Size:32/integer, D:Size/binary>>} ->
                       {reply, {ok, decode_metrics(D, [])}, State};
                   E ->
  
positive.code: handle_call(list, _From, State = #state{socket = S}) ->
      Msg = <<?BUCKETS>>,
      ok = gen_tcp:send(S, Msg),
      case gen_tcp:recv(S, 0, 3000) of
          {ok, <<Size:32/integer, D:Size/binary>>} ->
              {reply, {ok, decode_metrics(D, [])}, State};
          {error, E} ->
  
negative.code: 
  do_list(Bucket, State = #state{socket = S}) ->
      ok = gen_tcp:send(S, <<?LIST, (dproto_tcp:encode_list(Bucket))/binary>>),
      case gen_tcp:recv(S, 0, ?TIMEOUT) of
          {ok, <<Size:32/integer, Reply:Size/binary>>} ->
              Ms = decode_metrics(Reply, []),
              io:format("metrics: ~p~n", [length(Ms)]),
  