[Python-Dev] Adding timeout to socket.py and httplib.py
Josiah Carlson
jcarlson at uci.edu
Tue Mar 20 21:40:24 CET 2007
"Steven Bethard" <steven.bethard at gmail.com> wrote:
> On 3/20/07, Facundo Batista <facundo at taniquetil.com.ar> wrote:
> > So, I have two modifications to make to the patch:
> >
> > - change the name to "create_connection"
> > - make timeout obligatory named
> >
> > Is everybody ok with this?
>
> FWLIW, +1. It was not immediately apparent to me that the third argument in::
>
> newsock = socket.create_connection(HOST, PORT, None)
>
> is supposed to be a timeout. The modified version::
>
> newsock = socket.create_connection(HOST, PORT, timeout=None)
>
> is much clearer to me.
Agreed, though implementation-wise, there is another technique for
determining whether the use provided an argument to timeout or not...
sentinel = object()
def connect(HOST, PORT, timeout=sentinel):
...
if timeout is not sentinel:
sock.settimeout(timeout)
...
A keyword argument via **kwargs is also fine. I have no preference.
- Josiah
More information about the Python-Dev
mailing list