Commit Graph

271 Commits

Author SHA1 Message Date
Lucas Clemente
b6a2f72b29 implement more cubic sender tests 2016-04-28 12:03:55 +02:00
Marten Seemann
153ff598d9 add command line option which address to bind to 2016-04-28 16:24:43 +07:00
Lucas Clemente
f869be1eb1 implement cubic "exponential slow start" test 2016-04-28 10:34:27 +02:00
Lucas Clemente
2da6f1860e add congestion.Bandwidth 2016-04-28 10:33:58 +02:00
Lucas Clemente
f16d30a20c implement another CubicSender test 2016-04-27 18:17:55 +02:00
Lucas Clemente
991834c5bf change cubic to use PacketNumbers 2016-04-27 18:09:49 +02:00
Lucas Clemente
23b5c6264b fix rtt logging 2016-04-27 18:09:30 +02:00
Lucas Clemente
2b928ed116 add protocol.{Min,Max}ProtocolNumber 2016-04-27 18:09:19 +02:00
Lucas Clemente
85ca2a3245 add rtt stats 2016-04-27 17:20:55 +02:00
Marten Seemann
6a7f331269 implement a StreamFrame Queue to handle high priority StreamFrames for retransmission
fixes #21
2016-04-27 21:05:58 +07:00
Lucas Clemente
c641e24e8c add cubic_sender plus initial test 2016-04-27 15:11:56 +02:00
Marten Seemann
6eeccfd123 retransmit lost packets, send StopWaiting frames 2016-04-27 18:56:21 +07:00
Lucas Clemente
bd67f537c9 add support for receiving BLOCKED frames 2016-04-27 13:02:00 +02:00
Lucas Clemente
0d6642464d remove some debug messages 2016-04-27 12:52:06 +02:00
Lucas Clemente
607ab843d6 close session when crypto stream errors 2016-04-27 12:49:55 +02:00
Marten Seemann
2056960e07 only delete a Packet from history in SentPacketHandler once it has been ACKed 2016-04-27 17:19:54 +07:00
Marten Seemann
2c95141ee1 add Len() and ContainsPacketNumber() to NackRange 2016-04-27 16:04:50 +07:00
Marten Seemann
a4debcac71 implement contiguous NACK frame writing 2016-04-27 15:39:07 +07:00
Marten Seemann
936d34f875 implement contiguous NACK frame parsing 2016-04-27 13:57:28 +07:00
Marten Seemann
67a36870ea check for maximum packet size when packing control frames 2016-04-27 11:40:20 +07:00
Marten Seemann
160db13bdb close the connection on an MapAccess error in SentPacketHandler 2016-04-27 11:34:35 +07:00
Marten Seemann
3f6b228d07 fix splitting of StreamFrames in PacketPacker 2016-04-27 10:09:54 +07:00
Marten Seemann
e4fc732d37 only increase packet number in PacketPacker when actually sending a packet 2016-04-27 09:46:13 +07:00
Marten Seemann
6db8ea285a handle SentPacketHandler errors when sending packets 2016-04-27 09:33:52 +07:00
Lucas Clemente
729505738b add session tests 2016-04-26 22:11:27 +02:00
Lucas Clemente
c5197bf42e fix server test 2016-04-26 19:13:26 +02:00
Lucas Clemente
5d8293716e add includeStreamFrames option to PacketPacker 2016-04-26 19:04:42 +02:00
Lucas Clemente
270b2f0f99 stop session go-routine on Close() 2016-04-26 18:30:51 +02:00
Lucas Clemente
a5a06a25c2 remove udp references from session to simplify testing 2016-04-26 18:30:51 +02:00
Marten Seemann
8339f210cb handle control frames and Stream frames separately in PacketPacker 2016-04-26 23:30:43 +07:00
Marten Seemann
a962c63642 don't queue ACK frames 2016-04-26 22:46:39 +07:00
Marten Seemann
e27d3ea3f8 ReceivedPacketHandler only generates ACKs if packets were received after the last ACK 2016-04-26 22:38:10 +07:00
Lucas Clemente
43a16a8fce add session test for closing with errors 2016-04-26 16:49:11 +02:00
Lucas Clemente
df08f109e7 add support for reading and writing QUIC's ufloat16 2016-04-26 16:47:26 +02:00
Lucas Clemente
83df3be65e close streams when Session.Close() is called 2016-04-26 15:37:52 +02:00
Lucas Clemente
9fc874be53 add newline to crypto error messages 2016-04-26 15:37:52 +02:00
Marten Seemann
4659bf7acb store the payload of sent packets as a slice of Frames 2016-04-26 20:35:30 +07:00
Marten Seemann
eada642cc1 make PacketPacker assemble frames to pack into a Packet 2016-04-26 20:19:09 +07:00
Lucas Clemente
6f38ae3da2 implement handling of RST_STREAM frames
fixes #15
2016-04-26 14:57:34 +02:00
Lucas Clemente
5db81d8874 make stream.Write() return remote errors 2016-04-26 14:41:02 +02:00
Lucas Clemente
b9f37f9618 accept truncated packet numbers 2016-04-26 12:13:23 +02:00
Marten Seemann
f204b088a6 rename frame.MaxLength() to frame.MinLength() 2016-04-26 17:02:00 +07:00
Lucas Clemente
8f221e6eab improve error handling in session 2016-04-26 10:27:11 +02:00
Marten Seemann
7e9f185f79 close connection if the entropy of a received ACK is incorrect 2016-04-26 11:17:16 +07:00
Marten Seemann
c8f48fe5bc ignore duplicate ACK and out-of-order ACK errors in Session 2016-04-26 10:48:14 +07:00
Marten Seemann
b4fae00880 rename IncomingPacketAckHandler to ReceivedPacketHandler 2016-04-26 10:17:18 +07:00
Marten Seemann
0088636798 rename OutgoingPacketAckHandler to SentPacketHandler 2016-04-26 10:07:00 +07:00
Lucas Clemente
ccc6d23a7d fix a number of races and bugs with stream closing 2016-04-25 22:19:02 +02:00
Lucas Clemente
23a1e08e90 make stream private 2016-04-25 17:54:00 +02:00
Marten Seemann
a79f7c4dc6 rewrite of OutgoingPacketAckHandler 2016-04-25 22:43:42 +07:00