Dirkjan Ochtman
55a5b9599b
Fix formatting with cargo fmt
2018-05-16 16:10:26 +02:00
Dirkjan Ochtman
9e02025f67
Get rid of unused receive queue
2018-05-16 16:10:07 +02:00
Benjamin Saunders
f1e7bd4e54
session resumption
2018-05-16 00:23:57 -07:00
Benjamin Saunders
9e3467c0a2
core: fix underflow on recv of already-read stream frame
2018-05-16 00:20:38 -07:00
Dirkjan Ochtman
4ef5ee5f2e
Add basic Streams object to collect stream interactions
2018-05-15 21:48:27 +02:00
Dirkjan Ochtman
8d31d2a8ab
Hoist creation of transport parameters out of TLS code
2018-05-13 21:46:50 +02:00
Dirkjan Ochtman
7b7aeb5749
Implement Default for transport parameter structs
2018-05-13 21:39:05 +02:00
Dirkjan Ochtman
89b1398bba
Replace DRAFT_11 with QUIC_VERSION
2018-05-13 21:34:17 +02:00
Dirkjan Ochtman
9b7c118da7
Fix value for initial_version in ClientTransportParameters
2018-05-13 21:31:42 +02:00
Dirkjan Ochtman
9f5a4aa597
Move transport parameter types into separate module
2018-05-13 21:30:17 +02:00
Dirkjan Ochtman
b481583476
Store transport parameters from remote
2018-05-13 21:23:14 +02:00
Dirkjan Ochtman
7073e4a1ce
Make src_pn field private
2018-05-13 14:53:11 +02:00
Dirkjan Ochtman
4699ec3c9c
Update to use new rustls QUIC API
2018-05-13 14:52:52 +02:00
Dirkjan Ochtman
e366c59100
Store data for both endpoints in separate struct
2018-05-13 14:13:04 +02:00
Dirkjan Ochtman
d9c0fa9960
Fix formatting with cargo fmt
2018-05-13 14:09:36 +02:00
Dirkjan Ochtman
c036a12fc5
Streamline how server endpoints pick src_cid values
2018-05-13 14:09:30 +02:00
Dirkjan Ochtman
32bb288f69
Convert transport parameter types to internal Codec trait
2018-05-13 13:28:07 +02:00
Benjamin Saunders
af50ca0154
core: fix stream ID fencepost error
2018-05-12 23:25:32 -07:00
Benjamin Saunders
6045f79bd6
core: don't ignore handshake completion ACKs
...
Improves early RTT estimation
2018-05-12 22:35:36 -07:00
Benjamin Saunders
31d35944aa
core: fix high-latency handshakes and related bugs
...
Packets that complete the handshake must be considered implicit
acknowledgement of all outstanding handshake packets, otherwise
retransmitted handshake packets that are not ultimately needed might
never be acknowledged, leading to infinite retransmits until the
congestion window shrinks to unusability.
2018-05-12 16:17:33 -07:00
Benjamin Saunders
15662a3f44
core: refactor tests to support passage of time
2018-05-12 11:02:30 -07:00
Dirkjan Ochtman
946a41af37
Don't error out on Handshake messages without Stream 0
2018-05-12 15:04:16 +02:00
Dirkjan Ochtman
44a7de1808
Use Handshake key for late-arriving Handshake messages
2018-05-12 15:03:35 +02:00
Dirkjan Ochtman
74fe4f77b1
Fix integer width for some transport parameters
2018-05-12 14:56:33 +02:00
Dirkjan Ochtman
5641a67cbc
Actually use check function
2018-05-12 14:37:30 +02:00
Dirkjan Ochtman
bc56d27bba
Allow streams by default
2018-05-12 14:36:58 +02:00
Benjamin Saunders
a4fbb443ea
examples: less monolithic server future
2018-05-11 18:05:38 -07:00
Dirkjan Ochtman
2216273b0d
Store received short packets
2018-05-11 15:10:45 +02:00
Dirkjan Ochtman
ac6b5b7eef
Validate packet type of short packet
2018-05-11 15:07:59 +02:00
Dirkjan Ochtman
30866210cd
Use higher-level endpoint API in tests
2018-05-11 15:07:14 +02:00
Dirkjan Ochtman
4079636e99
Let Endpoint handle packet decoding where possible
2018-05-11 15:03:34 +02:00
Dirkjan Ochtman
8740b7b222
Add comprehensive handle() method to Endpoint
2018-05-11 14:51:41 +02:00
Dirkjan Ochtman
67f02021a9
Make client future more generically usable
2018-05-11 14:37:18 +02:00
Dirkjan Ochtman
7d98846de0
Rely on new match binding mechanics to simplify code
2018-05-11 10:21:53 +02:00
Dirkjan Ochtman
7f90699f94
Reformat with updated toolchain
2018-05-11 10:10:55 +02:00
Benjamin Saunders
e40d241c0d
core: sni accessor
2018-05-11 00:29:42 -07:00
Benjamin Saunders
6160a53625
tokio: update for rustc 1.26
2018-05-11 00:25:27 -07:00
Benjamin Saunders
1078ce9f76
core: fix inadvertent sending of certificate requests
2018-05-11 00:24:21 -07:00
Dirkjan Ochtman
ca49ab8f1b
Use simpler Buf/BufMut methods to handle byte order
2018-05-08 15:28:21 +02:00
Dirkjan Ochtman
38f31287ba
Fix Debug impl for ConnectionId to zero-pad hex formatting
2018-05-08 12:09:42 +02:00
Dirkjan Ochtman
23c03b5114
Fix formatting with cargo fmt
2018-05-08 09:25:22 +02:00
Dirkjan Ochtman
d7f1a03024
Extend test to cover decoding of protected packets
2018-05-08 09:25:11 +02:00
Dirkjan Ochtman
0138147f71
Implement basic support for PING frames
2018-05-08 09:24:11 +02:00
Dirkjan Ochtman
a852b48247
Export separate 1-RTT secrets for client and server
2018-05-08 09:23:47 +02:00
Dirkjan Ochtman
794c1b78fe
Correct encoding of short packet headers
2018-05-07 14:57:31 +02:00
Dirkjan Ochtman
0c5a598cf8
Build packet queue instead of doing strict request-response
2018-05-07 14:57:31 +02:00
Dirkjan Ochtman
d06976f86a
Keep track of stream 0 offsets
2018-05-07 14:04:48 +02:00
Dirkjan Ochtman
02a37af854
Implement basic support for close frames
2018-05-07 13:55:35 +02:00
Dirkjan Ochtman
7c1026b507
Fix formatting with cargo fmt
2018-05-07 13:24:48 +02:00
Dirkjan Ochtman
4400dea713
Add support for responding to PATH_CHALLENGE frames
2018-05-07 13:24:41 +02:00