From 210665e8a252faecf28ccebade999e734ab92582 Mon Sep 17 00:00:00 2001
From: Igor Slepchin
Date: Mon, 24 Sep 2018 22:44:03 -0400
Subject: Add nopush TCP socket option
This translates to TCP_CORK on Linux and TCP_NOPUSH on
BSD.
In effect, this acts as super-Nagle: no partial TCP segments
are sent out until this option is turned off. Once turned off,
all accumulated unsent data is sent out immediately. The latter
is *not* the case on OSX, hence the implementation ignores
"nopush" on OSX to reduce confusion.
---
lib/kernel/doc/src/inet.xml | 12 ++++++++++++
1 file changed, 12 insertions(+)
(limited to 'lib/kernel/doc')
diff --git a/lib/kernel/doc/src/inet.xml b/lib/kernel/doc/src/inet.xml
index ed775d67eb..9fc361a234 100644
--- a/lib/kernel/doc/src/inet.xml
+++ b/lib/kernel/doc/src/inet.xml
@@ -1039,6 +1039,18 @@ setcap cap_sys_admin,cap_sys_ptrace,cap_dac_read_search+epi beam.smp
is turned on for the socket, which means that also small
amounts of data are sent immediately.
+ {nopush, Boolean}(TCP/IP sockets)
+ -
+
This translates to TCP_NOPUSH on BSD and
+ to TCP_CORK on Linux.
+ If Boolean == true, the corresponding option
+ is turned on for the socket, which means that small
+ amounts of data are accumulated until a full MSS-worth
+ of data is available or this option is turned off.
+ Note that while TCP_NOPUSH socket option is available on OSX, its semantics
+ is very different (e.g., unsetting it does not cause immediate send
+ of accumulated data). Hence, nopush option is intentionally ignored on OSX.
+
{packet, PacketType}(TCP/IP sockets)
-
Defines the type of packets to use for a socket.
--
cgit v1.2.3