Commit Graph

3843 Commits

Author SHA1 Message Date
Marten Seemann
4cfbb2f134 use STREAM frames from the buffer for sending data 2019-09-07 16:31:52 +07:00
Marten Seemann
039d7ae888 Merge pull request #2116 from lucas-clemente/stream-frame-pool
use a STREAM frame buffer for receiving stream data
2019-09-07 16:31:05 +07:00
Marten Seemann
3bb23836f2 Merge pull request #2105 from lucas-clemente/closed-sessions
refactor how packets arriving after a session is closed are handled
2019-09-07 16:27:40 +07:00
Marten Seemann
75932b2dcd Merge pull request #2124 from lucas-clemente/qtls-1.13
use updated qtls based on Go's 1.13 crypto/tls
2019-09-07 11:32:25 +07:00
Marten Seemann
9d37e2a79f use updated qtls based on Go's 1.13 crypto/tls 2019-09-06 11:14:34 +07:00
Marten Seemann
9d92550e4e Merge pull request #2107 from lucas-clemente/fix-sent-frame-logging
fix logging of sent frames
2019-09-05 15:02:14 +07:00
Marten Seemann
7b88d8fdb5 Merge pull request #2112 from lucas-clemente/update-h3-errors
update HTTP/3 errors
2019-09-05 15:01:58 +07:00
Marten Seemann
ce6f5c453f Merge pull request #2115 from lucas-clemente/simplify-server-shutdown
simplify server shutdown
2019-09-05 15:01:38 +07:00
Marten Seemann
01bbb2b1df Merge pull request #2122 from lucas-clemente/serve-multiple-conns
implement serving multiple connections at the same time
2019-09-05 15:01:20 +07:00
Marten Seemann
a1e96b40d2 Merge pull request #2121 from lucas-clemente/remove-http-close-notifier
don't fake-implement the http.CloseNotifier interface
2019-09-05 15:00:28 +07:00
Marten Seemann
3dd3449add Merge pull request #2111 from lucas-clemente/multiplexer-multiple-conns
identify connections by their local addr when adding to the multiplexer
2019-09-05 14:48:17 +07:00
Marten Seemann
ed337ad13b Merge pull request #2119 from lucas-clemente/go-1.13
update for Go 1.13
2019-09-05 14:30:48 +07:00
Marten Seemann
5034cb2708 simplify closing of server session when the server is closed 2019-09-05 13:25:18 +07:00
Marten Seemann
717e6d5c96 implement serving multiple connections at the same time 2019-09-05 13:10:26 +07:00
Marten Seemann
93b1ff8e2c don't fake-implement the http.CloseNotifier interface 2019-09-05 11:47:46 +07:00
Marten Seemann
761b6d50f7 update CIs to Go 1.13 2019-09-05 10:08:55 +07:00
Marten Seemann
305d6e0fbe make the benchmark suite compatible with Go 1.13
Unfortunately, there doesn't seem to be a way to keep the samples flag.
2019-09-05 10:08:51 +07:00
Marten Seemann
ba1bcf6e0c use the STREAM frame buffer for receiving data 2019-09-04 16:58:44 +07:00
Marten Seemann
5ea33cd31e implement a buffer pool for STREAM frames 2019-09-04 16:55:30 +07:00
Marten Seemann
326ec9e16e replace short fragments by longer fragments in the frame sorter 2019-09-04 13:07:55 +07:00
Marten Seemann
f9bbac8b04 update HTTP/3 errors 2019-09-04 12:06:17 +07:00
Marten Seemann
81be522bf3 identify connections by their local addr when adding to the multiplexer 2019-09-04 06:39:27 +07:00
Marten Seemann
d1489e5045 Merge pull request #2104 from lucas-clemente/document-http3-server-close
document that closing a http3.Server created by Serve doesn't close the conn
2019-09-04 05:34:49 +07:00
Marten Seemann
8c89e2e100 Merge pull request #2106 from lucas-clemente/fix-flaky-session-test
fix flaky session test
2019-09-04 04:28:05 +07:00
Marten Seemann
13624d03ed fix logging of sent frames 2019-09-02 18:14:25 +07:00
Marten Seemann
00be928873 fix flaky session test 2019-09-01 14:21:13 +07:00
Marten Seemann
b8c5ed2a14 ignore reordered packets for remote closed sessions 2019-09-01 14:11:44 +07:00
Marten Seemann
22b12f199e replace locally closed sessions with a dedicated closed session 2019-09-01 13:59:44 +07:00
Marten Seemann
d689f9a392 Merge pull request #2098 from lucas-clemente/fix-crypto-setup-close-deadlock
fix deadlock when the crypto setup is closed while qtls writes messages
2019-09-01 11:17:42 +07:00
Marten Seemann
564bd6b7ba document that closing a http3.Server created by Serve doesn't close conn 2019-09-01 11:15:01 +07:00
Marten Seemann
bcac555574 Merge pull request #2096 from lucas-clemente/stream-retransmissions
handle retransmissions for STREAM frames at each stream
2019-08-31 17:59:19 +07:00
Marten Seemann
3550aea322 Merge pull request #2099 from lucas-clemente/stateless-reset-size
rework stateless reset size
2019-08-31 17:40:09 +07:00
Marten Seemann
94ab4e8d24 cancel retransmissions for streams that were reset 2019-08-31 17:37:20 +07:00
Marten Seemann
f49451ce3c queue lost STREAM frames in the stream's retransmission queue 2019-08-31 17:36:16 +07:00
Marten Seemann
3525a51ada add an OnAcked callback to ackhandler.Frames 2019-08-31 17:34:54 +07:00
Marten Seemann
0edb3f2b93 return ackhandler.Frames from sendStream.popStreamFrame 2019-08-31 17:34:54 +07:00
Marten Seemann
e622207822 assemble ackhandler.Frames, not wire.Frames, when packing a packet 2019-08-31 17:34:54 +07:00
Marten Seemann
93d5d15e3b implement a STREAM frame retransmission queue in the sendStream 2019-08-31 17:34:54 +07:00
Marten Seemann
dd6e8a7424 Merge pull request #2095 from lucas-clemente/frame-retransmisions
retransmit frames, not packets
2019-08-31 17:34:10 +07:00
Marten Seemann
ab65e39c3b Merge pull request #2091 from lucas-clemente/request-cancelation
implement HTTP request cancelations
2019-08-31 17:32:25 +07:00
Marten Seemann
1a6d2ad0bd Merge pull request #2090 from lucas-clemente/h3-alpn-handling
rework H3 ALPN handling
2019-08-31 17:32:12 +07:00
Marten Seemann
b8c89bc905 Merge pull request #2092 from lucas-clemente/max-ack-delay-overflow
handle negative max_ack_delay values in the transport parameters
2019-08-31 17:13:40 +07:00
Marten Seemann
0063b1e945 Merge pull request #2061 from lucas-clemente/fix-ack-delay-with-non-monotonic-clock
make sure that the ACK delay time is always a positive value
2019-08-31 17:10:28 +07:00
Marten Seemann
7cd671bb8e Merge pull request #2100 from lucas-clemente/increase-early-data-handshake-timeout
increase the handshake timeout in the early data integration test
2019-08-31 17:04:35 +07:00
Marten Seemann
e35d845335 Merge pull request #2101 from lucas-clemente/stop-sending-error-code
copy error code from the STOP_SENDING frame to the RESET_STREAM frame
2019-08-31 17:04:08 +07:00
Marten Seemann
2836442a65 copy error code from the STOP_SENDING frame to the RESET_STREAM frame 2019-08-31 12:51:02 +07:00
Marten Seemann
709c0dbb7e increase the handshake timeout in the early data integration test 2019-08-31 12:41:42 +07:00
Marten Seemann
d02fd5178a adjust the minimum size for stateless resets to the new header format 2019-08-31 12:33:53 +07:00
Marten Seemann
96db15c836 accept smaller stateless resets 2019-08-31 12:31:41 +07:00
Marten Seemann
e224768e46 fix deadlock when the crypto setup is closed while qtls writes messages 2019-08-31 11:59:44 +07:00