With respect to async IO (regretfully I get to see a lot of this at
$job):

Each operation can be async, or sync, with a similar API. There
should be enough hooks to be able to wait on a specific operation
happenning on a stream, any operation on a stream, any operation on
a group of streams, and any operation on any stream.

The resulting set of operations should be optionally available, as
this is one of the biggest sources of boilerplate in posix aio in C.

aio_suspend (or a wrapper on top of it) should probably be the
event loops default idle loop, and it should keep a flag raised such
that if the aio event loop wrapper knows that an event that was not
waited on finished, the user code can check on that easily.

A possiblity for a unified AIO/SIO interface could be that each IO
op returns an operation handle, and you can ask that handle about
it's status (running, finished, error), get it's results from the
handle, and also ask it to block. This could have a high overhead
due to storage creation, but it's generally a pretty flexible and
portable abstraction.


On Fri, Mar 03, 2006 at 11:27:05 -0800, Allison Randal wrote:
> We're going to try something a little different. With Chip's blessing  I've 
> written a very early draft of the PDD for I/O (not numbered  yet). The 
> attached PDD isn't 
> a completed document with Chip's seal of  approval, it's a seed for 
> discussion.
> 
> What I need from you all is comments. What's missing? What's  inaccurate? 
> What's accurate for the current state of Parrot, but is  something you always 
> intended to 
> write out later? What thoughts have  you had on how the I/O subsystem should 
> work? All contributions  cheerfully welcomed, from a single sentence to 
> several pages of 
> text.
> 
> Chip won't be making design decisions during the conversation. He may  not 
> even participate much, since part of the point is to split the  work into 
> parallel tasks so 
> we can get more done than is humanly  possible for one person. I'll use the 
> discussion to write up a more  complete PDD (probably with a few alternatives 
> written in), 
> and then  work with Chip to review/revise it.
> 
> Thanks,
> Allison
> 




-- 
 ()  Yuval Kogman <[EMAIL PROTECTED]> 0xEBD27418  perl hacker &
 /\  kung foo master: /me sushi-spin-kicks : neeyah!!!!!!!!!!!!!!!!!!!!

Attachment: pgp8tEwohagCA.pgp
Description: PGP signature

Reply via email to