Benjamin Saunders
fffc513624
Suppress noisy inapplicable advisory
2022-01-02 20:44:13 +01:00
Benjamin Saunders
d58177fac7
Delete dead code
2022-01-02 20:44:13 +01:00
Benjamin Saunders
2117e1fec5
Privatize VarInt::size
...
This method isn't useful for converting between VarInts and regular
integers, and hence serves no purpose in the public API.
2022-01-02 20:44:13 +01:00
Benjamin Saunders
369573482a
Revert "Tolerate wide IP_TOS cmsgs"
...
This has only been observed on WSL1, which is obsolete and not worth
supporting.
This reverts commit 91dd91fa99 .
2022-01-01 21:36:29 +01:00
Benjamin Saunders
f91f74610c
Update example README output samples
2022-01-01 21:36:29 +01:00
Benjamin Saunders
91dd91fa99
Tolerate wide IP_TOS cmsgs
2021-12-29 07:40:15 +01:00
Benjamin Saunders
b2c24d957a
Drop futures-util dep from benchmarking tools
2021-12-29 07:34:22 +01:00
Benjamin Saunders
af93954604
Remove futures-util dependency from quinn-udp
2021-12-29 07:34:22 +01:00
Benjamin Saunders
19b58cc948
Drop futures-util dev-dependency
...
This wasn't serving any purpose we couldn't more readably accomplish
with async/await.
2021-12-29 07:34:22 +01:00
Benjamin Saunders
510e6789df
Make futures-core dependency optional
...
This was only used to implement Stream, which we don't actually need.
2021-12-29 07:34:22 +01:00
Benjamin Saunders
943c4dfe75
Add inherent async fn next to Datagrams stream
...
Establishes symmetry with our other async streams, making it usable
without importing a trait from futures-core.
2021-12-29 07:34:22 +01:00
Benjamin Saunders
8e40311837
Replace futures-channel with tokio::sync
...
We're already using tokio::sync for Notify, so this drops a dep for
free.
2021-12-29 07:34:22 +01:00
Benjamin Saunders
48ed425ddf
Add missing feature for tokio::sync::Notify
2021-12-29 07:34:22 +01:00
Benjamin Saunders
4f0f77a20d
Fix many_connections test
...
This was calling `Endpoint::connect_with` outside of a tokio runtime
context.
2021-12-29 07:34:22 +01:00
Benjamin Saunders
e39f3f68fc
Replace Broadcast helper with tokio::sync::Notify
...
Drops a chunk of complex and under-audited synchronization code in
favor of a similar, better-tested and more efficient primitive from
tokio.
2021-12-23 10:56:36 +01:00
Benjamin Saunders
fab202d56e
Factor out common stream open logic
2021-12-23 10:56:36 +01:00
Benjamin Saunders
f734781873
Inline single-use stream opening futures
2021-12-23 10:56:36 +01:00
Benjamin Saunders
2cfe7fa15e
Use async fn for opening streams
2021-12-23 10:56:36 +01:00
Benjamin Saunders
785cdee93e
Standardize on async fn for I/O methods
2021-12-21 21:51:23 +01:00
Benjamin Saunders
59c7a68f7a
Replace unexported futures with async fn
...
This makes for much more readable docs (as the return type is visible)
and is more forwards-compatible and less cluttery than reexporting the
futures by name.
2021-12-21 21:51:23 +01:00
Benjamin Saunders
2cff9e1eb9
Reexport UnknownStream
...
This occurs in the public API of Send/RecvStream.
2021-12-21 21:50:05 +01:00
Benjamin Saunders
646be16090
Move UnknownStream error to connection module
...
This is relevant to send streams as well, so a more common location
seems appropriate.
2021-12-21 21:50:05 +01:00
Benjamin Saunders
4e0f7c5c54
Don't depend on futures-io by default
2021-12-21 07:03:27 +01:00
Benjamin Saunders
af0dc3d949
Replace futures-util with futures-io
2021-12-21 07:03:27 +01:00
Benjamin Saunders
7ed94be3e4
Provide inherent next methods on streams
...
Allows for convenient use in async blocks by downstream code without a
futures_util dependency.
2021-12-21 07:03:27 +01:00
Benjamin Saunders
8d7d9451d0
Make futures-util dependency optional
2021-12-21 07:03:27 +01:00
Benjamin Saunders
644ca88efd
Remove futures_util::future::poll_fn use
...
This is our last hard dep on futures_util, and not too difficult to do
by hand.
2021-12-21 07:03:27 +01:00
Benjamin Saunders
0a118f7116
Remove StreamExt::poll_next_unpin uses
...
It's simple enough to Pin::new ourselves.
2021-12-21 07:03:27 +01:00
Benjamin Saunders
9e959174d9
Use Stream directly from futures_core
2021-12-21 07:03:27 +01:00
Benjamin Saunders
c83479b57c
Remove FutureExt::poll_unpin uses
...
It's simple enough to Pin::new ourselves.
2021-12-21 07:03:27 +01:00
Benjamin Saunders
11c58608c2
Vendor "ready" macro
2021-12-21 07:03:27 +01:00
Dirkjan Ochtman
ee6bbf1d2a
Fix clippy suggestions from 1.57
2021-12-10 10:29:12 -08:00
Benjamin Saunders
5822ff3781
Fix ALPN misconfiguration in example
...
Introduced by a copy-paste error in
9daaa15da2
2021-12-10 10:16:53 +01:00
Benjamin Saunders
20e49e466b
Remove obsolete comment
2021-11-28 13:31:50 -08:00
Benjamin Saunders
7d8dea7747
Delete dead reexport
2021-11-28 13:31:50 -08:00
Benjamin Saunders
00c4aada68
Fix missing default-features = false in quinn-udp
2021-11-28 13:31:50 -08:00
Benjamin Saunders
a9aafec720
Fix quinn build w/ no default features
...
EndpointConfig::default is only provided by proto when ring is
available.
2021-11-28 13:31:50 -08:00
Matthias Einwag
721cc1bc59
Add additional metrics for lost packets and bytes
...
These are a bit more explicit than just tracking congestion events, since a
congestion event can cover multiple packets.
The total amount of sent packets is now also logged, in order for applications
to calculate the relative amount of packet loss. The amount of packets can
be different from the amount of datagrams in case of coalesced packets.
2021-11-25 21:41:37 -08:00
Benjamin Saunders
7dddfc196a
Use config to reject connections rather than extra state
2021-11-24 18:18:48 +01:00
Benjamin Saunders
fcba74f929
Replace fxhash with rustc_hash, its successor
2021-11-22 01:30:47 +01:00
Benjamin Saunders
4b0daad5ce
Factor out ACK-eliciting frame test
2021-11-20 15:12:16 -08:00
Benjamin Saunders
a2fe103f4b
Only send ACKs when they've changed
...
Saves a great deal of redundancy when transmitting bulk data, and
gives the receiver less work to do. If an ACK is lost, we'll
necessarily retransmit it, because packets are only deemed lost when
an ACK is received from the peer which does not cover them.
2021-11-20 15:12:16 -08:00
BiagioFesta
f8ae355575
Make pub visibility for RttEstimator used by pub trait Congestion
2021-11-19 11:49:58 -08:00
Max Davitt
b4c0405b80
Simplify quinn crate entry point link
2021-11-16 12:24:41 -08:00
Max Davitt
de592877cf
Adjust link to quinn crate entry point in docs
2021-11-16 12:24:41 -08:00
Benjamin Saunders
fc691a8d97
Remove unnecessary dependency
2021-11-15 06:51:45 +01:00
Dirkjan Ochtman
48b33cdf4e
Bump version numbers for 0.8.0 release
0.8.0
2021-11-14 12:51:41 -08:00
Benjamin Saunders
9a769f29ed
Remove obsolete HTTP feature note
2021-11-11 07:37:50 +01:00
Dirkjan Ochtman
d902b143ba
Allocate a single local CID
2021-11-10 14:19:08 -08:00
Dirkjan Ochtman
d9beb088f5
Sort Endpoint::add_connection() below handle_first_packet()
...
Also apply some trivial style tweaks.
2021-11-10 14:19:08 -08:00