private void startRequest0(Channel channel, SessionProtocol sessionProtocol, @Nullable SSLSession sslSession, boolean updateAvailability) { startRequest0(channel, sessionProtocol, sslSession, System.nanoTime(), currentTimeMicros(), updateAvailability); }
private void startResponse0(boolean updateAvailability) { startResponse0(System.nanoTime(), currentTimeMicros(), updateAvailability); }
private void endResponse0(@Nullable Throwable responseCause, long responseEndTimeNanos) { final int flags = responseCause == null && responseContentDeferred ? FLAGS_RESPONSE_END_WITHOUT_CONTENT : RESPONSE_END.setterFlags(); if (isAvailable(flags)) { return; } // if the response is not started yet, call startResponse() with responseEndTimeNanos so that // totalResponseDuration will be 0 startResponse0(responseEndTimeNanos, currentTimeMicros(), false); this.responseEndTimeNanos = responseEndTimeNanos; if (this.responseCause == null) { this.responseCause = responseCause; } updateAvailability(flags); }
private void endRequest0(@Nullable Throwable requestCause, long requestEndTimeNanos) { final int flags = requestCause == null && requestContentDeferred ? FLAGS_REQUEST_END_WITHOUT_CONTENT : REQUEST_END.setterFlags(); if (isAvailable(flags)) { return; } // if the request is not started yet, call startRequest() with requestEndTimeNanos so that // totalRequestDuration will be 0 startRequest0(null, context().sessionProtocol(), null, requestEndTimeNanos, currentTimeMicros(), false); this.requestEndTimeNanos = requestEndTimeNanos; this.requestCause = requestCause; updateAvailability(flags); }