anchor.diff:            pool_name,
             froms,
             froms_len,
  +          froms_limit,
             workers,
             workers_queue
            }).
  
positive.code:         retry_later ->
              Queue = State#tcp_state.froms,
              Len = State#tcp_state.froms_len,
              {noreply, State#tcp_state{froms = queue:in({From, Transaction}, froms_len = Len + 1, Queue)}};
  
          {ok, Worker, NewState} ->
              Reply = Transaction(Worker),
  
negative.code:             Timer = erlang:start_timer(Timeout, self(), {checkout_timeout, From}),
              Queue = State#tcp_state.froms,
              Len = State#tcp_state.froms_len,
              Limit = State#tcp_state.froms_limit,
              case Len of
                  Limit ->
                      ?inc(?CONN_TCP_ERRORS),
                      ErrorMsg = hive_error_utils:format("Hive TCP Connector ~s's request queue is full.",
                                                         [State#tcp_state.pool_name]),
                      lager:error(ErrorMsg),
                      {reply, {error, {tcp_error, ErrorMsg}}, State};
  
                  _Otherwise ->
                      {noreply, State#tcp_state{froms = queue:in({From, Timer}, Queue), froms_len = Len + 1}}
              end;
  
          {ok, Worker, NewState} ->
              {reply, {ok, Worker}, NewState};
  