From: Christopher Kohlhoff (chris_at_[hidden])
Date: 2005-12-10 18:53:49
--- Reece Dunn <msclrhd_at_[hidden]> wrote:>
> I have only taken a cursory glance at the docs at the moment.
> From what I have read, there is built in support for TCP and
> UDP I/O, but you could extend this to support other transports
> such as asynchronous files or named pipes. Is the interface
> generic enough so I can do this easily? How would I provide
> this functionality? (If this is in the docs, please tell me to
> RTFM ;) hopefully with a link to where in the docs it is).
Have a look at my reply in the "[asio] Brief Review" thread.
Also, Felipe Magno de Almeida has written a prototype async file
I/O implementation for linux, which I'd like to look at
integrating in the future.
> Another question: is there a way I can bind a socket to an I/O
> stream so I can easily send data across a network.
There is an example in lib/asio/example/iostreams that
uses the Boost.Iostreams library to create a socket stream.
> Also, what would be interesting is an asynchronous
> serialisation archive so you can serialise/deserialise classes
> across a network like you can in Java.
Check out the example in lib/asio/example/serialization, which
is also covered in the HTML docs under the "Examples" link.
> The documentation does not make it clear exactly what
> functionality is available, so the docs could be clearer. For
> example, I didn't know the library supported IPv4 addresses
> before looking at the reference.
Hmm, yeah, it would be good to have a feature list on the main
page, wouldn't it :)
> It may be useful at some point to have support for IPv6
> The main question is will these be compatible with the library
> as it interacts with the IPv4 addresses.
It should simply be a matter of defining asio::ipv6 classes
equivalent to the ones in asio::ipv4. Access to an IPv6 network
is an issue when it comes to testing it, although it does seem
that my Mac has an IPv6 loopback address.
I can confirm that the socket classes already work with other
addressing schemes. In the past I have defined the necessary
Protocol and Endpoint classes so that I could use a
stream_socket with Bluetooth/RFCOMM on Windows XP SP2.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk