quinn
quinn copied to clipboard
Async-friendly QUIC implementation in Rust
`Connection::poll_transmit` allocates and immediately returns a `Vec`. There's no reason it couldn't instead take a `&mut [MaybeUninit]` or similar, giving the caller much greater flexibility to reduce allocations/copies, particularly when...
I understand from the IETF draft that a server is not supposed to change IP address/port except for migrating to a preferred address at connection setup. Nevertheless in an p2p...
If the peer acknowledges a sufficiently large segment of data in the middle of a stream, but has not acknowledged data prior to it, we should act to free the...
rustls `ClientConfig` and `ServerConfig` structs are consumed by quinn-proto's public API, but cannot be constructed by a caller without additionally depending upon rustls. This is an ergonomic wart, and could...
The docs specify incoming streams as being "in the order they were opened". Intuitively I'd expect this to be the order in which `open_uni`/`open_bi` were called, but it's actually the...
In addition to diagnostic convenience, this ensures a blocked connection won't time out.
Quinn presently uses randomized connection IDs and a stateless reset key set at startup. Stateless reset tokens are no longer secret once used, so if an on-path attacker is able...
quinn-proto is difficult to use, and one of the reasons is that there is no example code provided outside of its own test cases.
Is it possible to avoid using unbounded channels? My attempts to do so have lead to intermittent deadlocks that I have not successfully been able to debug.
Would it be possible for `quinn_proto` to support `#![no_std]`?