Re: [Python-Dev] Socket timeout and completion based sockets

2012-11-28 Thread Kristján Valur Jónsson
I'm sorry, I thought it was something that people did more often, to create different implementations of of the socket api, for which cPython provided a mere reference implementation. I know of at least three different alternative implementations, so I thought that the question were clear

Re: [Python-Dev] Socket timeout and completion based sockets

2012-11-28 Thread Antoine Pitrou
Le Wed, 28 Nov 2012 12:13:15 +, Kristján Valur Jónsson krist...@ccpgames.com a écrit : I'm sorry, I thought it was something that people did more often, to create different implementations of of the socket api, for which cPython provided a mere reference implementation. I know of at least

Re: [Python-Dev] Socket timeout and completion based sockets

2012-11-28 Thread Guido van Rossum
On Wed, Nov 28, 2012 at 4:13 AM, Kristján Valur Jónsson krist...@ccpgames.com wrote: I'm sorry, I thought it was something that people did more often, to create different implementations of of the socket api, for which cPython provided a mere reference implementation. I know of at least

Re: [Python-Dev] Socket timeout and completion based sockets

2012-11-28 Thread Glyph
On Nov 28, 2012, at 12:04 PM, Guido van Rossum gu...@python.org wrote: Anyway, as for concrete requirements: The issue I have always seen with various asynchronous libraries is their lack of composability. Everyone writes their own application loop and event queue. Merely having a

Re: [Python-Dev] Socket timeout and completion based sockets

2012-11-27 Thread Kristján Valur Jónsson
: Re: [Python-Dev] Socket timeout and completion based sockets On 26/11/2012 11:49am, Kristján Valur Jónsson wrote: However, other implementations of python sockets, e.g. ones that rely on IO completion, may not have the luxury of using select. For example, on Windows, there is no way

Re: [Python-Dev] Socket timeout and completion based sockets

2012-11-27 Thread Kristján Valur Jónsson
(python-dev@python.org) Subject: Re: [Python-Dev] Socket timeout and completion based sockets If you're talking about the standard socket module, I'm not aware that it uses IOCP on Windows. Are you asking this just in the abstract, or do you know of a Python implementation that uses IOCP

Re: [Python-Dev] Socket timeout and completion based sockets

2012-11-27 Thread Richard Oudkerk
On 27/11/2012 9:35am, Kristján Valur Jónsson wrote: This worries me: If the file handle is associated with a completion port, an I/O completion packet is not queued to the port if a synchronous operation is successfully canceled... I think you can only abort a synchronous operation if you

Re: [Python-Dev] Socket timeout and completion based sockets

2012-11-27 Thread Guido van Rossum
:59 To: Kristján Valur Jónsson Cc: Python-Dev (python-dev@python.org) Subject: Re: [Python-Dev] Socket timeout and completion based sockets If you're talking about the standard socket module, I'm not aware that it uses IOCP on Windows. Are you asking this just in the abstract, or do you know

[Python-Dev] Socket timeout and completion based sockets

2012-11-26 Thread Kristján Valur Jónsson
Regarding the recent discussion on python-ideas about asyncronous IO, I'd like to ask a question about python socket's Timeout feature. Specifically this: Is it a documented or a guaranteed feature that a send/receive operation that times out with a socket.timeout error is re-startable on that

Re: [Python-Dev] Socket timeout and completion based sockets

2012-11-26 Thread Guido van Rossum
If you're talking about the standard socket module, I'm not aware that it uses IOCP on Windows. Are you asking this just in the abstract, or do you know of a Python implementation that uses IOCP to implement the standard socket type? As to the design of the async I/O library (which I am still

Re: [Python-Dev] Socket timeout and completion based sockets

2012-11-26 Thread Richard Oudkerk
On 26/11/2012 11:49am, Kristján Valur Jónsson wrote: However, other implementations of python sockets, e.g. ones that rely on IO completion, may not have the luxury of using select. For example, on Windows, there is no way to abort an IOCP socket call, so a timeout must be implemented by

Re: [Python-Dev] Socket timeout and completion based sockets

2012-11-26 Thread Glyph
On Nov 26, 2012, at 11:05 AM, Richard Oudkerk shibt...@gmail.com wrote: Using CancelIo()/CancelIoEx() to abort an operation started with WSARecv() does not seem to cause a problem (emphasis mine) Little command-line experiments are not the right way to verify the behavior of