Non-blocking sockets, select() and transmit buffer size
Posted: Sat Jul 08, 2017 7:36 am
Hi,
I'm working on an implementation using non-blocking sockets via select(). As it is not possible to change the transmit buffer size via SO_SNDBUF socket option (only SO_RCVBUFF can be enabled in menuconfig), am I correct to assume that the option CONFIG_TCP_SND_BUF_DEFAULT (under lwip/tcp) always correctly reflects the amount of bytes that a send() will accept when FD_ISSET(sock, &write_set) returns true after a call to select() ? Does this also apply to sockets created using SOCK_DGRAM?
Secondly, the option is named nn_DEFAULT; what is a non-default value and how would that be set since SO_SNDBUF is non-functional?
I'm working on an implementation using non-blocking sockets via select(). As it is not possible to change the transmit buffer size via SO_SNDBUF socket option (only SO_RCVBUFF can be enabled in menuconfig), am I correct to assume that the option CONFIG_TCP_SND_BUF_DEFAULT (under lwip/tcp) always correctly reflects the amount of bytes that a send() will accept when FD_ISSET(sock, &write_set) returns true after a call to select() ? Does this also apply to sockets created using SOCK_DGRAM?
Secondly, the option is named nn_DEFAULT; what is a non-default value and how would that be set since SO_SNDBUF is non-functional?