IO integration {#io_page}

Unsettled API - The proton::io interfaces are new and remain subject to change.

The proton::io namespace contains a service provider interface (SPI) that allows you to embed Proton in alternative IO or threading libraries.

The proton::io::connection_driver class converts an AMQP-encoded byte stream, read from any IO source, into proton::messaging_handler calls. It generates an AMQP-encoded byte stream as output that can be written to any IO destination.

The connection driver has no threading or IO dependencies. It is not thread-safe, but separate instances are independent and can be run concurrently in a multithreaded framework. The driver is written in portable C++98-compatible code.

For examples of use, see the proton source code, in particular the C++ proton::container.