Commit Graph

2212 Commits

Author SHA1 Message Date
Marten Seemann
2c83c9e3f0 don't send STOP_WAITING frames (for IETF QUIC) 2017-12-14 23:14:05 +07:00
Marten Seemann
93e99e239c Merge pull request #1030 from lucas-clemente/fix-1029
when the stream write deadline expires, return the data length written
2017-12-14 23:13:44 +07:00
Marten Seemann
bb093d82f1 Merge pull request #1025 from lucas-clemente/fix-964
ignore STOP_WAITINGs, derive lower bound for packets to include in ACK
2017-12-14 19:38:28 +07:00
Marten Seemann
34ad9f9e63 when the stream write deadline expires, return the data length written 2017-12-14 19:25:36 +07:00
Marten Seemann
8e0060c51b ignore STOP_WAITINGs, derive lower bound for packets to include in ACK 2017-12-14 19:23:06 +07:00
Marten Seemann
448928fc63 Merge pull request #1028 from lucas-clemente/fix-986
add the offset to the BLOCKED and STREAM_BLOCKED frames
2017-12-14 19:21:05 +07:00
Marten Seemann
00edfb7461 set the offset in BLOCKED and STREAM_BLOCKED frames 2017-12-14 19:04:17 +07:00
Marten Seemann
69998c19cb add the offset field to the BLOCKED and STREAM_BLOCKED frames
The value is not yet set, but parsing and writing works.
2017-12-14 19:00:06 +07:00
Marten Seemann
acdfd28452 Merge pull request #1023 from lucas-clemente/stream-closeabruptly
rename stream.Cancel to stream.CloseForShutdown
2017-12-14 17:45:06 +07:00
Marten Seemann
8c5741ae79 rename stream.Cancel to stream.CloseForShutdown 2017-12-14 17:30:44 +07:00
Marten Seemann
d28f09837e Merge pull request #1015 from lucas-clemente/rename-stream-methods
pass RST_STREAM and MAX_STREAM_DATA directly to the stream
2017-12-14 17:20:51 +07:00
Marten Seemann
03977c1a25 pass RST_STREAM frames directly to the stream 2017-12-14 17:00:41 +07:00
Marten Seemann
2d31440510 pass MAX_STREAM_DATA frames directly to the stream 2017-12-14 16:50:47 +07:00
Marten Seemann
823098d6e2 rename stream.AddStreamFrame to stream.HandleStreamFrame 2017-12-14 16:50:47 +07:00
Marten Seemann
8833e4f4af use a gomock ReceivedPacketHandler in the session tests 2017-12-14 12:28:40 +07:00
Marten Seemann
5c7fb54445 use a gomock SentPacketHandler in the session tests 2017-12-14 12:28:40 +07:00
Marten Seemann
975e45d2e1 Merge pull request #1022 from lucas-clemente/queue-rststreamframe-directly
directly queue RST_STREAM frames on stream.Reset
2017-12-14 08:55:45 +07:00
Marten Seemann
c78cc973bd Merge pull request #1021 from lucas-clemente/fix-1020
fix race condition when queueing RST_STREAM frames
2017-12-14 08:54:51 +07:00
Marten Seemann
98325959c6 Merge pull request #1024 from lucas-clemente/stop-sending-frame
implement parsing and writing of the STOP_SENDING frame
2017-12-14 08:36:57 +07:00
Marten Seemann
a6e44f3bfc implement parsing and writing of the STOP_SENDING frame 2017-12-13 17:58:50 +07:00
Marten Seemann
bd77f3081c directly queue RST_STREAM frames on stream.Reset 2017-12-13 17:40:46 +07:00
Marten Seemann
c1559be957 fix race condition when queueing RST_STREAM frames 2017-12-13 17:35:34 +07:00
Marten Seemann
3679c56f7e Merge pull request #969 from lucas-clemente/bundle-retransmittable-packet
bundle PING frame with other frames
2017-12-12 23:29:26 +07:00
Marten Seemann
a25249547f Merge pull request #1019 from lucas-clemente/fix-concurrent-streams-test
fix concurrent streams integration test
2017-12-12 23:11:50 +07:00
Marten Seemann
8e1f62f749 when forcing a retransmittable packet, bundle the PING with other frames
We're sending a retransmittable packet every 20 packets (if there are no
other frames to send). To make a packet retransmittable, we add a PING
frame. We should bundle this PING with an ACK.
2017-12-12 23:10:43 +07:00
Marten Seemann
84ea38c243 fix concurrent streams integration test
This test actually never worked. stream.Write blocks until the data has
been sent out, so we never opened the maximum number of concurrent
streams.
2017-12-12 22:58:23 +07:00
Marten Seemann
3cf3df9c9a Merge pull request #1013 from lucas-clemente/stream-pop-streamframes
simplify the stream by directly popping STREAM frames from it
2017-12-12 19:05:47 +07:00
Marten Seemann
73ab97aa95 simplify the stream by directly popping STREAM frames from it 2017-12-12 18:48:08 +07:00
Marten Seemann
b75e1df4f0 Merge pull request #1011 from lucas-clemente/crypto-stream-is-special
remove unneeded function from the crypto stream interface
2017-12-12 18:40:12 +07:00
Marten Seemann
7fd0157e1f Merge pull request #1006 from lucas-clemente/more-window-updates
decrease the threshold to send MAX_{STREAM}_DATA frames
2017-12-12 18:30:55 +07:00
Marten Seemann
cd5e7ae177 remove unneeded function from the crypto stream interface 2017-12-12 18:30:08 +07:00
Marten Seemann
3d47284e1c Merge pull request #1007 from lucas-clemente/min-streamframe-size
don't add more STREAM frames to a packet if remaining size is too small
2017-12-12 18:22:23 +07:00
Marten Seemann
16d610417b don't send every MAX_{STREAM}_DATA twice 2017-12-12 18:06:55 +07:00
Marten Seemann
eb3e253be2 send MAX_{STREAM}_DATA frames more frequently
WINDOW_UPDATEs are relatively small, and it doesn't cost much to grant
the peer more flow control credit earlier.
2017-12-12 18:06:49 +07:00
Marten Seemann
4aca4d64b7 don't add more STREAM frames to a packet if remaining size is too small 2017-12-12 18:00:05 +07:00
Marten Seemann
9b4cdf66fc Merge pull request #1009 from lucas-clemente/fix-1008
correctly handle frames for the crypto stream
2017-12-12 17:56:49 +07:00
Marten Seemann
bf53bf8815 Merge pull request #1016 from lucas-clemente/remove-frame-minlength-error
remove the error return value from wire.Frame.MinLength
2017-12-12 17:50:45 +07:00
Marten Seemann
dfa2181657 reject RST_STREAM frames for the crypto stream 2017-12-12 17:37:15 +07:00
Marten Seemann
81e13e52fd reject STREAM frames that would close the crypto stream 2017-12-12 17:37:15 +07:00
Marten Seemann
5a36a287de handle MAX_STREAM_DATA frames for the crypto stream 2017-12-12 17:36:59 +07:00
Marten Seemann
4b4e487486 remove the error return value from wire.Frame.MinLength
No functional change expected.
The error was only non-nil if some required values for the STOP_WAITING
frame were not set. It should be sufficient to throw an error when
attempting to write an invalid STOP_WAITING frame.
2017-12-12 17:33:04 +07:00
Marten Seemann
ded0eb4f6f Merge pull request #1018 from lucas-clemente/milestone-0.6
release 0.6.0
v0.6.0
2017-12-12 17:29:19 +07:00
Marten Seemann
e8d9de0e79 release 0.6.0 2017-12-12 17:03:43 +07:00
Marten Seemann
5f5ba2c02f Merge pull request #1010 from lucas-clemente/simplify-frame-handling
simplify frame handling
2017-12-12 16:44:35 +07:00
Marten Seemann
632040bd2b Merge pull request #1001 from lucas-clemente/min-packet-size
implement the minimum packet size requirements
2017-12-12 16:37:53 +07:00
Marten Seemann
51c5cc46d8 remove the internal error for RST_STREAM frames for closed streams 2017-12-10 23:34:09 +07:00
Marten Seemann
ba4e980876 remove the internal error for MAX_STREAM_DATA frames for closed streams 2017-12-10 23:29:01 +07:00
Marten Seemann
489ea7fa1a Merge pull request #997 from lucas-clemente/stream-refactoring
refactor sending of stream data
2017-12-08 22:55:42 +07:00
Marten Seemann
7e627d38ea Merge pull request #999 from lucas-clemente/reject-version-0
reject packets with version 0 sent by the client
2017-12-08 22:54:08 +07:00
Marten Seemann
aa1d541fbd Merge pull request #1000 from lucas-clemente/remove-getbyteorder
remove unused utils.GetByteOrder
2017-12-08 22:53:32 +07:00