diff --git a/Doc/lib/libsocket.tex b/Doc/lib/libsocket.tex index 97c518406ea..0fe894074c7 100644 --- a/Doc/lib/libsocket.tex +++ b/Doc/lib/libsocket.tex @@ -514,6 +514,29 @@ all sockets are in blocking mode. In non-blocking mode, if a block until they can proceed. \end{methoddesc} +\begin{methoddesc}[socket]{settimeout}{value} +Set a timeout on blocking socket operations. Value can be any numeric value +or \var{None}. Socket operations will raise an \exception{error} exception +if the timeout period \var{value} has elapsed before the operation has +completed. Setting a timeout of \var{None} disables timeouts on socket +operations. +\end{methoddesc} + +\begin{methoddesc}[socket]{gettimeout}{} +Returns the timeout in floating seconds associated with socket operations. +A timeout of None indicates that timeouts on socket operations are +disabled. +\end{methoddesc} + +Some notes on the interaction between socket blocking and timeouts: +socket blocking mode takes precendence over timeouts. If a socket +if set to non-blocking mode, then timeouts set on sockets are never +don't mean anything. The timeout value associated with the socket +can still be set via settimeout and its value retrieved via gettimeout, +but the timeout is never enforced (i.e, an exception will never be +thrown). Otherwise, if the socket is in blocking mode, setting the +timeout will raise an exception as expected. + \begin{methoddesc}[socket]{setsockopt}{level, optname, value} Set the value of the given socket option (see the \UNIX{} manual page \manpage{setsockopt}{2}). The needed symbolic constants are defined in