Commit Graph

8 Commits

Author SHA1 Message Date
Lijun Wang f10ef763dc
Time out async sends to avoid slackers stuck in the queue for too long (#28545)
* Time out async sends to avoid slackers stuck in the queue for too long

* Fixed a clippy error

* Added stats for timeout counts

* Link with stats correctly
2022-10-31 13:46:45 -07:00
Lijun Wang 03f4204297 Check the boundary condition correctly. 2022-10-19 16:46:36 -07:00
Lijun Wang ab85ab7a5b handle semaphore locally without impacting the interface 2022-10-19 16:46:36 -07:00
Lijun Wang 5fbbad991e FMT code 2022-10-19 16:46:36 -07:00
Lijun Wang 8a269246ac Limit the number async tasks spawned to the runtime to avoid congestions. 2022-10-19 16:46:36 -07:00
Lijun Wang a8d5731e5b Give the quic client and server thread the names 2022-10-06 16:55:21 -07:00
Tyera Eulberg 10db560278
Add TpuConnectionCache and begin disentangling quic and udp (#28080)
* Add new empty crates and tpu_connection_cache module

* Add BaseTpuConnection trait and impl for udp and quic

* Add ConnectionPool trait and impl for udp and quic (quic-client doesn't build)

* Add a couple quic-specific apis to QuicConfig (from ConnectionCache)

* Re-export quic- and udp-client modules to prep for move

* Move ConnectionCacheStats to new module

* Move consts

* Duplicate ConnectionCache into tpu_connection_cache (doesn't build)

* Move methods to QuicConfig and remove unneeded methods (doesn't build)

* Genericize new ConnectionCache

* Rename new struct

* Copy unit tests (tests don't build)

* Fixup unit tests

* Move quic-specific test to quic-client crate

* DRY by using ConnectionPool method

* Prevent evicting pool about to be used
2022-09-30 19:51:50 -06:00
Tyera Eulberg c24eaa36f8
Split up solana-client (#27246)
* Move thin-client to new crate

* Move tpu client and varieties to new crate

* Move pubsub-client to new crate

* Move rpc-client to new crate

* Add client-common crate to avoid circular dependencies

* Move rpc_cache and make less pub

* Remove unused unpub modules

* Add nonce-client

* Remove unused dependencies

* Fix rpc_client docs

* Move spinner to calling clients

* Rename client-common to rpc-client-api

* Remove unnecessary rpc_ prefix

* Remove unused ClientErrorKind variant

* Remove unnecessary Client prefix

* Move mod declarations into lib.rs and remove unnecessary files

* Rename nonce-client and remove redundant module name

* Restore mock_sender_for_cli in solana-client
2022-08-24 05:34:35 +00:00