Commit Graph

81 Commits

Author SHA1 Message Date
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
Marten Seemann
995c020b39 fix StreamID len in StreamFrame TypeByte if len was calculated by MinLength
fixes #166
2016-06-07 13:47:38 +07:00
Marten Seemann
c4c7b78288 correctly parse ACK frames with multiple NACK ranges for version 31 2016-06-06 20:23:41 +07:00
Lucas Clemente
d5aced6e03 small linter & typo fixes 2016-06-06 09:37:17 +02:00
Lucas Clemente
6a46465092 reduce calls to Debugf when not debugging to reduce slice allocs
ref #129
2016-06-04 15:13:46 +02:00
Lucas Clemente
240946dfde replace version number literals with constants to make grepping easier 2016-06-03 11:09:48 +02:00
Marten Seemann
cf382be954 fix int overflow on 32 bit architecture in ACK frame test 2016-06-02 23:25:18 +07:00
Marten Seemann
2f49a9525a add DataLen function to StreamFrame 2016-06-01 09:23:26 +07:00
Lucas Clemente
8fa3e62de9 implement parsing and writing of GOAWAY frames 2016-05-31 19:22:27 +02:00
Lucas Clemente
7c23ba7b07 validate lengths when parsing frames
ref #123
2016-05-27 23:07:29 +02:00
Marten Seemann
758334f6aa move splitting of StreamFrames to StreamFrameQueue
work towards #146
2016-05-26 11:14:38 +07:00
Marten Seemann
c3f8837dfe improve StreamFrame tests 2016-05-23 12:39:02 +07:00
Marten Seemann
33de224ce0 return error empty StreamFrames that don't have the FinBit set 2016-05-22 12:55:21 +07:00
Marten Seemann
55727ecd96 implement writing of RstStreamFrames 2016-05-19 16:39:32 +07:00
Lucas Clemente
7a97f34fac don't panic 🤓
fixes #93
2016-05-18 18:29:42 +02:00
Marten Seemann
f147ebc9bb implement basic connection level flow control
fixes #39
2016-05-18 17:30:08 +07:00
Lucas Clemente
1359c0e49c fix a linter warning 2016-05-17 12:56:33 +02:00
Lucas Clemente
d0e6b993bb use new error codes throughout the server
fixes #86
2016-05-17 12:49:59 +02:00
Lucas Clemente
feebfb8183 speed up tests 2016-05-17 11:31:32 +02:00
Lucas Clemente
bfaa4200df move all error things to new qerr package, replacing errorcodes 2016-05-17 10:38:34 +02:00
Lucas Clemente
69e302812d move ErrorCode type to errorcodes package 2016-05-17 00:25:51 +02:00
Marten Seemann
565f4c9fda support largest observed packet number missing in ACK frames
fixes #63
2016-05-16 21:50:58 +07:00
Marten Seemann
fb6d90b813 cosmetic changes in tests 2016-05-16 18:32:08 +07:00
Lucas Clemente
c12a12518e run gofmt -s on tests 2016-05-15 14:42:34 +02:00
Marten Seemann
540941117e cosmetic changes in tests 2016-05-15 13:08:56 +07:00
Marten Seemann
83f71e379e implement WindowUpdateFrame writing
work towards #19
2016-05-13 00:59:02 +07:00
Marten Seemann
0df44e46e5 shorten LargestObserved in ACK frames
fixes #82
2016-05-12 20:01:23 +07:00
Marten Seemann
3683763dc0 send DelayTime in ACK frames
fixes #81
2016-05-12 17:43:48 +07:00
Marten Seemann
2f6e2c1201 remove PacketNumber from Frame interface Write method 2016-05-12 16:22:08 +07:00
Marten Seemann
33c0f3a5df set LeastUnackedDelta length in StopWaitingFrame
fixes #79
2016-05-12 13:05:42 +07:00
Marten Seemann
aaf4b0ae9e remove PacketNumberLen from Frame interface Write method 2016-05-12 11:22:31 +07:00
Lucas Clemente
8b1009d482 fix ack frame length calculation for version <32 2016-05-11 17:09:39 +02:00
Marten Seemann
41fa096480 add option to write StreamFrames without Data length field
work towards #77
2016-05-11 10:32:18 +07:00
Marten Seemann
bdf53744ac code cleanup in StreamFrame writing 2016-05-11 10:09:29 +07:00
Marten Seemann
4c087c48e4 send shorter offsets in StreamFrames
fixes #75
2016-05-11 10:01:26 +07:00
Marten Seemann
9a99df48a6 send shorter StreamIDs
fixes #74
2016-05-11 01:00:28 +07:00
Marten Seemann
e345270e84 use ByteCount type for Frame, Packet and PublicHeader lengths 2016-05-10 23:40:22 +07:00
Lucas Clemente
a3d77bae33 add support for FEC acks in version 31
fixes #68
2016-05-09 19:57:26 +02:00
Lucas Clemente
14b16a429c add version number to Frame.Write 2016-05-09 19:50:15 +02:00
Marten Seemann
e8ba73f275 introduce PacketNumberLen type 2016-05-09 17:31:12 +07:00
Lucas Clemente
924bf4a999 don't read timestamps in truncated acks
fixes #59
2016-05-08 14:24:35 +02:00
Lucas Clemente
4167442032 add support for receiving truncated acks
fixes #57
2016-05-06 21:06:29 +02:00
Marten Seemann
6556e2f695 use protocol.ByteCount in frames, streams and session 2016-05-05 11:53:10 +07:00
Marten Seemann
01c5d91acc implement PingFrame 2016-05-04 10:16:00 +07:00
Marten Seemann
ce01b5ed30 implement BlockedFrame writing 2016-05-03 14:04:01 +07:00
Marten Seemann
ad467ade58 fix several linter warnings and misspellings 2016-05-02 16:33:32 +07:00
Marten Seemann
8a3b667c38 better debug output for retransmissions 2016-04-30 10:57:10 +07:00