Commit Graph

8 Commits

Author SHA1 Message Date
Pankaj Garg 4ad32eb412
Perform QUIC handshake asynchronously to allow parallel handshakes (#26043)
* Perform QUIC handshake asynchronously to allow parallel handhskaes

* address comments

* update cargo.lock

* change sleep to 1ms
2022-06-21 23:22:11 +00:00
Lijun Wang 61946a49c3
Weight concurrent streams by stake (#25993)
Weight concurrent streams by stake for staked nodes
Ported changes from #25056 after address merge conflicts and some refactoring
2022-06-21 12:06:44 -07:00
ryleung-solana 84a1aae555
Fix incorrect total connection table size in the quic server when removing multiple connections with the same IP:Port (#26073)
* Fix incorrect total connection table size in the quic server when removing multiple connections with the same IP:Port
2022-06-21 15:13:35 +08:00
Jon Cinque 061dc5322a
streamer: Add nonblocking quic server (#25806) 2022-06-07 18:22:46 +02:00
behzad nouri 5dbf7d8f91
removes raw indexing into packet data (#25554)
Packets are at the boundary of the system where, vast majority of the
time, they are received from an untrusted source. Raw indexing into the
data buffer can open attack vectors if the offsets are invalid.
Validating offsets beforehand is verbose and error prone.

The commit updates Packet::data() api to take a SliceIndex and always to
return an Option. The call-sites are so forced to explicitly handle the
case where the offsets are invalid.
2022-06-03 01:05:06 +00:00
behzad nouri 880684565c
limits read access into Packet data to Packet.meta.size (#25484)
Bytes past Packet.meta.size are not valid to read from.

The commit makes the buffer field private and instead provides two
methods:
* Packet::data() which returns an immutable reference to the underlying
  buffer up to Packet.meta.size. The rest of the buffer is not valid to
  read from.
* Packet::buffer_mut() which returns a mutable reference to the entirety
  of the underlying buffer to write into. The caller is responsible to
  update Packet.meta.size after writing to the buffer.
2022-05-25 16:52:54 +00:00
behzad nouri c248fb3f51
renames Packet Meta::{,set_}addr methods to {,set_}socket_addr (#25478)
In order to distinguish between Meta.addr field which is an IpAddr and
the methods which refer to a SocketAddr.
2022-05-23 15:48:59 +00:00
Jon Cinque a5792885ca
streamer: Add nonblocking versions of sendmmsg / recvmmsg (#25415) 2022-05-20 22:40:40 +02:00