# 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](https://qpid.apache.org/proton), in particular the C++ `proton::container`.