boost::corosio::io_object
Base class for platform I/O objects.
Synopsis
Declared in <boost/corosio/io/io_object.hpp>
class io_object;
Description
Provides common infrastructure for I/O objects that wrap kernel resources (sockets, timers, signal handlers, acceptors). Derived classes dispatch operations through a platform‐specific vtable (IOCP, epoll, kqueue, io_uring).
Semantics
Only concrete platform I/O types should inherit from io_object. Test mocks, decorators, and stream adapters must not inherit from this class. Use concepts or templates for generic I/O algorithms.
Thread Safety
Distinct objects: Safe. Shared objects: Unsafe. All operations on a single I/O object must be serialized.
|
Intended as a protected base class. The handle member |
Types
Name |
Description |
RAII wrapper for I/O object implementation lifetime. |
|
Base interface for platform I/O implementations. |
|
Service interface for I/O object lifecycle management. |
Protected Member Functions
Name |
Description |
|
Constructors |
|
Destructor |
|
Move assign from another I/O object. |
Protected Static Member Functions
Name |
Description |
Create a handle bound to a service found in the context. |
Derived Classes
Name |
Description |
Abstract base for streams that support async reads. |
|
Abstract base for asynchronous signal sets. |
|
Abstract base for asynchronous timers. |
|
Abstract base for streams that support async writes. |
|
An asynchronous Unix datagram socket for coroutine I/O. |
|
An asynchronous Unix domain stream acceptor for coroutine I/O. |
|
An asynchronous random‐access file for coroutine I/O. |
|
An asynchronous DNS resolver for coroutine I/O. |
|
An asynchronous TCP acceptor for coroutine I/O. |
|
An asynchronous UDP socket for coroutine I/O. |
See Also
io_stream, tcp_socket, tcp_acceptor
Created with MrDocs