solana/quic-client/src
mergify[bot] 4f8cf99e8e
v2.0: Fix broken parallelism in quic-client (backport of #2526) (#3709)
Fix broken parallelism in quic-client (#2526)

* Fix broken parallelism in quic-client

Fixes excessive fragmentation by TPU clients leading to a large
number of streams per conn in 'sending' state simultaneously.
This, in turn, requires excessive in-memory buffering server-side
to reassemble fragmented transactions.

- Simplifies QuicClient::send_batch to enqueue send operations
  in sequential order
- Removes the "max_parallel_streams" config option

The quic-client now produces an ordered fragment stream when
scheduling send operations from a single-thread.

* quic-client: remove outdated test

---------

Co-authored-by: Richard Patel <ripatel@jumptrading.com>
Co-authored-by: Alessandro Decina <alessandro.d@gmail.com>
(cherry picked from commit 76cbf1a91c)

Co-authored-by: ripatel-fd <ripatel+git@jumptrading.com>
2024-11-21 12:46:14 +11:00
..
nonblocking v2.0: Fix broken parallelism in quic-client (backport of #2526) (#3709) 2024-11-21 12:46:14 +11:00
lib.rs v2.0: Fix broken parallelism in quic-client (backport of #2526) (#3709) 2024-11-21 12:46:14 +11:00
quic_client.rs Rename and uniquify QUIC thread names (#28) 2024-03-05 12:09:17 -06:00