Is your feature request related to a problem? Please describe.
A gRPC channel has observable connection states: CONNECTING, READY, TRANSIENT_FAILURE, IDLE, and SHUTDOWN (as per https://grpc.github.io/grpc/core/md_doc_connectivity-semantics-and-api.html). Specifically, the channel's transition from READY to IDLE is governed by the "idle timeout" value of the channel. There's a couple of pieces of documentation from gRPC core that talk about this idle timeout parameter:
We use these low-level transitions to perform specific logic on our domain's connections, and would like to test this specific transition from READY to IDLE (but don't want a test that runs for 5 or 30 minutes).
Describe the solution you'd like
We'd like a publicly-exposed means of adjusting the value of the channel's idle timeout (e.g. a ChannelOptions parameter when initialising the channel).
Describe alternatives you've considered
We've taken a look in the ClientOptions and ChannelOptions in grpc-js, but have had no luck in finding anything that would resolve this problem.
Although, there are the options of keepalive_time_ms and keepalive_timeout_ms. Would it be possible to use these to augment this functionality? Or any other further options that might be useful here?
Additional context
Is your feature request related to a problem? Please describe.
A gRPC channel has observable connection states:
CONNECTING,READY,TRANSIENT_FAILURE,IDLE, andSHUTDOWN(as per https://grpc.github.io/grpc/core/md_doc_connectivity-semantics-and-api.html). Specifically, the channel's transition fromREADYtoIDLEis governed by the "idle timeout" value of the channel. There's a couple of pieces of documentation from gRPC core that talk about this idle timeout parameter:We use these low-level transitions to perform specific logic on our domain's connections, and would like to test this specific transition from
READYtoIDLE(but don't want a test that runs for 5 or 30 minutes).Describe the solution you'd like
We'd like a publicly-exposed means of adjusting the value of the channel's idle timeout (e.g. a
ChannelOptionsparameter when initialising the channel).Describe alternatives you've considered
We've taken a look in the
ClientOptionsandChannelOptionsin grpc-js, but have had no luck in finding anything that would resolve this problem.Although, there are the options of
keepalive_time_msandkeepalive_timeout_ms. Would it be possible to use these to augment this functionality? Or any other further options that might be useful here?Additional context
READYtoIDLEtransition MatrixAI/Polykey#332