aboutsummaryrefslogtreecommitdiff
path: root/src/core/or/scheduler_kist.c
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2020-06-22 15:28:47 -0400
committerDavid Goulet <dgoulet@torproject.org>2020-06-22 15:28:47 -0400
commitc55e633f7446fea7b73be75f6713fad6493edf05 (patch)
treeb1887ed909788cec567776754606493d2cc999fd /src/core/or/scheduler_kist.c
parent033f8044292b74e6a46a719476b9633e5d79d978 (diff)
downloadtor-c55e633f7446fea7b73be75f6713fad6493edf05.tar.gz
tor-c55e633f7446fea7b73be75f6713fad6493edf05.zip
kist: Document a magic value in channel_should_write_to_kernel()
Closes #40008 Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'src/core/or/scheduler_kist.c')
-rw-r--r--src/core/or/scheduler_kist.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/or/scheduler_kist.c b/src/core/or/scheduler_kist.c
index c73d768f88..5c1922847e 100644
--- a/src/core/or/scheduler_kist.c
+++ b/src/core/or/scheduler_kist.c
@@ -445,6 +445,11 @@ update_socket_written(socket_table_t *table, channel_t *chan, size_t bytes)
* one cell for each and bouncing back and forth. This KIST impl avoids that
* by only writing a channel's outbuf to the kernel if it has 8 cells or more
* in it.
+ *
+ * Note: The number 8 has been picked for no particular reasons except that it
+ * is 4096 bytes which is a common number for buffering. A TLS record can hold
+ * up to 16KiB thus using 8 cells means that a relay will at most send a TLS
+ * record of 4KiB or 1/4 of the maximum capacity of a TLS record.
*/
MOCK_IMPL(int, channel_should_write_to_kernel,
(outbuf_table_t *table, channel_t *chan))