Commit Graph

633 Commits

Author SHA1 Message Date
Lucas Clemente
49701139cc fix a packet packer race 2016-04-21 17:02:26 +02:00
Lucas Clemente
b17d9a7e55 change public header to correctly state 48bit packet numbers 2016-04-21 17:02:15 +02:00
Lucas Clemente
f513a702fa add more (pending) server tests 2016-04-21 13:48:43 +02:00
Lucas Clemente
71580780d6 add some server tests 2016-04-21 13:48:42 +02:00
Lucas Clemente
fd28921bdd test version negotiation packet 2016-04-21 13:48:42 +02:00
Lucas Clemente
bb3c8b707b fix randomness 2016-04-21 13:48:42 +02:00
Lucas Clemente
b3e88f8019 add tests for packet unpacker and fix a couple of bugs :) 2016-04-21 13:48:42 +02:00
Lucas Clemente
7efc7f79d2 validate that CryptoSetup is an AEAD 2016-04-21 13:48:42 +02:00
Lucas Clemente
eb7d812004 extract packet unpacking from session into packet_unpacker 2016-04-21 13:48:41 +02:00
Lucas Clemente
7a5f5f2306 mock MaxLength for RST_STREAM and STOP_WAITING 2016-04-21 13:48:41 +02:00
Lucas Clemente
3b2d0efea5 simplify session by moving packet packing to separate class 2016-04-21 13:48:41 +02:00
Marten Seemann
e5559d37d3 store the end of the NACK range instead of its length 2016-04-21 18:42:52 +07:00
Marten Seemann
88cd62e7fe add missing test for Entropy calculation 2016-04-21 16:51:07 +07:00
Marten Seemann
9385aac35c ack ACK handling for ACKs without NACKs 2016-04-21 16:36:47 +07:00
Marten Seemann
e18697a5bc calculate the EntropyByte of every sent packet 2016-04-21 16:32:41 +07:00
Marten Seemann
011932f357 better tests for outgoingAckHandler.SendPacket() 2016-04-21 13:06:46 +07:00
Marten Seemann
4b0b8def8d move EntropyAccumulator to AckHandler package 2016-04-21 08:41:54 +07:00
Lucas Clemente
6d9d9a1c29 send packet numbers with 6byte for simpler session tests 2016-04-20 17:13:06 +02:00
Lucas Clemente
2e87459677 implement stream frame splitting in StreamFrame 2016-04-20 16:16:01 +02:00
Lucas Clemente
6be70bc29c add Frame.MaxLength and implement it for currently needed frames 2016-04-20 15:06:10 +02:00
Lucas Clemente
93cea4f5de improve close frame parsing 2016-04-20 14:52:23 +02:00
Marten Seemann
cfb74dbf06 calculate highest in-order ACKed packet from an ACK frame 2016-04-20 19:37:20 +07:00
Marten Seemann
184890cb4a add implementation for SentPacket in OutgoingPacketAckHandler 2016-04-20 18:46:39 +07:00
Marten Seemann
0164feff8f add Packet class 2016-04-20 18:37:55 +07:00
Lucas Clemente
99ae512c51 add more stream tests 2016-04-20 12:20:30 +02:00
Lucas Clemente
650e9d38d3 move nackrange to frames 2016-04-20 12:15:03 +02:00
Lucas Clemente
80e6569d5d add ack handler interfaces 2016-04-20 12:06:52 +02:00
Marten Seemann
c5d66fe5ff check ACK entropy before further handling of the ACK frame 2016-04-20 16:46:44 +07:00
Marten Seemann
c455ae0a05 add support for NACK ranges when writing ACK frames 2016-04-20 11:57:09 +07:00
Marten Seemann
b084faff88 fix reading of multiple-byte missingPacketSequenceNumberDeltas in AckFrame parsing 2016-04-20 11:50:35 +07:00
Marten Seemann
daa0fe86bd replace AckFrame.HasNack by method 2016-04-20 11:45:00 +07:00
Lucas Clemente
1260faba4a handle stream offset properly when receiving data 2016-04-19 23:23:21 +02:00
Marten Seemann
2ca580e73f add basic AckHandler 2016-04-19 20:47:12 +07:00
Marten Seemann
5381bfe220 implement NACK range parsing in ACK frames 2016-04-19 20:40:41 +07:00
Lucas Clemente
83416ab861 remove ack lock message 2016-04-19 15:23:42 +02:00
Lucas Clemente
fbb89f5467 fix content-length handling and multiple writes in http2 responsewriter 2016-04-19 14:35:02 +02:00
Lucas Clemente
f2db542b3f copy data in Stream.Write 2016-04-19 14:34:11 +02:00
Lucas Clemente
7ac043dab7 increase hpack window size to chrome default value 2016-04-19 13:55:49 +02:00
Lucas Clemente
999b4e7b0a only write response header once 2016-04-19 13:55:31 +02:00
Lucas Clemente
4e1942a76e improve inchoate CHLO recognition 2016-04-19 13:37:59 +02:00
Lucas Clemente
9076990cd7 don't use the h2framer's built-in header decoding, it errors with chrome 2016-04-19 12:09:31 +02:00
Lucas Clemente
d6501dc34c only open streams if we have a response body, fixes problems with 404s 2016-04-19 12:02:31 +02:00
Marten Seemann
90cb792477 create a QuicError type 2016-04-19 15:54:18 +07:00
Marten Seemann
600d3805a2 send ConnectionCloseFrame as a response to unhandled frames 2016-04-19 15:12:02 +07:00
Marten Seemann
ec64be840e introduce an ErrorCode 2016-04-19 12:43:16 +07:00
Marten Seemann
30998cef1f always send ACK frames together with Stream frames 2016-04-19 12:18:13 +07:00
Marten Seemann
b52455c3f7 add method to Write ConnectionClose frames 2016-04-19 10:20:48 +07:00
Lucas Clemente
e0f5deedd5 add very basic http handling using the stlib to example server 2016-04-18 21:08:47 +02:00
Lucas Clemente
ec718ffe99 log new connections 2016-04-18 21:07:22 +02:00
Lucas Clemente
673f91ee63 accept NACKs, WINDOW_UPDATEs and BLOCKEDs, but don't handle them yet 2016-04-18 21:07:00 +02:00