|
Serene Runtime 1.0.0-dev
C runtime for the Serene programming language
|
One async system behind the reactor contract. More...
#include <backend.h>
Data Fields | |
| const char * | name |
| A short name for diagnostics, for example "epoll". | |
| uint32_t | features |
| Bitmap of SRN_REACTOR_BACKEND_FEAT_* flags this backend requires from the reactor. | |
| srn_error_t *(* | init )(srn_reactor_t *reactor) |
| Initialize the backend in the given reactor. | |
| void(* | shutdown )(srn_reactor_t *reactor) |
| Clean up after the backend. | |
| void(* | submit )(srn_reactor_t *reactor, size_t channel, const srn_reactor_io_request_t *req) |
| Submit a new request to the backend. | |
| void(* | wait )(srn_reactor_t *reactor, int timeout_ms) |
| Wait for readiness and complete any ready operations. | |
| void(* | wake )(srn_reactor_t *reactor) |
One async system behind the reactor contract.
The reactor core drives these on the reactor thread.
| uint32_t srn_reactor_backend_t::features |
| srn_error_t *(* srn_reactor_backend_t::init) (srn_reactor_t *reactor) |
| const char* srn_reactor_backend_t::name |
| void(* srn_reactor_backend_t::shutdown) (srn_reactor_t *reactor) |
| void(* srn_reactor_backend_t::submit) (srn_reactor_t *reactor, size_t channel, const srn_reactor_io_request_t *req) |
| void(* srn_reactor_backend_t::wait) (srn_reactor_t *reactor, int timeout_ms) |
| void(* srn_reactor_backend_t::wake) (srn_reactor_t *reactor) |