rpc: Add experimental config params to allow for subscription buffer size control (tm v0.34.x) (#7230)

A workaround for #6729. Add parameters to control buffer sizes for
event subscription RPC clients. On some networks, buffering causes
clients to be dropped and/or events to be lost.

For additional context, see the discussion on #7188.

- Add experimental_subscription_buffer_size config parameter
- Add experimental_websocket_write_buffer_size config parameter
- Add experimental_close_on_slow_client config parameter

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
This commit is contained in:
Thane Thomson
2021-11-09 15:35:45 -05:00
committed by GitHub
parent 9ec863f948
commit 12e3419f2b
17 changed files with 101 additions and 10 deletions

View File

@@ -12,7 +12,7 @@ var (
// ErrOutOfCapacity is returned by Err when a client is not pulling messages
// fast enough. Note the client's subscription will be terminated.
ErrOutOfCapacity = errors.New("client is not pulling messages fast enough")
ErrOutOfCapacity = errors.New("internal subscription event buffer is out of capacity")
)
// A Subscription represents a client subscription for a particular query and