Package io.grpc
Enum ConnectivityState
- java.lang.Object
-
- java.lang.Enum<ConnectivityState>
-
- io.grpc.ConnectivityState
-
- All Implemented Interfaces:
Serializable
,Comparable<ConnectivityState>
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/4359") public enum ConnectivityState extends Enum<ConnectivityState>
The connectivity states.- See Also:
- more information
-
-
Enum Constant Summary
Enum Constants Enum Constant Description CONNECTING
The channel is trying to establish a connection and is waiting to make progress on one of the steps involved in name resolution, TCP connection establishment or TLS handshake.IDLE
This is the state where the channel is not even trying to create a connection because of a lack of new or pending RPCs.READY
The channel has successfully established a connection all the way through TLS handshake (or equivalent) and all subsequent attempt to communicate have succeeded (or are pending without any known failure ).SHUTDOWN
This channel has started shutting down.TRANSIENT_FAILURE
There has been some transient failure (such as a TCP 3-way handshake timing out or a socket error).
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static ConnectivityState
valueOf(String name)
Returns the enum constant of this type with the specified name.static ConnectivityState[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
CONNECTING
public static final ConnectivityState CONNECTING
The channel is trying to establish a connection and is waiting to make progress on one of the steps involved in name resolution, TCP connection establishment or TLS handshake. This may be used as the initial state for channels upon creation.
-
READY
public static final ConnectivityState READY
The channel has successfully established a connection all the way through TLS handshake (or equivalent) and all subsequent attempt to communicate have succeeded (or are pending without any known failure ).
-
TRANSIENT_FAILURE
public static final ConnectivityState TRANSIENT_FAILURE
There has been some transient failure (such as a TCP 3-way handshake timing out or a socket error). Channels in this state will eventually switch to the CONNECTING state and try to establish a connection again. Since retries are done with exponential backoff, channels that fail to connect will start out spending very little time in this state but as the attempts fail repeatedly, the channel will spend increasingly large amounts of time in this state. For many non-fatal failures (e.g., TCP connection attempts timing out because the server is not yet available), the channel may spend increasingly large amounts of time in this state.
-
IDLE
public static final ConnectivityState IDLE
This is the state where the channel is not even trying to create a connection because of a lack of new or pending RPCs. New RPCs MAY be created in this state. Any attempt to start an RPC on the channel will push the channel out of this state to connecting. When there has been no RPC activity on a channel for a configurable IDLE_TIMEOUT, i.e., no new or pending (active) RPCs for this period, channels that are READY or CONNECTING switch to IDLE. Additionaly, channels that receive a GOAWAY when there are no active or pending RPCs should also switch to IDLE to avoid connection overload at servers that are attempting to shed connections.
-
SHUTDOWN
public static final ConnectivityState SHUTDOWN
This channel has started shutting down. Any new RPCs should fail immediately. Pending RPCs may continue running till the application cancels them. Channels may enter this state either because the application explicitly requested a shutdown or if a non-recoverable error has happened during attempts to connect communicate . (As of 6/12/2015, there are no known errors (while connecting or communicating) that are classified as non-recoverable) Channels that enter this state never leave this state.
-
-
Method Detail
-
values
public static ConnectivityState[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (ConnectivityState c : ConnectivityState.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static ConnectivityState valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
-