Package io.grpc.internal
Class MaxConnectionIdleManager
- java.lang.Object
-
- io.grpc.internal.MaxConnectionIdleManager
-
public final class MaxConnectionIdleManager extends java.lang.ObjectMonitors connection idle time; shutdowns the connection if the max connection idle is reached.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceMaxConnectionIdleManager.Ticker
-
Field Summary
Fields Modifier and Type Field Description private booleanisActiveprivate longmaxConnectionIdleInNanosprivate longnextIdleMonitorTimeprivate java.util.concurrent.ScheduledExecutorServiceschedulerprivate booleanshutdownDelayedprivate java.util.concurrent.ScheduledFuture<?>shutdownFutureprivate java.lang.RunnableshutdownTaskprivate static MaxConnectionIdleManager.TickersystemTickerprivate MaxConnectionIdleManager.Tickerticker
-
Constructor Summary
Constructors Constructor Description MaxConnectionIdleManager(long maxConnectionIdleInNanos)MaxConnectionIdleManager(long maxConnectionIdleInNanos, MaxConnectionIdleManager.Ticker ticker)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidonTransportActive()There are outstanding RPCs on the transport.voidonTransportIdle()There are no outstanding RPCs on the transport.voidonTransportTermination()Transport is being terminated.voidstart(java.lang.Runnable closeJob, java.util.concurrent.ScheduledExecutorService scheduler)Start the initial scheduled shutdown given the transport status reaches max connection idle.
-
-
-
Field Detail
-
systemTicker
private static final MaxConnectionIdleManager.Ticker systemTicker
-
maxConnectionIdleInNanos
private final long maxConnectionIdleInNanos
-
ticker
private final MaxConnectionIdleManager.Ticker ticker
-
shutdownFuture
@CheckForNull private java.util.concurrent.ScheduledFuture<?> shutdownFuture
-
shutdownTask
private java.lang.Runnable shutdownTask
-
scheduler
private java.util.concurrent.ScheduledExecutorService scheduler
-
nextIdleMonitorTime
private long nextIdleMonitorTime
-
shutdownDelayed
private boolean shutdownDelayed
-
isActive
private boolean isActive
-
-
Constructor Detail
-
MaxConnectionIdleManager
public MaxConnectionIdleManager(long maxConnectionIdleInNanos)
-
MaxConnectionIdleManager
public MaxConnectionIdleManager(long maxConnectionIdleInNanos, MaxConnectionIdleManager.Ticker ticker)
-
-
Method Detail
-
start
public void start(java.lang.Runnable closeJob, java.util.concurrent.ScheduledExecutorService scheduler)Start the initial scheduled shutdown given the transport status reaches max connection idle.- Parameters:
closeJob- Closes the connection by sending GO_AWAY with status code NO_ERROR and ASCII debug data max_idle and then doing the graceful connection termination.
-
onTransportActive
public void onTransportActive()
There are outstanding RPCs on the transport.
-
onTransportIdle
public void onTransportIdle()
There are no outstanding RPCs on the transport.
-
onTransportTermination
public void onTransportTermination()
Transport is being terminated.
-
-