Commit graph

232 commits

Author SHA1 Message Date
Marten Seemann
a58cfd64e9
Merge pull request #1336 from lucas-clemente/congestion-in-bytes
switch to a byte-based congestion controller
2018-05-05 14:57:51 +09:00
Marten Seemann
2b97fb41c9 switch to a byte-based congestion controller
Chrome removed the packet-based congestion controller and switched to
byte-based as well.
2018-05-02 23:45:23 +09:00
Marten Seemann
3cd6cc3e9f move the initial RTT estimate to the congestion package 2018-05-01 18:57:05 +09:00
Marten Seemann
4a7bab9ffe remove unused functions from the RTT stats
These functions are not used anywhere, and were removed from Chromium
code as well.
2018-05-01 18:50:28 +09:00
Marten Seemann
1420b138d5 implement TLPs 2018-04-25 20:47:18 +09:00
Marten Seemann
52c3e6e863 remove the {Lowest, Largest}Acked from the ACK frame
All ACK ranges are now saved in the AckRanges slices. This eliminates a
bunch of special cases for ACKs that don't report any packets missing.
2018-04-18 13:19:42 +09:00
Marten Seemann
ca896f953a rename AckRange.{First, Last} to AckRange.{Smallest, Largest} 2018-04-18 12:25:26 +09:00
Marten Seemann
f052861775 only allow sending of retransmissions if these are RTO probe packets 2018-04-17 19:58:53 +09:00
Marten Seemann
c828742cde
Merge pull request #1300 from lucas-clemente/prior-in-flight
call OnPacket{Acked, Lost} with the bytes in flight prior to event
2018-04-17 19:18:25 +09:00
Marten Seemann
90d2ac72bd call OnPacket{Acked, Lost} with the bytes in flight prior to event 2018-04-16 18:03:50 +09:00
Marten Seemann
2b9b949855 move calculation of RTO delay to the sent packet handler 2018-04-16 11:18:14 +09:00
Marten Seemann
ba9106c1ab compute handshake timeout based on the time of the last handshake packet 2018-04-05 14:39:58 +07:00
Marten Seemann
605607d39b implement spurious RTO detection 2018-04-04 17:47:29 +07:00
Marten Seemann
42d35360bb only delete the acked packet, but none of its retransmissions 2018-04-04 15:35:23 +07:00
Marten Seemann
0652eb97a0 add some debug log statements when queueing packets as retransmissions 2018-04-04 14:25:16 +07:00
Marten Seemann
948eef3e42 create a logger interface and use it everywhere 2018-04-04 13:03:28 +07:00
Marten Seemann
1c2e104a86 don't set the send time of a packet in the sent packet handler 2018-03-30 13:28:22 +07: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
46f8930fef calculate loss alarm based on send time of last retransmittable packet 2018-03-17 11:13:55 +00: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
56720edc34 report retransmissions separately to the sent packet handler 2018-03-14 11:15:52 +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
b5977236ff implement packet send modes to determine what kind of packets are sent 2018-03-13 14:49:48 +01: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
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
ca2471e78d remove explicit error for duplicate or out of order ACKs 2018-03-07 09:30:05 +07:00
Marten Seemann
6efa73c36c accept ACKs sent in packet number 0 2018-03-06 18:12:41 +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
8fd7219bfc delete handshake packets from history when receiving a forward-secure packet 2018-02-23 22:15:10 +08:00
Marten Seemann
3b82628dbe internalize ackhandler and congestion 2018-02-02 08:40:56 +08:00
Renamed from ackhandler/sent_packet_handler.go (Browse further)