Commit Graph

1076 Commits

Author SHA1 Message Date
evolix1 f1cbda807b Remove unused bit_field crate 2019-02-08 20:33:17 +01:00
evolix1 8f0228355f Add duplication of field in table 2019-02-08 20:33:17 +01:00
evolix1 318d2d430b Add insertion of field without ref 2019-02-08 20:33:17 +01:00
evolix1 71b7069055 Test error cases around field insertion with ref to table 2019-02-08 20:33:17 +01:00
evolix1 508f20206e Add dynamic field insertion
* Handle encoder stream field insertion with name reference
* Suppose relative index is same as absolute index
* Use bytes instead of string in field
2019-02-08 20:33:17 +01:00
evolix1 cbc1da26f1 Read HPACK string (no huffman coding) 2019-02-08 20:33:17 +01:00
evolix1 890776a93a Add decoder structure
* Decode one type of message from stream
* Refractor parser to be content agnostic
2019-02-08 20:33:17 +01:00
evolix1 6d8d8cd81c Remove unecessary trait 2019-02-08 20:33:17 +01:00
evolix1 b33d0b7203 Remove unecessary struct 2019-02-08 20:33:17 +01:00
evolix1 e5bd802b42 Move qpack to http 2019-02-08 20:33:17 +01:00
evolix1 53757a41b9 Add parser for reading binary value in QPACK 2019-02-08 20:33:17 +01:00
evolix1 d43a86af24 Add static table for header fields 2019-02-08 20:33:17 +01:00
evolix1 23371294c0 Use Cow to prepare for static table 2019-02-08 20:33:17 +01:00
evolix1 9e6ee3e646 Moved qpack into module 2019-02-08 20:33:17 +01:00
evolix1 6f3196aed8 Dynamic table management for QPACK 2019-02-08 20:33:17 +01:00
Dirkjan Ochtman 174b3f49eb Assorted clippy fixes 2019-02-07 15:11:31 -08:00
Benjamin Saunders 6331d4bcde Skip draining period on idle timeout 2019-02-07 07:02:46 +01:00
Benjamin Saunders 9e80bed884 Bound handshake retransmit backoff 2019-02-07 07:02:46 +01:00
Benjamin Saunders 3b8e8d14f5 Update version to draft 18 2019-02-07 07:02:46 +01:00
Benjamin Saunders b27eb99e38 Implement keep-alive timer 2019-02-05 11:38:10 +01:00
Benjamin Saunders 44cb7f6739 Extract timer count constant 2019-02-05 11:38:10 +01:00
Benjamin Saunders fc4240c08f Treat all PINGs and PATH_RESPONSE as ack-eliciting 2019-02-05 11:38:10 +01:00
Benjamin Saunders 6cb4b49f89 Compute negotiated idle timeout up front 2019-02-05 11:38:10 +01:00
Dirkjan Ochtman 2e373c154e Hoist MAX_PTO_EXPONENT out to module scope 2019-02-05 09:58:18 +01:00
Dirkjan Ochtman f4fcd6dc80 Use Duration for RttEstimator 2019-02-05 09:58:18 +01:00
Dirkjan Ochtman 5df68a21a1 Use Instant and Duration for timing 2019-02-05 09:58:18 +01:00
Dirkjan Ochtman 4c083ee915 Use Option instead of sentinel values for time values 2019-02-05 09:58:18 +01:00
Benjamin Saunders 273b7322dd Fix code duplication 2019-02-05 09:58:18 +01:00
Benjamin Saunders be801edd10 Fix incomplete stream state reset on 0-RTT rejection 2019-02-05 06:51:12 +01:00
Dirkjan Ochtman 47bc2886c2 Improve reason descriptions for TLS errors 2019-01-30 02:14:32 -08:00
Dirkjan Ochtman eb01d30be0 Turn HeaderCrypto into a trait 2019-01-30 02:14:32 -08:00
Dirkjan Ochtman 891db4c51d Privatize some parts of the Crypto API 2019-01-30 02:14:32 -08:00
Dirkjan Ochtman d2796a2926 Move early_data_accepted() handling into CryptoSession API 2019-01-30 02:14:32 -08:00
Dirkjan Ochtman 2e0ee41aea Replace TLSError with TransportError in CryptoSession interface 2019-01-30 02:14:32 -08:00
Dirkjan Ochtman ee19ea7c8c Only extract early Crypto once 2019-01-30 02:14:32 -08:00
Dirkjan Ochtman e3347954e4 Hide 0-RTT Crypto creation behind CryptoSession interface 2019-01-30 02:14:32 -08:00
Benjamin Saunders c4fe6b38fa Fix packet number used as timestamp 2019-01-30 07:06:07 +01:00
Benjamin Saunders ecaecab5d0 Style tweak 2019-01-30 07:06:07 +01:00
Benjamin Saunders cad3da1b09 Strengthen flow control tests 2019-01-29 07:22:37 +01:00
Benjamin Saunders aea40cfafe Fix Frame::Stream type accessor 2019-01-29 07:22:37 +01:00
Benjamin Saunders 15de1a933a Add some useful testing options to the example client 2019-01-29 07:22:37 +01:00
Benjamin Saunders 316f965f99 Test rebinding in interop tool 2019-01-29 07:22:37 +01:00
Benjamin Saunders cff075c785 Prioritize retransmitted stream/handshake data 2019-01-29 07:22:37 +01:00
Benjamin Saunders 32369976be Improve logging 2019-01-29 07:22:37 +01:00
Benjamin Saunders f65264c270 Improve logging 2019-01-27 07:19:47 +01:00
Benjamin Saunders 2039d7b928 Handle interop testing vs. IP addrs 2019-01-27 07:19:47 +01:00
Benjamin Saunders e98e5622fc Report StreamReadable when reading is unblocked, not every frame 2019-01-27 07:19:47 +01:00
Benjamin Saunders f623b76b60 Simplify finished stream reporting 2019-01-27 07:19:47 +01:00
Benjamin Saunders 6e9621c9d7 Test zero-length CIDs 2019-01-27 07:19:47 +01:00
Benjamin Saunders 97d093ff17 Add missing cleanup
This was harmless, but best to be consistent.
2019-01-27 07:19:47 +01:00