[Python-Dev] Getting an optional parameter instead of creating a socket internally

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Sun Jul 11 21:06:52 CEST 2010


On 03:11 pm, jcea at jcea.es wrote:
>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>On 13/04/10 04:03, exarkun at twistedmatrix.com wrote:
>>On 12 Apr, 11:19 pm, jcea at jcea.es wrote:
>>>-----BEGIN PGP SIGNED MESSAGE-----
>>>Hash: SHA1
>>>
>>>On 04/13/2010 12:47 AM, Antoine Pitrou wrote:
>>>>Jesus Cea <jcea <at> jcea.es> writes:
>>>>>
>>>>>PS: "socket.setdefaulttimeout()" is not enough, because it could
>>>>>shutdown a perfectly functional connection, just because it was 
>>>>>idle
>>>>>for
>>>>>too long.
>>>>
>>>>The socket timeout doesn't shutdown anything. It just puts a limit 
>>>>on
>>>>how much
>>>>time recv() and send() can block. Then it's up to you to detect
>>>>whether the
>>>>server is still alive (for example by pinging it through whatever
>>>>means the
>>>>application protocol gives you).
>>>
>>>A regular standard library (let say, poplib) would abort, after 
>>>getting
>>>the timeout exception.
>>>>>4. Modify client libraries to accept a new optional socket-like 
>>>>>object
>>>>>as an optional parameter. This would allow things like transparent
>>>>>compression or encryption, or to replace the socket connection by
>>>>>anything else (read/write to shared memory or database, for 
>>>>>example).
>>>>
>>>>This could be useful too.
>>>
>>>I have been thinking about this for years. Do you actually think this
>>>could be formally proposed?.
>>
>>Every once in a while I make a little bit more progress on the PEP I'm
>>working on for this.  If you want to talk more about this, you can 
>>find
>>me in #python-dev or #twisted on freenode.
>>
>>Jean-Paul
>
>Jean-Paul, I would like to have this for 3.2. How is the PEP going?.

It's still little more than an outline.  You can see it here:

  http://twistedmatrix.com/trac/wiki/ProtocolPEP

And if you're interested in helping, we can figure out a way to do that 
(you can have edit permission on the wiki or we can move the document 
elsewhere, whatever).

Jean-Paul


More information about the Python-Dev mailing list