Subject: | support needed in IO::Socket::INET for SO_SNDBUF and SO_RCVBUF |
Date: | Sat, 28 Nov 2009 23:41:13 -0800 (PST) |
To: | bug-IO [...] rt.cpan.org |
From: | eponymous alias <eponymousalias [...] yahoo.com> |
The Linux tcp(7) man page says in part:
The maximum sizes for socket buffers declared via the SO_SNDBUF and
SO_RCVBUF mechanisms are limited by the global net.core.rmem_max
and net.core.wmem_max sysctls. ... On individual connections, the
socket buffer size must be set prior to the listen() or connect()
calls in order to have it take effect.
This last sentence means that the IO::Socket::INET constructor must
provide options to set the send and receive buffers if they are to
be controllable, since the constructor does not return until after
the listen() or connect() call has already been made.
I propose that two new options be added to the constructor:
SendBuf => $send_buffer_size
RecvBuf => $recv_buffer_size
so that these values can be set when the socket is created.
The attached INET.pm.patch provides this capability.
Message body is not shown because sender requested not to inline it.