How to use boost::asio to abstract file descriptors?

boost, boost-asio, c++, linux

Solution

Not a tutorial but a working example:

http://article.gmane.org/gmane.comp.lib.boost.asio.user/2699 or http://lists.boost.org/Archives/boost/2008/10/143892.php

They basically use boost::asio::posix::stream_descriptor to use native file descriptors with ASIO.

In the boost documentation there is also an example: POSIX-specific chat client demonstrates how to use the posix::stream_descriptor class to perform console input and output

And perhaps you want to use a reactor style io_service.

Problem

Is there a tutorial on how to use the Boost::asio abstractions to multiple Linux file descriptors? I'm basically looking for better abstractions to select on multiple file descriptors on a separate thread, with timeouts.

Original source