Lucas Clemente
6d5a9b84e5
reject streams with even IDs opened by the client
...
fixes #267
2016-08-18 11:40:27 +02:00
Marten Seemann
1d7cf74e48
always send a StopWaiting with a packet containing a retransmission
...
fixes #259
2016-08-18 15:02:18 +07:00
Marten Seemann
7d05640b24
change AckHandler interfaces to allow forcing a StopWaitingFrame
...
ref #259
2016-08-18 12:45:53 +07:00
Marten Seemann
bca012cbde
handle Frame.Write errors in packet packer
2016-08-17 18:10:23 +07:00
Marten Seemann
88e1e50efe
only increase packet number when sending a packet in PacketPacker
...
fixes #288
2016-08-16 17:07:03 +07:00
Marten Seemann
d23cacaddf
always dequeue a StopWaiting if a packet contains a retransmission
2016-08-16 12:21:31 +07:00
Lucas Clemente
5cb3c0a771
replace ProbablyHasPacketForRetransmission with a call to MaybeQueueRTOs
...
fixes #261
2016-08-15 10:33:50 +02:00
Lucas Clemente
61e06de838
fix session RTO test for version 34
2016-08-15 10:33:50 +02:00
Lucas Clemente
10b847be8e
fix flaky session test
...
fixes #277
2016-08-12 20:22:05 +02:00
Lucas Clemente
805c21cb77
use LeastUnacked in packet number derivation
...
fixes #271
2016-08-10 13:32:36 +02:00
Lucas Clemente
8c5a3dabd6
set RemoteAddr in http request objects
...
fixes #266
2016-08-09 11:50:27 +02:00
Lucas Clemente
aac155a49e
remove test for even stream IDs
...
While the spec demands that clients don't open streams with even IDs, it
doesn't require validation and there are no security implications.
2016-08-08 20:51:57 +02:00
Lucas Clemente
3432a632f0
remove incorrect RST test
2016-08-08 20:51:57 +02:00
Lucas Clemente
02c28c3a59
remove unneeded streamsMap.{Put,Get}Stream
2016-08-08 20:51:57 +02:00
Lucas Clemente
a1e2977f50
handle stream creation in streamsMap, remove streams mutex from session
2016-08-08 20:51:57 +02:00
Marten Seemann
a796877b94
use StreamsMap in Session and StreamFramer
...
fixes #208
2016-08-05 19:30:28 +07:00
Marten Seemann
8b845fada9
make PublicHeader public
2016-08-04 15:45:11 +07:00
Marten Seemann
9b172fe303
fix session tests with version 33
...
fixes #242
2016-08-02 18:27:14 +07:00
Lucas Clemente
0e05534909
improve main package test coverage
...
ref #241
2016-08-02 11:49:25 +02:00
Lucas Clemente
8856304b65
improve flaky session test
2016-07-29 15:14:46 +02:00
Marten Seemann
7604f7927d
send a StopWaiting with every ACK in QUIC 34
...
fixes #185
2016-07-29 18:02:43 +07:00
Lucas Clemente
7ab2eb1b93
improve error message when closing a connection
...
fixes #228
2016-07-29 12:20:01 +02:00
Marten Seemann
2d48210fa0
run Session tests with new AckHandler, minor fixes
...
ref #55
2016-07-29 16:47:14 +07:00
Lucas Clemente
3a88a8cffa
delete flow controllers for closed streams
...
fixes #177
2016-07-28 16:45:55 +02:00
Lucas Clemente
daa328460f
use in-place decryption when unpacking
2016-07-26 18:33:48 +02:00
Lucas Clemente
5f774c8e03
change fcm.SendWindowSize to include conn window to simplify framer
2016-07-26 17:06:54 +02:00
Lucas Clemente
950e59fa3d
add a sync.Pool of byte buffers with maximum packet size as cap
...
ref #217
2016-07-26 15:36:28 +02:00
Lucas Clemente
eb9c23096d
remove outdated test
2016-07-26 13:44:09 +02:00
Lucas Clemente
44acb8ca82
remove session.maybeSendPacket, restrict small frame detection to ACKs
...
ref #217
2016-07-26 13:44:07 +02:00
Lucas Clemente
6f657c02e4
fix some linter warnings
2016-07-26 13:42:30 +02:00
Marten Seemann
03bad0e86b
use the same interface for new and legacy AckHandlers
...
ref #55
2016-07-26 18:31:54 +07:00
Marten Seemann
ef194015de
use wrapped legacy ACK frame
...
ref #55
2016-07-26 12:30:48 +07:00
Marten Seemann
99d22b0908
open new stream when receiving a WindowUpdate for an unknown stream
...
fixes #203
2016-07-25 16:37:27 +07:00
Lucas Clemente
f04d14ac3e
use flow controller for window update handling, remove windowUpdateMgr
2016-07-11 14:54:32 +02:00
Lucas Clemente
91f1eb1561
re-enable BLOCKED frame sending
...
fixes #113 , fixes #172 , fixes #211
2016-07-09 14:37:16 +02:00
Lucas Clemente
87c1a2f004
remove sentPacketHandler from packetPacker
2016-07-08 18:21:46 +02:00
Lucas Clemente
66594f7a8a
fix flaky session tests
...
ref #83
2016-07-08 18:21:45 +02:00
Lucas Clemente
f8130288a3
fix early garbage collection of streams
...
ref #83
2016-07-08 18:21:45 +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
ef9baf67fc
use FlowControlManager in StreamFrameQueue
2016-07-06 10:17:42 +02:00
Marten Seemann
e8e6c8922d
handle stream level flow control in StreamFrameQueue
2016-07-06 10:17:40 +02:00
Marten Seemann
1d358a031f
ignore packets smaller than LeastUnacked of a StopWaiting
...
ref #196
2016-07-03 23:32:08 +08:00
Marten Seemann
8071fda5ee
ignore duplicate packets
...
fixes #197
2016-07-03 23:22:12 +08:00
Marten Seemann
3e604a274d
add tests for receiving packets in Session
...
ref #197
2016-07-03 23:19:07 +08:00
Marten Seemann
1786c952c5
fix duplicate and out-of-order ACK detection in SentPacketHandler
...
fixes #192
2016-06-26 16:15:34 +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
5d02033f0f
use FlowControlManager in Stream for Reading data
2016-06-15 19:39:50 +07:00
Marten Seemann
37e57c6f05
temporarily disable sending of Blocked frames
...
ref #172
2016-06-15 12:29:09 +07:00
Marten Seemann
459080a6dc
fix flaky tests on Travis
2016-06-11 13:24:28 +07:00