Commit Graph

2533 Commits

Author SHA1 Message Date
Marten Seemann
1f9ab3b65f remove unused key exchange function from client crypto setup 2018-03-28 05:31:56 +07:00
Marten Seemann
00833c0840 Merge pull request #1263 from lucas-clemente/frame-parsing
move frame parsing to the wire package
2018-03-26 13:16:28 +02:00
Marten Seemann
be066e825c privatize the frame parsing functions 2018-03-25 18:07:49 +02:00
Marten Seemann
21b608daac move frame parsing to the wire package 2018-03-25 18:07:44 +02:00
Marten Seemann
9fa739409e Merge pull request #1260 from lucas-clemente/probe-packet-bytes-in-flight
don't reduce the bytes in flight for RTO probe packets
2018-03-21 16:58:10 +00:00
Marten Seemann
8772acab0a don't reduce the bytes in flight for RTO probe packets 2018-03-20 14:08:03 +00:00
Marten Seemann
a5688f954f Merge pull request #1251 from lucas-clemente/transport-parameters-max-stream-id
max stream values in the transport parameters are stream counts
2018-03-20 13:58:08 +00:00
Marten Seemann
e7d4339fc9 Merge pull request #1255 from lucas-clemente/fix-1253
calculate loss alarm based on send time of last retransmittable packet
2018-03-19 10:19:34 +00:00
Marten Seemann
46f8930fef calculate loss alarm based on send time of last retransmittable packet 2018-03-17 11:13:55 +00:00
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