Commit Graph

700 Commits

Author SHA1 Message Date
Marten Seemann
ab1db83134 pack QUIC 34 packets with the correct maximum size
fixes #187
2016-06-23 18:23:34 +07:00
Marten Seemann
5e890a8f61 remove EntropyAccumulator from QUIC 34 AckHandler
ref #55
2016-06-23 11:11:52 +07:00
Marten Seemann
4952333ae7 remove entropy from QUIC 34 AckHandler Packet
ref #55
2016-06-23 11:05:12 +07:00
Marten Seemann
9bb8a56b94 remove Entropy from QUIC 34 StopWaitingManager
ref #55
2016-06-23 11:03:31 +07:00
Marten Seemann
b9091ad26c use new AckFrame in ReceivedPacketHandler
ref #55
2016-06-23 10:57:08 +07:00
Marten Seemann
ec75fa2edb use new AckFrame in SentPacketHandler
ref #55
2016-06-23 10:15:39 +07:00
Marten Seemann
9dee97d2f9 copy AckHandler package 2016-06-22 16:33:39 +07:00
Marten Seemann
e6ecb1f40c remove unused GetHighestInOrderPacketNumber method from QUIC 34 ACK frame
ref #182
2016-06-22 16:32:56 +07:00
Marten Seemann
1d412f2af6 check for consistent ACK ranges when writing QUIC 34 ACK frames
ref #182
2016-06-22 15:35:14 +07:00
Marten Seemann
9d3dd34017 correctly parse and write QUIC 34 ACK frames if packet 1 was lost
ref #182
2016-06-22 15:16:53 +07:00
Marten Seemann
eb03ed5334 rename AckHandler package to AckHandlerLegacy 2016-06-21 19:51:26 +07:00
Marten Seemann
288cb9e143 rename AckFrame to AckFrameLegacy 2016-06-21 19:51:26 +07:00
Marten Seemann
c01e16da71 validate parsed ACK ranges from a QUIC 34 ACK frame
ref #182
2016-06-21 19:49:24 +07:00
Marten Seemann
a92bd2bf55 don't write any timestamps in QUIC 34 ACK frames
ref #182
2016-06-21 18:14:30 +07:00
Marten Seemann
193f0dd793 correctly parse QUIC 34 ACK frames without timestamps
ref #182
2016-06-21 18:11:32 +07:00
Marten Seemann
4e183194c1 fix number of ACK blocks for gaps of 254 packets in QUIC 34 ACKs
ref #182
2016-06-21 14:20:21 +07:00
Marten Seemann
74ac98e7a5 calculate MinLength for QUIC 34 ACKs with long ranges of missing packets
ref #182
2016-06-21 14:11:19 +07:00
Marten Seemann
a2aed133b5 implement writing of ACK blocks with large gaps for QUIC 34 ACK frames
ref #182
2016-06-21 14:02:45 +07:00
Marten Seemann
5b0442f7e6 calculate correct MinLength for QUIC 34 ACK frames with ACK ranges
ref #182
2016-06-21 10:13:32 +07:00
Marten Seemann
cc5fe06db9 implement basic writing of ACK blocks for QUIC 34 ACK frames
ref #182
2016-06-21 00:24:44 +07:00
Marten Seemann
c681fd1469 don't panic if an ACK frame has too many NACK ranges 2016-06-20 14:48:21 +07:00
Marten Seemann
433920fc15 calculate correct MinLength of an ACK frame with a contiguous NACK range
fixes #183
2016-06-20 14:43:00 +07:00
Marten Seemann
29029978a0 determine if a QUIC 34 ACK frame reports any missing packets
ref #182
2016-06-20 14:05:20 +07:00
Marten Seemann
b2198505b1 use Go 1.7beta2 for Travis and Appveyor 2016-06-20 13:55:49 +07:00
Marten Seemann
eb2414b085 parse QUIC 34 ACK frames with > 256 packets lost in a row
ref #182
2016-06-20 13:43:40 +07:00
Marten Seemann
963517e7be implement basic ACK block parsing for QUIC 34 ACK frames
ref #182
2016-06-20 11:31:23 +07:00
Marten Seemann
9c5a1cce0e add method to get highest in order ACKed packet number to new ACK frame 2016-06-19 18:53:04 +07:00
Marten Seemann
480ae993df implement basic ACK frame parsing and writing for QUIC 34
ref #182
2016-06-19 16:02:00 +07:00
Marten Seemann
75f9df4edb remove Entropy from StopWaitingFrames for QUIC 34
fixes #181
2016-06-19 13:50:13 +07:00
Marten Seemann
5651a7cfc1 pass QUIC version number to Frame.MinLength
ref #181
2016-06-19 13:43:58 +07:00
Lucas Clemente
c76d438808 fix codecov badge in readme 2016-06-16 22:42:02 +09:00
Marten Seemann
5d02033f0f use FlowControlManager in Stream for Reading data 2016-06-15 19:39:50 +07:00
Marten Seemann
800320ec39 implement basic FlowControlManager 2016-06-15 18:53:54 +07:00
Marten Seemann
37e57c6f05 temporarily disable sending of Blocked frames
ref #172
2016-06-15 12:29:09 +07:00
Marten Seemann
c095261749 limit number of tracked packets in ReceivedPacketHandler
fixes #132
2016-06-11 13:57:54 +07:00
Marten Seemann
459080a6dc fix flaky tests on Travis 2016-06-11 13:24:28 +07:00
Marten Seemann
9aea21f8d6 handle ReceivedPacketHandler errors in Session when handling a packet
ref #132
2016-06-11 11:54:42 +07:00
Marten Seemann
fe45644335 don't write private header for QUIC Version >= 34
ref #55
2016-06-11 11:15:03 +07:00
Marten Seemann
3ba8ec73d8 don't read private header for QUIC Version >= 34
ref #55
2016-06-11 10:44:09 +07:00
Marten Seemann
c063fb1dd3 fix StreamFrameQueue when deleting multiple streams with queued prio frames 2016-06-10 20:14:52 +07:00
Marten Seemann
1c1101de0e remove queued StreamFrames when a Stream is closed with an error
fixes #149
2016-06-10 19:18:51 +07:00
Marten Seemann
b1c27b5eca initialize StreamFrameQueue in Session, not in PacketPacker 2016-06-10 19:06:40 +07:00
Marten Seemann
478e4c95e1 garbage collect deleted streams from scheduler in StreamFrameQueue
fixes #176
2016-06-10 18:50:02 +07:00
Marten Seemann
fecfc171ae add method to remove a stream from the StreamFrameQueue
ref #149
2016-06-10 12:26:20 +07:00
Marten Seemann
581dc8a079 throw a MissingPayload error when unpacking packets with no frames
fixes #175
2016-06-10 10:36:34 +07:00
Marten Seemann
0d46cc1dd4 use flat badges 2016-06-09 16:21:33 +07:00
Marten Seemann
bb7fb42e3f add AppVeyor badge
fixes #174
2016-06-09 12:56:53 +07:00
Marten Seemann
e2d2a43a7f add note about Windows timer resolution with Go 1.6 2016-06-09 12:46:25 +07:00
Marten Seemann
1491bc20f4 fix flaky tests on AppVeyor 2016-06-09 12:24:25 +07:00
Marten Seemann
ec7512d0e6 use AppVeyor for running tests on Windows
ref #174
2016-06-09 11:40:46 +07:00