Commit Graph

2820 Commits

Author SHA1 Message Date
Marten Seemann
defafec71e use retransmissions as TLP packets 2018-08-09 22:28:28 +07:00
Marten Seemann
bd23e1651d Merge pull request #1472 from lucas-clemente/fix-spurious-loss-detection-alarm
don't do anything when OnAlarm is called, but no packets are outstanding
2018-08-09 22:27:18 +07:00
Marten Seemann
ada085dffb Merge pull request #1464 from lucas-clemente/multiplexing
multiplex server and client on the same packet conn
2018-08-08 18:38:12 +07:00
Marten Seemann
83cb7cbe2e add an integration test multiplexing server and client on the same conn 2018-08-08 17:34:08 +07:00
Marten Seemann
5358831604 don't do anything when OnAlarm is called, but no packets are outstanding
When all outstanding are acknowledged, the alarm is canceled in
updateLossDetectionAlarm. This doesn't reset the timer in the session
though. When OnAlarm is called, we therefore need to make sure that
there are actually packets outstanding.
2018-08-08 15:40:36 +07:00
Marten Seemann
b5d03d24a5 close the packet conn when a server created with ListenAddr is closed 2018-08-08 10:03:22 +07:00
Marten Seemann
ad5a3e2fa0 also use the multiplexer for the server 2018-08-08 10:03:22 +07:00
Marten Seemann
c8d20e86d7 move listening from the multiplexer to the packet handler map 2018-08-08 10:03:20 +07:00
Marten Seemann
7e2adfe19d rename the clientMultiplexer to connMultiplexer 2018-08-08 09:49:49 +07:00
Marten Seemann
a654e7600a move cutting of packets at the payload length to the multiplexer 2018-08-08 09:49:12 +07:00
Marten Seemann
90e8d6cbeb Merge pull request #1467 from lucas-clemente/fix-1457
close connections created by DialAddr when the session is closed
2018-08-08 09:47:41 +07:00
Marten Seemann
cfa55f91bc close connections created by DialAddr when the session is closed 2018-08-08 08:45:47 +07:00
Marten Seemann
61fb67096f Merge pull request #1468 from lucas-clemente/fix-rtos
correctly set the largestSentBeforeRTO for spurious RTO detection
2018-08-08 08:44:11 +07:00
Marten Seemann
1bdc8cfe19 Merge pull request #1466 from lucas-clemente/fix-populating-client-config
fix populating the client config when dialing an address
2018-08-08 08:43:50 +07:00
Marten Seemann
2b1dce4b37 Merge pull request #1465 from lucas-clemente/fix-public-reset-logging
fix logging of the connection ID for PUBLIC_RESETs
2018-08-08 08:43:27 +07:00
Marten Seemann
a2733eac09 Merge pull request #1469 from lucas-clemente/log-keep-alives
log keep alive packets
2018-08-08 08:43:11 +07:00
Marten Seemann
1ecce9c288 log keep alive packets 2018-08-07 18:38:08 +07:00
Marten Seemann
d95dc29d90 only set the largestSentBeforeRTO when sending the first RTO 2018-08-07 12:34:45 +07:00
Marten Seemann
31f2ef7d32 add some useful logging for the sentPacketHandler OnAlarm function 2018-08-07 12:34:39 +07:00
Marten Seemann
e265abb8cb fix populating the client config when dialing an address 2018-08-06 16:15:09 +07:00
Marten Seemann
1472d2a143 fix logging of the connection ID for PUBLIC_RESETs 2018-08-03 10:41:10 +07:00
Marten Seemann
e3959f4998 Merge pull request #1462 from lucas-clemente/vendor-everything
vendor aes12, quic-go-certificates and golang-lru
2018-07-31 13:26:02 +07:00
Marten Seemann
1730ad4a15 Merge pull request #1461 from lucas-clemente/fix-blocked-sending
only send BLOCKED frames if there is more data to send
2018-07-30 06:59:49 -04:00
Marten Seemann
7117a85cfa vendor aes12, quic-go-certificates and golang-lru 2018-07-30 12:30:55 +07:00
Marten Seemann
50397a979c only send BLOCKED frames if there is more data to send 2018-07-30 05:06:11 +07:00
Marten Seemann
fc87fbd354 Merge pull request #1456 from lucas-clemente/ack-ecn
implement parsing of ACK_ECN frames
2018-07-29 06:52:52 -04:00
Marten Seemann
3d087d522c implement parsing of ACK_ECN frames 2018-07-29 17:35:31 +07:00
Marten Seemann
6f0a027f0f Merge pull request #1442 from lucas-clemente/error-handling
split the session close method
2018-07-06 16:16:49 +07:00
Marten Seemann
469c4232b6 add a Changelog entry 2018-07-06 15:52:48 +07:00
Marten Seemann
6d3d6dc47d pass an error code to Session.CloseWithError 2018-07-06 15:51:38 +07:00
Marten Seemann
8b2992a243 split the Session.Close(error) in Close() and CloseWithError(error) 2018-07-06 15:51:35 +07:00
Marten Seemann
2bc5b7f532 Merge pull request #1445 from lucas-clemente/fix-1444
fix race condition when adding packet handlers to the multiplexer
2018-07-06 15:29:34 +07:00
Marten Seemann
17a1d7ce5d Merge pull request #1446 from lucas-clemente/remove-unused-null-aead
remove unused nullAEAD struct in the quic package
2018-07-06 15:29:00 +07:00
Marten Seemann
24c5023dd0 remove unused nullAEAD struct in the quic package 2018-07-06 13:17:04 +07:00
Marten Seemann
8b9662924f fix race condition when adding packet handlers to the multiplexer 2018-07-06 12:03:54 +07:00
Marten Seemann
e7f2c49198 Merge pull request #1441 from lucas-clemente/reuse-multiplexer
also use the multiplexer when dialing an address
2018-07-04 23:53:55 +07:00
Marten Seemann
595c396dc6 refactor packet handling in the multiplexer 2018-07-04 12:11:16 +07:00
Marten Seemann
f806f9146b also use the multiplexer when dialing an address 2018-07-04 10:38:40 +07:00
Marten Seemann
d24fb4b86d Merge pull request #1430 from lucas-clemente/conn-id-integration-test
add an integration test using different connection ID lengths
2018-07-03 19:40:54 +07:00
Marten Seemann
748bb42a21 add an integration test using different connection ID lengths 2018-07-03 18:58:40 +07:00
Marten Seemann
4d827a64d3 Merge pull request #1427 from lucas-clemente/connection-id-len
make the connection ID length configurable
2018-07-03 18:58:08 +07:00
Marten Seemann
f02dc92a32 make the connection ID length configurable 2018-07-03 18:34:31 +07:00
Marten Seemann
73f7636537 use a random length destination connection ID on the Initial packet
The destination connection ID on the Initial packet must be at least 8
bytes long. By using all valid values, we make sure that the everything
works correctly. The server chooses a new connection ID with the Retry
or Handshake packet it sends, so the overhead of this is negligible.
2018-07-03 18:01:41 +07:00
Marten Seemann
0bd7e744ff implement parsing of headers with different connection ID lengths 2018-07-03 18:01:41 +07:00
Marten Seemann
b26eb2705f Merge pull request #1436 from lucas-clemente/remove-closed-clients
remove closed clients from the multiplexer
2018-07-03 18:00:16 +07:00
Marten Seemann
b682af20cf add some more tests for the client multiplexer 2018-07-03 17:30:51 +07:00
Marten Seemann
0928e91e4d remove closed clients from the multiplexer 2018-07-03 17:30:49 +07:00
Marten Seemann
7658f10a51 Merge pull request #1429 from lucas-clemente/fix-1422
implement the disable_migration transport parameter and use it
2018-07-03 17:28:15 +07:00
Marten Seemann
680c392195 Merge pull request #1440 from lucas-clemente/fix-1439
fix race condition in client multiplexer test
2018-07-03 17:27:49 +07:00
Marten Seemann
b2978015fd fix race condition in client multiplexer test 2018-07-02 22:38:12 +07:00