Re: [rust-dev] Mutiplexing I/O within a task

2014-07-07 Thread Nat Pryce
Yes, I do want something like an nio Selector. I'm trying to write it myself using epoll and eventfd on Linux. Binding to the syscall is straightforward. However I can't work out how to get the fds of IO objects (File struct, for example) so am stuck again. The ioserver approach sounds promising

Re: [rust-dev] Mutiplexing I/O within a task

2014-07-07 Thread Fantix King
在 2014年7月5日,下午11:07,Nat Pryce nat.pr...@gmail.com 写道: I've been trying to write tasks that wait for both I/O and channel communication. I've been told that, to maximise communication performance, channels do not support selecting of both channels and I/O objects. Therefore a program

Re: [rust-dev] Mutiplexing I/O within a task

2014-07-06 Thread Daniel Fagnan
I'm also interesting in some pointers on the best way to achieve this. -- Daniel Fagnan @TheHydroImpulse http://hydrocodedesign.com M: (780) 983-4997 On Sat, Jul 5, 2014 at 9:07 AM, Nat Pryce nat.pr...@gmail.com wrote: I've been trying to write tasks that wait for both I/O and channel

Re: [rust-dev] Mutiplexing I/O within a task

2014-07-06 Thread François-Xavier Bourlet
Same here, I am highly interested in the topic. On Jul 5, 2014 10:14 AM, Nat Pryce nat.pr...@gmail.com wrote: I've been trying to write tasks that wait for both I/O and channel communication. I've been told that, to maximise communication performance, channels do not support selecting of both

Re: [rust-dev] Mutiplexing I/O within a task

2014-07-06 Thread Tony Arcieri
On Sat, Jul 5, 2014 at 8:07 AM, Nat Pryce nat.pr...@gmail.com wrote: I've been trying to write tasks that wait for both I/O and channel communication. I've been told that, to maximise communication performance, channels do not support selecting of both channels and I/O objects. Therefore a

[rust-dev] Mutiplexing I/O within a task

2014-07-05 Thread Nat Pryce
I've been trying to write tasks that wait for both I/O and channel communication. I've been told that, to maximise communication performance, channels do not support selecting of both channels and I/O objects. Therefore a program should signal to a task that is waiting for I/O over another I/O