I’m sending various custom message structures down a nonblocking TCP socket. I want to send either the whole structure in one send() call, or return an error with no bytes sent if there’s only room in the send buffer for part of the message (ie send() returns EWOULDBLOCK). If there’s not enought room, I will throw away the whole structure and report overflow, but I want to be recoverable after that, ie the receiver only ever receives a sequence of valid complete structures. Is there a way of either checking the send buffer free space, or telling the send() call to do as described? Datagram-based sockets aren’t an option, must be connection-based TCP. Thanks.
I’m sending various custom message structures down a nonblocking TCP socket. I want to
Share
TCP has no support for transactions; this is something which you must handle on layer 7 (application).