Commit Graph

206 Commits

Author SHA1 Message Date
Dirkjan Ochtman 10fa7fc2f0 Apply suggestions from clippy to clean up code 2018-05-16 20:41:18 +02:00
Dirkjan Ochtman 44c8a4cfa6 Store encoded packets in Endpoint's send queue 2018-05-16 20:32:57 +02:00
Dirkjan Ochtman f142ca761c Let Endpoint handle packet encoding 2018-05-16 16:34:50 +02:00
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
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
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
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
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
Dirkjan Ochtman f88bd55e0f Maintain explicit state in Endpoint 2018-05-07 13:09:37 +02:00
Dirkjan Ochtman 1a085dd5ff Implement Debug for Secret 2018-05-07 13:09:20 +02:00
Dirkjan Ochtman 734c1e1e6c Fix decoding of padding frames, add test 2018-05-07 13:01:12 +02:00
Dirkjan Ochtman bc0f0a79af Add basic support for PathChallenge/PathResponse frames 2018-05-07 11:40:50 +02:00
Dirkjan Ochtman bafbb59749 Assert to check payload length in header 2018-05-07 09:48:40 +02:00
Dirkjan Ochtman bcca684176 Rename variable for consistency 2018-05-07 09:47:23 +02:00
Dirkjan Ochtman 0cba76cc3b Encode into byte slices 2018-05-07 09:46:43 +02:00