in tchannel-core/src/main/java/com/uber/tchannel/handlers/ResponseRouter.java [185:204]
protected void handleResponse(@NotNull ResponseMessage response) {
OutRequest<?> outRequest = this.requestMap.remove(response.getId());
// this may happen when the request times out already
if (outRequest == null) {
response.release();
return;
}
if (response != null) {
// Reset timeout counter if we receive a non-timeout response.
if (!(response.isError() &&
ErrorType.Timeout.equals(((ErrorResponse) response).getErrorType()))) {
timeouts.set(0);
}
response.touch("ResponseRouter.handleResponse(...)");
}
outRequest.handleResponse(response);
}