gRPC Wait for Ready Semantics

If an RPC is issued but the channel is in TRANSIENT_FAILURE or SHUTDOWN
states, the RPC is unable to be transmited promptly. By default, gRPC
implementations SHOULD fail such RPCs immediately. This is known as "fail fast,"
but usage of the term is historical. RPCs SHOULD NOT fail as a result of the
channel being in other states (CONNECTING, READY, or IDLE).

gRPC implementations MAY provide a per-RPC option to not fail RPCs as a result
of the channel being in TRANSIENT_FAILURE state. Instead, the implementation
queues the RPCs until the channel is READY. This is known as "wait for ready."
The RPCs SHOULD still fail before READY if there are unrelated reasons, such
as the channel is SHUTDOWN or the RPC's deadline is reached.