
Hi Reece, --- Reece Dunn <msclrhd@hotmail.com> 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 addresses.
Agreed.
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. Cheers, Chris