Condy v1.1.0
C++ Asynchronous System Call Layer for Linux
Loading...
Searching...
No Matches
condy::Runtime Class Reference

The event loop runtime for executing asynchronous. More...

#include <runtime.hpp>

Public Member Functions

 Runtime (const RuntimeOptions &options={})
 Construct a new Runtime object.
void allow_exit ()
 Allow the runtime to exit when there are no pending works.
void run ()
 Run the runtime event loop in the current thread.
auto & fd_table ()
 Get the file descriptor table of the runtime.
auto & buffer_table ()
 Get the buffer table of the runtime.
auto & settings ()
 Get the ring settings of the runtime.

Detailed Description

The event loop runtime for executing asynchronous.

This class provides a single-threaded runtime for executing asynchronous tasks using io_uring. It manages the event loop, scheduling, and execution of tasks, as well as inter-runtime notifications.

Constructor & Destructor Documentation

◆ Runtime()

condy::Runtime::Runtime ( const RuntimeOptions & options = {})
inline

Construct a new Runtime object.

Parameters
optionsOptions for configuring the runtime.

Member Function Documentation

◆ allow_exit()

void condy::Runtime::allow_exit ( )
inline

Allow the runtime to exit when there are no pending works.

By default, the runtime will keep running even if there are no pending works. Calling this function will allow the runtime to exit once all pending works are completed.

Note
This function is thread-safe and can be called from any thread.

◆ buffer_table()

auto & condy::Runtime::buffer_table ( )
inline

Get the buffer table of the runtime.

Returns
BufferTable& Reference to the buffer table of the runtime.

◆ fd_table()

auto & condy::Runtime::fd_table ( )
inline

Get the file descriptor table of the runtime.

Returns
FdTable& Reference to the fd table of the runtime.

◆ run()

void condy::Runtime::run ( )
inline

Run the runtime event loop in the current thread.

This function starts the event loop of the runtime in the current thread. It will process events, schedule tasks, and handle notifications until there are no pending works left.

Note
Once exit, the runtime cannot be restarted.
Exceptions
std::logic_errorif the runtime is already running or stopped.

◆ settings()

auto & condy::Runtime::settings ( )
inline

Get the ring settings of the runtime.

Returns
RingSettings& Reference to the ring settings of the runtime.

The documentation for this class was generated from the following file: