Hi Andrei!
Thanks for the detailed description, we should put it on the wiki.
Andrei Pelinescu-Onciul wrote:
In async mode the send never blocks (with the same
disclaimers as for
the non-blocking read). If no "real" send happens for tcp_send_timeout
(or tcp_connect_timeout if this is a not yet connected connection),
the connection will be closed, a failure will be reported and the
destination will be blacklisted. Same thing happens if the per
So, how does send_timeout work in async mode? The write is non-blocking,
that means the kernel accepts the data and the write/send function
returns immediately. Now, the kernel tries to send the data for
send_timeout seconds. If this fails, what happens now? Is there a
callback from kernel to ser or does ser somehow poll if the sending was
successful?
thanks
klaus