Commit Graph

42 Commits

Author SHA1 Message Date
Marten Seemann
741dc28d74 move the RTTStats to the utils package
The RTTStats are used by the logging package. In order to instrument the
congestion package, the RTTStats can't be part of that package any more
(to avoid an import loop).
2020-07-23 11:53:08 +07:00
Marten Seemann
ce16603a24 use untyped constants for RTT calculations 2020-07-23 11:52:37 +07:00
Marten Seemann
6328acffd7 remove the N connection simulation from the Reno code 2020-07-23 08:43:32 +07:00
Marten Seemann
2db579fdc8 remove the SSLR (slow start large reduction) experiment
We apparently copied that code over from Chromium's Cubic
implementation, but we certainly don't need it.
2020-07-22 22:30:03 +07:00
Marten Seemann
bc8b37cd14 Merge pull request #2683 from lucas-clemente/remove-reno-congestion-stats
remove unused connectionStats counters from the Reno implementation
2020-07-22 22:16:00 +07:00
Marten Seemann
74e32d6762 remove unused connectionStats counters from the Reno implementation 2020-07-22 14:35:58 +07:00
Marten Seemann
e79e45e3a2 privatize some methods in the congestion controller package 2020-07-22 13:42:18 +07:00
Marten Seemann
a20c5f8db0 return an infinite bandwidth if the RTT is zero 2020-06-28 14:55:47 +07:00
Marten Seemann
fda00fe1cd use a slightly higher bandwidth for the pacer 2020-06-22 14:31:37 +07:00
Marten Seemann
fe622dd780 use a token bucket pacing algorithm 2020-06-22 14:31:37 +07:00
Marten Seemann
312b8d37f0 use a callback to pass the bandwidth to the pacer 2020-06-22 14:31:37 +07:00
Marten Seemann
467e553f2b limit the pacing duration to the minimum pacing delay 2020-06-22 14:31:37 +07:00
Marten Seemann
4163c255e8 implement a basic token bucket pacing algoritm 2020-06-22 14:31:37 +07:00
Marten Seemann
19f06ad3a9 remove PRR code 2020-04-13 16:31:02 +07:00
Marten Seemann
69ab66ba82 save the RTT along the session ticket and use it on resumed connections 2020-02-08 21:42:11 +01:00
Marten Seemann
281fb1d0b8 use actually used datagram size for congestion controller calculations 2020-01-22 15:04:03 +07:00
Marten Seemann
d4de582fad rename defaultTCPMSS to maxDatagramSize 2020-01-22 14:54:05 +07:00
Marten Seemann
31e4691ffd move congestion controller related constants to the congestion package 2020-01-22 14:40:14 +07:00
Marten Seemann
d00828b762 make it possible to get the PTO with and without max_ack_delay 2019-11-12 11:27:30 +07:00
Marten Seemann
ab2b26a5cb add the unparam linter 2019-09-17 13:44:05 +07:00
Marten Seemann
5189cb94f1 fix initial PTO timer duration 2019-08-10 17:21:31 +07:00
Marten Seemann
f7eb13fff1 disable the two-connection mode of the congestion controller 2019-07-25 16:34:44 -04:00
Marten Seemann
66abcdfc5c move calculation of the PTO to the rttStats
The PTO value is needed at various places in the protocol. Calculating
it on the rttStats struct will allow us to pass around this struct.
2019-06-29 14:57:24 +07:00
Marten Seemann
b5764f22a2 save the max_ack_delay in the rttStats 2019-06-29 13:40:56 +07:00
Marten Seemann
fcb0d6cfdc record InSlowStart and InRecovery 2019-06-20 22:58:01 +08:00
Marten Seemann
fd33eb319f add a flag to turn off PRR 2019-05-21 10:57:55 +01:00
Marten Seemann
3e67c12d76 use PRR when deciding if we're congestion limited 2019-05-19 16:49:55 +02:00
Marten Seemann
e06961266c introduce an invalid packet number to simplify ackhandler and congestion 2019-05-14 06:41:13 +03:00
Marten Seemann
c869d51e52 remove unused SendAlgorithmWithDebugInfo from congestion package 2019-05-13 12:43:08 +02:00
Marten Seemann
448c49851b remove unused methods from the congestion interface 2019-05-13 12:11:29 +02:00
Marten Seemann
6be9c7bfcd use the full pacing rate, also when not in slow start 2019-04-08 13:38:12 +09:00
Marten Seemann
2976a3ee19 fix pacing rate
The pacing rate needs to be calculated for the next packet to be sent,
not for the next byte to be sent.
2019-04-07 13:11:36 +09:00
Marten Seemann
fbe8844006 remove some unneccessary type conversions 2019-02-27 19:30:55 +09:00
ludweeg
8ff3bf8ca6 simplify x = x <op> ... to x <op>= ... 2018-10-06 01:59:45 +03:00
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
2b9b949855 move calculation of RTO delay to the sent packet handler 2018-04-16 11:18:14 +09:00
Marten Seemann
948eef3e42 create a logger interface and use it everywhere 2018-04-04 13:03:28 +07:00
Marten Seemann
6fcdcdbea1 make golint happy about the congestion tests 2018-02-23 20:56:07 +08:00
Marten Seemann
3b82628dbe internalize ackhandler and congestion 2018-02-02 08:40:56 +08:00