summaryrefslogtreecommitdiff
path: root/src/lib/config.h.in
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2022-04-01 21:07:16 +0200
committerSander Vrijders <sander@ouroboros.rocks>2022-04-03 18:01:01 +0200
commit6180aa78409627325cbba1a2e751260410cac54f (patch)
tree306ecf26fea85c80b5379b7b4eeac8de589bdb5c /src/lib/config.h.in
parentccfcc0efcff8b3460a7870541df09d537bfeae8f (diff)
downloadouroboros-6180aa78409627325cbba1a2e751260410cac54f.tar.gz
ouroboros-6180aa78409627325cbba1a2e751260410cac54f.zip
lib: Add support for Linux RTT estimator
This adds the option to use the Round-Trip-Time (RTT) estimation algorithm as it is implemented in the TCP implementation in Linux. It looks like it outperforms the TCP default algorithm, so I enabled this one by default. Also adds the option to change the RTO timeout calculation to include more (or less) than 4 times the mdev (specified as a power of 2. Left the default value to 2 (so, 4 mdevs), but 3 (8 mdevs) gives better results in my tests. Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/lib/config.h.in')
-rw-r--r--src/lib/config.h.in2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/config.h.in b/src/lib/config.h.in
index a51c2791..3bf6274a 100644
--- a/src/lib/config.h.in
+++ b/src/lib/config.h.in
@@ -69,12 +69,14 @@
#define DU_BUFF_TAILSPACE @DU_BUFF_TAILSPACE@
/* Default Delta-t parameters */
+#cmakedefine FRCT_LINUX_RTT_ESTIMATOR
#define DELT_A (@DELTA_T_ACK@) /* ns */
#define DELT_R (@DELTA_T_RTX@) /* ns */
#define RQ_SIZE (@FRCT_REORDER_QUEUE_SIZE@)
#define START_WINDOW (@FRCT_START_WINDOW@)
#define RTO_MIN (@FRCT_RTO_MIN@ * 1000)
+#define MDEV_MUL (@FRCT_RTO_MDEV_MULTIPLIER@)
#define TICTIME (@FRCT_TICK_TIME@ * 1000) /* ns */