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

Nat Pryce nat.pryce at gmail.com
Sat Jul 5 08:07:34 PDT 2014


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 object, such as a pipe, not by sending a message over a
channel.  Fair enough.

What API should I use to wait for multiple I/O objects within a task?  Is
there a runtime-independent API for this?

And if I write my own I/O abstractions, for example around eventfd on
Linux, what traits (platform specific traits, I imagine) should I implement
to make them work with the runtime-independent I/O select API?

Sorry if this is already covered in the documentation.  I've searched but
not found anything obvious.

Any help much appreciated.

--Nat
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140705/4d6e88b6/attachment.html>


More information about the Rust-dev mailing list