1gRPC Wait for Ready Semantics
2=============================
3
4If an RPC is issued but the channel is in `TRANSIENT_FAILURE` or `SHUTDOWN`
5states, the RPC is unable to be transmited promptly. By default, gRPC
6implementations SHOULD fail such RPCs immediately. This is known as "fail fast,"
7but usage of the term is historical. RPCs SHOULD NOT fail as a result of the
8channel being in other states (`CONNECTING`, `READY`, or `IDLE`).
9
10gRPC implementations MAY provide a per-RPC option to not fail RPCs as a result
11of the channel being in `TRANSIENT_FAILURE` state. Instead, the implementation
12queues the RPCs until the channel is `READY`. This is known as "wait for ready."
13The RPCs SHOULD still fail before `READY` if there are unrelated reasons, such
14as the channel is `SHUTDOWN` or the RPC's deadline is reached.
15