This thread is for the proposal at 
https://github.com/grpc/proposal/pull/112.
Full gRFC at 
https://github.com/lidizheng/proposal/blob/master/L42-metadata-flags.md.

The purpose of this gRFC is to enable gRPC Python client to utilize the 
“Wait For Ready” mechanism provided by C-Core, which underlying is to 
utilize the initial metadata flags. This mechanism can later be used to 
support future metadata flags. 

Definition of 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 transmitted promptly. By default, gRPC 
> implementations SHOULD fail such RPCs immediately. This is known as "fail 
> fast," but the 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.
> 
> From https://github.com/grpc/grpc/blob/master/doc/wait-for-ready.md 


Proposal

* Add an optional `wait_for_ready` variable to `MultiCallable` classes 
initialization methods. Default `None`, accept `bool`.
* Per RPC level `wait_for_ready` variable can override upper level.
* Import initial metadata flags constants from `grpc_types.h` to `grpc.pxi`.
* (Suggesting) Add an optional `wait_for_ready` variable to `Channel` class 
initialization method. Default `None`, accept `bool`.


-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/31981f51-f613-4e5b-b484-8d592db61574%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to