Commit Graph

2524 Commits

Author SHA1 Message Date
Marten Seemann
b40942d39e send stream counts, not stream IDs, in the transport parameters 2018-03-16 17:41:21 +00:00
Marten Seemann
1fffb88553 fix typo in function name 2018-03-16 17:41:21 +00:00
Marten Seemann
076e03a094 Merge pull request #1246 from lucas-clemente/sph-refactoring
keep track of retransmissions
2018-03-16 18:39:33 +01:00
Marten Seemann
94282df1a1 Merge pull request #1252 from lucas-clemente/fix-server-test
fix incorrect server test
2018-03-16 18:16:37 +01:00
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
a8c71f5d69 fix incorrect server test
When a Read from the connection fails, we need to close all sessions,
but it's not necessary to remove them from the sessions map in the
server.
2018-03-16 13:26:10 +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
Lucas Clemente
0e86ee87f3 Merge pull request #1244 from lucas-clemente/certs
Update certs
2018-03-13 20:43:55 +01:00
Lucas Clemente
182faeec47 Update certs 2018-03-13 19:04:32 +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