QuicConnectionImpl and manages
the idle timeout of the QUIC connection
| Modifier and Type | Class and Description |
|---|---|
| pack-priv class | |
| pack-priv class | |
| pack-priv class | |
| pack-priv abstract class |
| Modifier and Type | Field and Description |
|---|---|
| private boolean | |
| private final QuicConnectionImpl | |
| private final Logger | |
| private final ReentrantLock | |
| private final AtomicLong | |
| private IdleTimeoutManager. | |
| private volatile long | |
| private long | |
| private static final long | |
| private IdleTimeoutManager. | |
| private final AtomicBoolean | |
| private final ReentrantLock | |
| private IdleTimeoutManager. | |
| private final AtomicReference |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv void | |
| private void | |
| private long | |
| private static void | |
| pack-priv Optional | Returns: the idle timeout in milliseconds or emptyReturns the idle timeout duration, in milliseconds, negotiated for the connection represented
by this |
| private void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| private void | |
| pack-priv void | |
| pack-priv void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private TimeLine | |
| pack-priv boolean | Returns: true if the connection has been successfully reserved. false otherwise; in which case the connection must not be handed out from the pool.Attempts to notify the idle connection management that this connection should be considered "in use". |
| chosenForIdleTermination | back to summary |
|---|---|
| private boolean chosenForIdleTermination | |
| connection | back to summary |
|---|---|
| private final QuicConnectionImpl connection | |
| debug | back to summary |
|---|---|
| private final Logger debug | |
| idleTerminationLock | back to summary |
|---|---|
| private final ReentrantLock idleTerminationLock | |
| idleTimeoutDurationMs | back to summary |
|---|---|
| private final AtomicLong idleTimeoutDurationMs | |
| idleTimeoutEvent | back to summary |
|---|---|
| private IdleTimeoutManager. | |
| lastPacketActivityNanos | back to summary |
|---|---|
| private volatile long lastPacketActivityNanos | |
| lastUsageReservationNanos | back to summary |
|---|---|
| private long lastUsageReservationNanos | |
| NO_IDLE_TIMEOUT | back to summary |
|---|---|
| private static final long NO_IDLE_TIMEOUT | |
| pingEvent | back to summary |
|---|---|
| private IdleTimeoutManager. | |
| shutdown | back to summary |
|---|---|
| private final AtomicBoolean shutdown | |
| stateLock | back to summary |
|---|---|
| private final ReentrantLock stateLock | |
| streamDataBlockedEvent | back to summary |
|---|---|
| private IdleTimeoutManager. | |
| trafficGenerationCheck | back to summary |
|---|---|
| private final AtomicReference<Supplier<Boolean>> trafficGenerationCheck | |
| IdleTimeoutManager | back to summary |
|---|---|
| pack-priv IdleTimeoutManager(final QuicConnectionImpl connection) | |
| appLayerMaxIdle | back to summary |
|---|---|
| pack-priv void appLayerMaxIdle(final Duration maxIdle, final Supplier<Boolean> trafficGenerationCheck) | |
| checkUpdateIdleTimeout | back to summary |
|---|---|
| private void checkUpdateIdleTimeout(final long newIdleTimeoutMillis) | |
| computeInactivityMillis | back to summary |
|---|---|
| private long computeInactivityMillis() | |
| disableTimedEvent | back to summary |
|---|---|
| private static void disableTimedEvent(final QuicTimerQueue timer, final IdleTimeoutManager. | |
| getIdleTimeout | back to summary |
|---|---|
| pack-priv Optional Returns the idle timeout duration, in milliseconds, negotiated for the connection represented
by this | |
| idleTimedOut | back to summary |
|---|---|
| private void idleTimedOut() | |
| localIdleTimeout | back to summary |
|---|---|
| pack-priv void localIdleTimeout(final long timeoutMillis) | |
| markActive | back to summary |
|---|---|
| pack-priv void markActive() | |
| peerIdleTimeout | back to summary |
|---|---|
| pack-priv void peerIdleTimeout(final long timeoutMillis) | |
| requireSuccessfulHandshake | back to summary |
|---|---|
| private void requireSuccessfulHandshake() | |
| shutdown | back to summary |
|---|---|
| pack-priv void shutdown() | |
| start | back to summary |
|---|---|
| pack-priv void start() Starts the idle timeout management for the connection. This should be called after the handshake is complete for the connection.
| |
| startIdleTerminationTimer | back to summary |
|---|---|
| private void startIdleTerminationTimer() | |
| startPingTimer | back to summary |
|---|---|
| private void startPingTimer() | |
| startStreamDataBlockedTimer | back to summary |
|---|---|
| private void startStreamDataBlockedTimer() | |
| stopIdleTerminationTimer | back to summary |
|---|---|
| private void stopIdleTerminationTimer() | |
| stopPingTimer | back to summary |
|---|---|
| private void stopPingTimer() | |
| stopStreamDataBlockedTimer | back to summary |
|---|---|
| private void stopStreamDataBlockedTimer() | |
| timeLine | back to summary |
|---|---|
| private TimeLine timeLine() | |
| tryReserveForUse | back to summary |
|---|---|
| pack-priv boolean tryReserveForUse() Attempts to notify the idle connection management that this connection should be considered "in use". This way the idle connection management doesn't close this connection during the time the connection is handed out from the pool and any new stream created on that connection.
| |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public Deadline | handle()
Implements abstract jdk. Implements jdk. Handles the triggered event. |
| private Deadline | |
| private void | |
| public String |
| IdleTimeoutEvent | back to summary |
|---|---|
| private IdleTimeoutEvent(final Deadline deadline) | |
| handle | back to summary |
|---|---|
| public Deadline handle() Implements abstract jdk. Implements jdk. Doc from jdk. Handles the triggered event.
Returns a new deadline, if the event needs to be
rescheduled, or
| |
| maybePostponeDeadline | back to summary |
|---|---|
| private Deadline maybePostponeDeadline(final long expectedIdleDurationMs) | |
| terminateNow | back to summary |
|---|---|
| private void terminateNow() | |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Doc from java. Returns a string representation of the object.
Satisfying this method's contract implies a non-
| |
| Modifier and Type | Field and Description |
|---|---|
| private final long | |
| private final long |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public Deadline | handle()
Implements abstract jdk. Implements jdk. Handles the triggered event. |
| private boolean | |
| public String |
| idleTimeoutNanos | back to summary |
|---|---|
| private final long idleTimeoutNanos | |
| pingFrequencyNanos | back to summary |
|---|---|
| private final long pingFrequencyNanos | |
| PingEvent | back to summary |
|---|---|
| private PingEvent(final Deadline deadline, final long pingFrequencyMillis) | |
| handle | back to summary |
|---|---|
| public Deadline handle() Implements abstract jdk. Implements jdk. Doc from jdk. Handles the triggered event.
Returns a new deadline, if the event needs to be
rescheduled, or
| |
| shouldInitiateAppLayerCheck | back to summary |
|---|---|
| private boolean shouldInitiateAppLayerCheck() | |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Doc from java. Returns a string representation of the object.
Satisfying this method's contract implies a non-
| |
| Modifier and Type | Field and Description |
|---|---|
| private final long |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public Deadline | handle()
Implements abstract jdk. Implements jdk. Handles the triggered event. |
| public String |
| timeoutMillis | back to summary |
|---|---|
| private final long timeoutMillis | |
| StreamDataBlockedEvent | back to summary |
|---|---|
| private StreamDataBlockedEvent(final Deadline deadline, final long timeoutMillis) | |
| handle | back to summary |
|---|---|
| public Deadline handle() Implements abstract jdk. Implements jdk. Doc from jdk. Handles the triggered event.
Returns a new deadline, if the event needs to be
rescheduled, or
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Doc from java. Returns a string representation of the object.
Satisfying this method's contract implies a non-
| |
| Modifier and Type | Field and Description |
|---|---|
| protected volatile Deadline | |
| protected final long | |
| protected volatile Deadline |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public final Deadline | deadline()
Implements jdk. Returns the deadline at which the event should be triggered,
or |
| public final long | eventId()
Implements jdk. An event id, obtained at construction time from
|
| public abstract Deadline | |
| public final Deadline | refreshDeadline()
Implements jdk. Called to cause an event to refresh its deadline. |
| deadline | back to summary |
|---|---|
| protected volatile Deadline deadline | |
| eventId | back to summary |
|---|---|
| protected final long eventId | |
| nextDeadline | back to summary |
|---|---|
| protected volatile Deadline nextDeadline | |
| TimedEvent | back to summary |
|---|---|
| private TimedEvent(final Deadline deadline) | |
| deadline | back to summary |
|---|---|
| public final Deadline deadline() Implements jdk. Doc from jdk. Returns the deadline at which the event should be triggered,
or
| |
| eventId | back to summary |
|---|---|
| public final long eventId() Implements jdk. Doc from jdk. An event id, obtained at construction time from
| |
| handle | back to summary |
|---|---|
| public abstract Deadline handle() Redeclares jdk. Doc from jdk. Handles the triggered event.
Returns a new deadline, if the event needs to be
rescheduled, or
| |
| refreshDeadline | back to summary |
|---|---|
| public final Deadline refreshDeadline() Implements jdk. Doc from jdk. Called to cause an event to refresh its deadline.
This method is called by the
| |