Marten Seemann
fed3bf503e
keep track of which packets were sent as retransmissions
...
When an ACK for a packet that was retransmitted arrives, we don't need
to retransmit the retransmission, even if it was lost.
2018-03-16 16:54:39 +01:00
Marten Seemann
56720edc34
report retransmissions separately to the sent packet handler
2018-03-14 11:15:52 +01:00
Marten Seemann
dc4a9b1d86
refactor sent packet handler tests
2018-03-14 11:15:26 +01:00
Marten Seemann
6a80d50fb9
optimize updating the RTT when receiving an ACK
2018-03-13 17:44:12 +01:00
Marten Seemann
9ffeba5445
refactor the sent packet history into a separate object
2018-03-13 17:44:12 +01:00
Marten Seemann
555fa8ec8e
Merge pull request #1232 from lucas-clemente/packet-sending-modes
...
implement packet send modes to determine what kind of packets are sent
2018-03-13 17:39:20 +01:00
Marten Seemann
b5977236ff
implement packet send modes to determine what kind of packets are sent
2018-03-13 14:49:48 +01:00
Marten Seemann
b679f5170c
Merge pull request #1237 from lucas-clemente/fix-1233
...
use the max_packet_size transport parameter
2018-03-12 21:16:49 +07:00
Marten Seemann
b75dc8e0fd
Merge pull request #1239 from lucas-clemente/h2quic-client-dont-log-normal-error
...
don't log the PeerGoingAway error in the h2quic client
2018-03-12 21:01:39 +07:00
Marten Seemann
6712a8d023
don't log the PeerGoingAway error in the h2quic client
2018-03-11 15:42:20 +07:00
Marten Seemann
9d18d30931
use the peer's max_packet_size when packing packets
2018-03-10 14:27:07 +07:00
Marten Seemann
0f401b0b37
parse the max_packet_size in the TLS transport parameters
2018-03-10 14:14:09 +07:00
Marten Seemann
6a2c4548f7
Merge pull request #1231 from lucas-clemente/stricter-rtt-updated-test
...
test that exiting slow start and acking packets are done in right order
2018-03-09 23:37:26 +07:00
Marten Seemann
1776432951
Merge pull request #1235 from lucas-clemente/packet-sizes
...
send larger packets
2018-03-09 23:36:58 +07:00
Marten Seemann
6ccc76a130
send packets with maximum IPv4 and IPv6 packet size
2018-03-09 22:36:44 +07:00
Marten Seemann
ce0b33d2ff
use the maximum receive packet size, not send packet size, in the proxy
2018-03-09 18:32:43 +07:00
Marten Seemann
ae2247c869
test that exiting slow start and acking packets are done in right order
2018-03-09 10:29:29 +07:00
Marten Seemann
7b43d17fab
Merge pull request #1228 from lucas-clemente/sent-packet-handler-packet-number-len
...
calculate the packet number length in the sent packet handler
2018-03-08 00:59:09 +07:00
Marten Seemann
5abfb55661
Merge pull request #1227 from lucas-clemente/simplify-ack-processing
...
don't reject ACKs with a lower largest ACKed value
2018-03-08 00:58:24 +07:00
Marten Seemann
85d67ecce5
don't reject ACKs with a lower largest ACKed value
2018-03-07 16:10:57 +07:00
Marten Seemann
abf57a5551
calculate the packet number length in the sent packet handler
2018-03-07 15:56:18 +07:00
Marten Seemann
c37433abce
Merge pull request #1225 from lucas-clemente/fix-1224
...
fix race condition when setting up TLS sessions in the server
2018-03-07 15:33:40 +07:00
Marten Seemann
d3297f0734
fix race condition when setting up TLS sessions in the server
2018-03-07 15:14:06 +07:00
Marten Seemann
77a419898c
Merge pull request #1226 from lucas-clemente/fix-tls-session-accepting
...
continue accepting sessions after encountering a connection ID collision
2018-03-07 15:12:46 +07:00
Marten Seemann
0afba48de8
continue accepting sessions after encountering a connection ID collision
2018-03-07 10:54:40 +07:00
Marten Seemann
effced62b1
Merge pull request #1223 from lucas-clemente/remove-duplicate-ack-err
...
remove explicit error for duplicate or out of order ACKs
2018-03-07 10:10:22 +07:00
Marten Seemann
ca2471e78d
remove explicit error for duplicate or out of order ACKs
2018-03-07 09:30:05 +07:00
Marten Seemann
503e3cbb3a
Merge pull request #1222 from lucas-clemente/ack-in-packet-0
...
accept ACKs sent in packet number 0
2018-03-07 08:02:38 +07:00
Marten Seemann
6efa73c36c
accept ACKs sent in packet number 0
2018-03-06 18:12:41 +07:00
Marten Seemann
2d560645f7
Merge pull request #1213 from lucas-clemente/ack-decimation
...
implement ACK decimation
2018-03-06 09:58:56 +07:00
Marten Seemann
5c98332e90
implement ACK decimation
...
ACK generation closely follows Chrome's QuicConnection::MaybeQueueAck()
in ACK_DECIMATION_WITH_REORDERING mode.
2018-03-05 19:56:19 +07:00
Marten Seemann
8fc0f53a8d
move constants used by the received packet handler to ackhandler package
2018-03-05 19:39:59 +07:00
Marten Seemann
41d7cbb014
Merge pull request #1219 from lucas-clemente/max-tracked-error-check
...
remove incorrect error check when sending a packet
2018-03-05 19:34:00 +07:00
Marten Seemann
c14f0fc1aa
Merge pull request #1220 from lucas-clemente/new-packet-types
...
implement the IETF draft 10 header changes
2018-03-05 19:28:32 +07:00
Marten Seemann
98ad81772c
Merge pull request #1218 from lucas-clemente/refactor-retransmission-in-session
...
refactor sending of retransmission in the session
2018-03-05 19:25:47 +07:00
Marten Seemann
c609bcfea7
Merge pull request #1216 from lucas-clemente/fix-handshake-retransmission-packettype
...
set the packet type for handshake retransmissions
2018-03-05 19:21:20 +07:00
Marten Seemann
b6ca910a52
implement the IETF draft 10 header changes
2018-03-05 19:13:37 +07:00
Marten Seemann
2d64953e0e
remove incorrect error check when sending a packet
...
There's no need for a check if more than protocol.MaxTrackedSentPackets
packets were sent. There are certain situations where we allow (via
SendingAllowed()) sending of more packets, and we shouldn't throw an
error when the session then actually sends these packets.
2018-03-05 17:08:18 +07:00
Marten Seemann
8fc573c895
set the packet type for handshake retransmissions
2018-03-04 22:33:10 +07:00
Marten Seemann
6f03b3a44a
refactor sending of retransmission in the session
2018-03-04 22:16:25 +07:00
Marten Seemann
ba00cb9175
Merge pull request #1215 from lucas-clemente/golint
...
make golint happier
2018-03-02 22:47:05 +07:00
Marten Seemann
fab3023876
Merge pull request #1214 from lucas-clemente/fix-232
...
remove TODO in Public Header regarding the div nonce bit for clients
2018-03-02 22:46:04 +07:00
Marten Seemann
54db9ebec4
Merge pull request #1212 from lucas-clemente/refactor-retransmissions
...
refactor retransmissions
2018-03-02 17:53:56 +07:00
Marten Seemann
a588b9e140
make golint happier
2018-03-02 16:58:19 +07:00
Marten Seemann
d9e670b03a
remove TODO in Public Header regarding the div nonce bit for clients
...
The Public Header will not change before the switch to IETF QUIC.
We will have to accept the wrong bit in the client Public Header.
2018-03-02 16:44:23 +07:00
Marten Seemann
656dff6163
introduce a UsesStopWaitingFrames() method for version numbers
2018-03-02 16:00:11 +07:00
Marten Seemann
be2be3872f
Merge pull request #1194 from lucas-clemente/log-transport-params
...
log the TLS Transport Parameters
2018-02-27 01:03:19 +08:00
Marten Seemann
a1c9e706b0
omit the data length in the last STREAM frame of a retransmission
2018-02-26 22:22:21 +08:00
Marten Seemann
ca7291e8cf
send retransmission as separate packets
2018-02-26 22:22:17 +08:00
Marten Seemann
33c2ff59e5
Merge pull request #1209 from lucas-clemente/fix-1017
...
reject unknown versions in the quic.Config
2018-02-26 22:14:26 +08:00