From 9e4895da833b7777e69efc173f5dc777aaea3201 Mon Sep 17 00:00:00 2001 From: Rickard Green Date: Thu, 29 Nov 2012 01:24:43 +0100 Subject: Add support for busy port message queue --- lib/kernel/doc/src/inet.xml | 64 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) (limited to 'lib/kernel/doc') diff --git a/lib/kernel/doc/src/inet.xml b/lib/kernel/doc/src/inet.xml index bf6c4cfb1a..bfdb163e17 100644 --- a/lib/kernel/doc/src/inet.xml +++ b/lib/kernel/doc/src/inet.xml @@ -487,6 +487,36 @@ fe80::204:acff:fe17:bf38 example Size == 2, the data received will match [Byte1,Byte2|Binary].

+ {high_msgq_watermark, Size} (TCP/IP sockets) + +

The socket message queue will be set into a busy + state when the amount of data queued on the message + queue reaches this limit. Note that this limit only + concerns data that have not yet reached the ERTS internal + socket implementation. Default value used is 8 kB.

+

Senders of data to the socket will be suspended if + either the socket message queue is busy, or the socket + itself is busy.

+

For more information see the low_msgq_watermark, + high_watermark, and low_watermark options.

+

Note that distribution sockets will disable the use of + high_msgq_watermark and low_msgq_watermark, + and will instead use the + distribution + buffer busy limit which is a similar feature.

+
+ {high_watermark, Size} (TCP/IP sockets) + +

The socket will be set into a busy state when the amount + of data queued internally by the ERTS socket implementation + reaches this limit. Default value used is 8 kB.

+

Senders of data to the socket will be suspended if + either the socket message queue is busy, or the socket + itself is busy.

+

For more information see the low_watermark, + high_msgq_watermark, and low_msqg_watermark + options.

+
{keepalive, Boolean}(TCP/IP sockets)

Enables/disables periodic transmission on a connected @@ -495,6 +525,40 @@ fe80::204:acff:fe17:bf38 considered broken and an error message will be sent to the controlling process. Default disabled.

+ {low_msgq_watermark, Size} (TCP/IP sockets) + +

If the socket message queue is in a busy state, the + socket message queue will be set in a not busy state when + the amount of data queued in the message queue falls + below this limit. Note that this limit only concerns data + that have not yet reached the ERTS internal socket + implementation. Default value used is 4 kB.

+

Senders that have been suspended due to either a + busy message queue or a busy socket, will be resumed + when neither the socket message queue, nor the socket + are busy.

+

For more information see the high_msgq_watermark, + high_watermark, and low_watermark options.

+

Note that distribution sockets will disable the use of + high_msgq_watermark and low_msgq_watermark, + and will instead use the + distribution + buffer busy limit which is a similar feature.

+
+ {low_watermark, Size} (TCP/IP sockets) + +

If the socket is in a busy state, the socket will + be set in a not busy state when the amount of data + queued internally by the ERTS socket implementation + falls below this limit. Default value used is 4 kB.

+

Senders that have been suspended due to either a + busy message queue or a busy socket, will be resumed + when neither the socket message queue, nor the socket + are busy.

+

For more information see the high_watermark, + high_msgq_watermark, and low_msgq_watermark + options.

+
{nodelay, Boolean}(TCP/IP sockets)

If Boolean == true, the TCP_NODELAY option -- cgit v1.2.3