boost::corosio::basic_io_context

Base class for I/O context implementations.

Synopsis

class basic_io_context
    : public capy::execution_context

Description

This class provides the common API for all I/O context types. Concrete context implementations (epoll_context, iocp_context, etc.) inherit from this class to gain the standard io_context interface.

Thread Safety

Distinct objects: Safe. Shared objects: Safe, if using a concurrency hint greater than 1.

Base Classes

Name Description

capy::execution_context

Types

Name

Description

executor_type

The executor type for this context.

service

Abstract base class for services owned by an execution context.

Member Functions

Name

Description

operator= [deleted]

find_service

Return a pointer to the service of type T, or nullptr.

get_executor

Return an executor for this context.

get_frame_allocator

Return the memory resource used for coroutine frame allocation.

has_service

Return true if a service of type T exists.

make_service

Construct and add a service.

poll

Process all ready work items without blocking.

poll_one

Process at most one ready work item without blocking.

restart

Restart the context after being stopped.

run

Process all pending work items.

run_for

Process work items for the specified duration.

run_one

Process at most one pending work item.

run_one_for

Process at most one work item for the specified duration.

run_one_until

Process at most one work item until the specified time.

run_until

Process work items until the specified time.

set_frame_allocator

set_frame_allocator overloads

stop

Signal the context to stop processing.

stopped

Return whether the context has been stopped.

use_service

Return a reference to the service of type T, creating it if needed.

Protected Member Functions

Name

Description

basic_io_context [constructor]

Default constructor.

destroy

Destroy all services.

shutdown

Shut down all services.

Protected Data Members

Name

sched_

Derived Classes

Name Description

epoll_context

I/O context using Linux epoll for event multiplexing.

select_context

I/O context using POSIX select() for event multiplexing.

Created with MrDocs