Dirkjan Ochtman
5872661b8d
Split up Driver::poll() into manageable parts
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
ef0fb2b869
Pass datagram to Connection as a ConnectionEvent
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
a6fec82b44
Change variable names in Endpoint that match Connection usage
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
5bbaf6d4b4
Tweak formatting for better readability
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
46ad36e34b
Trigger connection forgetting through EndpointEvent
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
149bec5f8c
Handle timer events as ConnectionEvent variants
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
d29f186418
Rename poll_io() and remove unnecessary Io wrapper enum
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
753bddadb2
Retire connection identifiers through EndpointEvent
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
11cf1336a5
Send new connection IDs as a single event
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
b689cfcecd
Use events to communicate from Connection to Endpoint
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
18cfea2145
Keep local CIDs state in Endpoint
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
d28dc2bb64
Move Endpoint-only state from Connection into Endpoint
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
41f7551e10
Leave debugging hint for stupid future me
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
481e7286c7
Return new ConnectionHandle from Endpoint::handle()
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
385fd39411
Clarify connection setup flow
2019-03-23 19:10:36 +01:00
Dirkjan Ochtman
e4bd3f1597
Disable dual-stack IP test for now
2019-03-23 19:10:36 +01:00
Benjamin Saunders
cada5cc194
Update quinn/src/lib.rs
...
Review incorporated
Co-Authored-By: ustulation <ustulation@gmail.com >
2019-03-21 11:10:34 +01:00
ustulation
e468390802
API for obtaining our local endpoint
...
This is especially useful if we were binding to port 0 intending the OS to allocate us a random port. Then we would like to know what port was actually allocated. Besides it's a useful API anyway as it's natural to want to know this detail from a bound socket for completeness.
2019-03-21 11:10:34 +01:00
Benjamin Saunders
0a967f66e2
Relax 0-RTT frame type restrictions
2019-03-15 16:32:35 +01:00
Dirkjan Ochtman
f5b066574a
Move maybe_cleanup() method into Streams
2019-03-06 10:14:45 -08:00
Dirkjan Ochtman
65c3f2c7c6
Let Connection handle stream cleanup if necessary
2019-03-06 10:14:45 -08:00
Benjamin Saunders
27b5dfe541
Account for all UDP datagram bytes in anti-amplification
...
Authentication/correctness is an independent concern. Improves
behavior when coalesced 0-RTT is rejected.
2019-03-05 06:49:15 +01:00
Benjamin Saunders
5a3034b957
Update persistent congestion detection logic
2019-02-28 13:22:09 +01:00
Benjamin Saunders
7da5188ba8
Enable backtraces in CI
2019-02-28 13:17:09 +01:00
Benjamin Saunders
d50edb67fb
Expand ECN support
...
libc's CMSG macros got built out to many more platforms. There may
remain some obscure platforms where this will still fail to build, but
we can account for them as they show up in practice.
2019-02-28 13:17:09 +01:00
Dirkjan Ochtman
92deb61f60
Move Streams type into stream module
2019-02-27 19:13:45 +01:00
Dirkjan Ochtman
694b94a877
Reduce duplication of logic in stream read handling
2019-02-27 19:13:45 +01:00
Dirkjan Ochtman
a22d79d6d2
Don't panic on reads of unknown streams
2019-02-27 19:13:45 +01:00
Benjamin Saunders
53143ad12a
Limit volume of unacked stream data
...
This prevents a memory exhaustion DoS if a peer issues large amounts
of flow control credit without acknowledging stream data.
2019-02-27 09:20:38 +01:00
Benjamin Saunders
1585247830
Reduce send/recv starvation when CPU bound
2019-02-23 20:19:13 +01:00
Benjamin Saunders
7512d17e94
Don't rely on type inference in assert
...
This makes rustc nightly happier.
2019-02-23 19:38:18 +01:00
Benjamin Saunders
f6563b26b9
Ensure cmsg buffer alignment
2019-02-23 19:38:18 +01:00
Benjamin Saunders
feafacbf45
More robust cmsg handling
2019-02-23 19:38:18 +01:00
Benjamin Saunders
cbf87e401f
Fix version negotiation on outgoing connections
2019-02-23 19:33:15 +01:00
Benjamin Saunders
aa8c293f1d
Refactor cmsg write helper
...
Ancillary messages aren't necessarily singular.
2019-02-12 06:12:14 +01:00
Benjamin Saunders
455322e4a5
Fix sending ECN for IPv4 peers on dual-stack sockets
2019-02-12 06:12:14 +01:00
Jean-Christophe BEGUE
663650cca1
Merge pull request #233 from djc/dependabot/cargo/proptest-0.9.1
...
Update proptest requirement from 0.6.0 to 0.9.1
2019-02-11 08:43:14 +01:00
dependabot[bot]
90b5311fff
Update proptest requirement from 0.6.0 to 0.9.1
...
Updates the requirements on [proptest](https://github.com/altsysrq/proptest ) to permit the latest version.
- [Release notes](https://github.com/altsysrq/proptest/releases )
- [Changelog](https://github.com/AltSysrq/proptest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/altsysrq/proptest/commits )
Signed-off-by: dependabot[bot] <support@dependabot.com >
2019-02-11 04:48:21 +00:00
stammw
547fda3d6f
Remove stale proptest dir
2019-02-09 11:15:50 +01:00
stammw
9c1128aa3f
Remove useless assert
2019-02-08 20:33:17 +01:00
stammw
7c1664c86c
Update draft number in ALPNs
2019-02-08 20:33:17 +01:00
stammw
d99f332dd3
Use a separate client for H3 interop test
2019-02-08 20:33:17 +01:00
stammw
f939f8ebe4
H3: StreamType for unidirectional streams
2019-02-08 20:33:17 +01:00
stammw
f874a8dad6
QIF: use max blocked stream in encoding and check validity on decoding
2019-02-08 20:33:17 +01:00
stammw
5561effe56
Simple H3 get for the interop tool
2019-02-08 20:33:17 +01:00
stammw
dafe685995
QPACK: use err_derive for public errors
2019-02-08 20:33:17 +01:00
stammw
2fec389480
QPACK: fix visibilities
2019-02-08 20:33:17 +01:00
stammw
eca2af1604
QPACK: remove dead_code
2019-02-08 20:33:17 +01:00
stammw
550bf55717
QPACK: fix typo
2019-02-08 20:33:17 +01:00
stammw
fd2940c5da
Add jc.begue contributor name
2019-02-08 20:33:17 +01:00