Re: [Felix-language] async fileio

2007-04-08 Thread skaller
On Mon, 2007-04-09 at 10:56 +1000, skaller wrote: > On Sun, 2007-04-08 at 11:27 -0700, Erick Tryzelaar wrote: > > skaller wrote: > > > OK, I see two options here: > > > > > > A. Modify the stream typeclass so all stream I/O requires > > > a job_queue argument. > > > > > > B. Make a new type > > > >

Re: [Felix-language] async fileio

2007-04-08 Thread skaller
On Sun, 2007-04-08 at 11:27 -0700, Erick Tryzelaar wrote: > skaller wrote: > > OK, I see two options here: > > > > A. Modify the stream typeclass so all stream I/O requires > > a job_queue argument. > > > > B. Make a new type > > > > afd_t = fd_t * job_queue > > > > Now there are two file types

Re: [Felix-language] async fileio

2007-04-08 Thread Erick Tryzelaar
skaller wrote: > OK, I see two options here: > > A. Modify the stream typeclass so all stream I/O requires > a job_queue argument. > > B. Make a new type > > afd_t = fd_t * job_queue > > Now there are two file types, one for sync I/O and one > for async I/O .. but only for posix lol (since Wi

Re: [Felix-language] async fileio

2007-04-08 Thread skaller
On Sat, 2007-04-07 at 18:06 +1000, skaller wrote: > I've run into a problem with Async fileio. On Posix, > the follwing interface is required: > > proc faio_write(q: job_queue, > fd: fd_t, len: &int, buf: address, eof: &bool > ) > { > faio_rw(q, fd, len, buf, eof, false); // write >

Re: [Felix-language] async fileio

2007-04-07 Thread skaller
On Sat, 2007-04-07 at 11:13 -0400, Chris King wrote: > On 4/7/07, skaller <[EMAIL PROTECTED]> wrote: > > Just to make sure we understand: the worker queue is a neutral > > synchronisation technique: there's a pool of threads which > > pull jobs of the queue, run them, signal they're finished, > > a

Re: [Felix-language] async fileio

2007-04-07 Thread Chris King
On 4/7/07, skaller <[EMAIL PROTECTED]> wrote: > Just to make sure we understand: the worker queue is a neutral > synchronisation technique: there's a pool of threads which > pull jobs of the queue, run them, signal they're finished, > and then run the next one. The pool size is user controlled. Th

[Felix-language] async fileio

2007-04-07 Thread skaller
I've run into a problem with Async fileio. On Posix, the follwing interface is required: proc faio_write(q: job_queue, fd: fd_t, len: &int, buf: address, eof: &bool ) { faio_rw(q, fd, len, buf, eof, false); // write } The 'q' there is a worker_fifo thing. With the current Felix asy