Commit graph

6411 commits

Author SHA1 Message Date
Lucas Clemente
a1d0056867 implement handling of STOP_WAITING frames for incoming packets 2016-04-25 12:48:09 +02:00
Marten Seemann
4be2ef710c actually store LargestObserved in OutgoingPacketAckHandler 2016-04-25 17:09:51 +07:00
Marten Seemann
47d7f98383 implement Writing of StopWaitingFrames 2016-04-25 15:38:33 +07:00
Marten Seemann
bf7875426a better test structurve for OutgoingPacketAckHandler 2016-04-25 12:17:49 +07:00
Marten Seemann
c9b01a3785 implemenet OutgoingPacketAckHandler.DequeuePacketForRetransmission(), fix minor error 2016-04-25 11:45:29 +07:00
Marten Seemann
f2eafb7179 pass packet number and packet number length to frames.Write 2016-04-25 11:34:18 +07:00
Marten Seemann
7467e7ebff OutgoingPacketAckHandler queues packets for retransmission 2016-04-24 20:28:37 +07:00
Lucas Clemente
76d4b7a931 implement prr sender 2016-04-24 13:27:01 +02:00
Lucas Clemente
3feb288817 continue hybrid slow start implementation 2016-04-24 12:39:40 +02:00
Lucas Clemente
4806807caa initial hybrid slow start implementation 2016-04-24 12:24:13 +02:00
Lucas Clemente
c72c9336b0 add cubic implementation ported from chrome 2016-04-23 17:22:27 +02:00
Marten Seemann
50d38eac39 fix bug in OutgoingPacketAckHandler entropy calculation for simple ACKs 2016-04-23 10:57:44 +07:00
Marten Seemann
a9c00a4303 add WindowUpdate frame parsing 2016-04-22 19:52:33 +07:00
Marten Seemann
ed244e95a6 use the new AckHandlers in the Session 2016-04-22 19:05:45 +07:00
Marten Seemann
063cd4a7bd calculate entropy when there are NACK ranges 2016-04-22 18:35:19 +07:00
Marten Seemann
3e5f43f45a calculate the Entropy byte for the highest in order received packet 2016-04-22 17:50:04 +07:00
Marten Seemann
aad1fd2ee7 keep track of highest in order received packet number 2016-04-22 17:34:38 +07:00
Marten Seemann
62a844d326 store NackRanges instead of pointers to NackRanges 2016-04-22 17:27:53 +07:00
Marten Seemann
6caf1f74e3 reject duplicate packets and packets with packet number 0 2016-04-22 16:26:12 +07:00
Marten Seemann
07419c25c5 use old AckHandler to fulfil IncomingPacketAckHandler interface 2016-04-22 15:05:55 +07:00
Marten Seemann
9cc161e2f4 validate NACK ranges when receiving an AckFrame 2016-04-22 14:10:22 +07:00
Marten Seemann
df0f4913c8 minor improvement of AckFrame tests 2016-04-22 13:54:03 +07:00
Marten Seemann
4eb088caa6 increase missingReports counter for NACKed packets 2016-04-22 13:15:55 +07:00
Marten Seemann
0fb7038747 calculate expected entropy in seperate function for ReceivedAck 2016-04-22 11:55:44 +07:00
Lucas Clemente
e4bcf6f933 log stream closes 2016-04-21 21:38:21 +02:00
Marten Seemann
bda03de882 ack NACK handling 2016-04-21 23:01:39 +07:00
Lucas Clemente
5cdcaad226 enable server test 2016-04-21 17:03:29 +02:00
Lucas Clemente
1e83ef967e re-add trivial ack handling to session, will be removed later 2016-04-21 17:02:45 +02:00
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