Commit graph

33 commits

Author SHA1 Message Date
Marten Seemann
c0b09c8646 make utils an internal package 2017-06-09 22:28:40 +02:00
Marten Seemann
a06abf91f5
fix parsing of STREAM frames that have the FinBit set
fixes #542
2017-04-16 14:52:34 +07:00
Marten Seemann
745d7b7e9f
reject stream frames that overflow the offset
fixes #452
2017-02-27 15:45:32 +07:00
Lucas Clemente
aa645301c6 improve alignment of some structs 2016-09-07 15:45:33 +02:00
Lucas Clemente
313dd5b2fa improve reading of stream frames, increasing transfer speed by ~10% 2016-09-05 00:36:33 +02:00
Marten Seemann
f1da2239ca
don't split off empty StreamFrames in streamFramer
fixes #284
2016-08-17 18:04:33 +07:00
Lucas Clemente
b9abc5b2a1 improve frames coverage and fix a small stream frame parsing bug
ref #241
2016-08-02 13:11:30 +02:00
Lucas Clemente
546ba27013 add an error when attempting to write empty stream frames 2016-07-13 16:12:14 +02:00
Lucas Clemente
37f2066933 remove caching of streamID lengths in StreamFrame
fixes the final failing test of #83
2016-07-08 18:21:46 +02:00
Lucas Clemente
d1e3b541d3 replace streamFrameQueue with just-in-time framing of written data
This commits replaces the stream frame queue with a framer which
requests data from the streams just when a frame is needed by the
packet packer. This simplifies a lot of things and allows some other
refactorings, see issue #83.

There are a few pending tests which will be fixed soon.
2016-07-08 18:21:44 +02: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
2f49a9525a add DataLen function to StreamFrame 2016-06-01 09:23:26 +07: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
33de224ce0 return error empty StreamFrames that don't have the FinBit set 2016-05-22 12:55:21 +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
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
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
Marten Seemann
6556e2f695 use protocol.ByteCount in frames, streams and session 2016-05-05 11:53:10 +07:00
Marten Seemann
f204b088a6 rename frame.MaxLength() to frame.MinLength() 2016-04-26 17:02:00 +07:00
Marten Seemann
f2eafb7179 pass packet number and packet number length to frames.Write 2016-04-25 11:34:18 +07: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
Marten Seemann
66b52e915d introduce StreamID type 2016-04-16 23:54:57 +07:00
Marten Seemann
79ba43bbdb move all frames to separate package 2016-04-16 18:34:16 +07:00
Renamed from stream_frame.go (Browse further)