LLFIO  v2.00 late alpha
io_service.hpp File Reference

Provides io_service. More...

#include "handle.hpp"
#include <cassert>
#include <deque>
#include <mutex>
#include <csignal>

Classes

class  llfio_v2_xxx::io_service
 An asynchronous i/o multiplexer service. More...
 
struct  llfio_v2_xxx::io_service::awaitable_post_to_self
 

Namespaces

 llfio_v2_xxx
 The LLFIO namespace.
 

Macros

#define LLFIO_USE_POSIX_AIO   1
 Undefined to autodetect, 1 to use POSIX AIO, 0 to not use. More...
 
#define LLFIO_COMPILE_KQUEUES   0
 Undefined to autodetect, 1 to compile in BSD kqueue support, 0 to leave it out.
 
#define LLFIO_IO_POST_SIGNAL   (SIGUSR1)
 Undefined to autoset to first free SIGRTMIN if realtime signals available, else SIGUSR1. Only used if LLFIO_USE_KQUEUES=0.
 
#define LLFIO_HAVE_REALTIME_SIGNALS   0
 Undefined to autodetect. 0 to use non-realtime signals. Note performance in this use case is abysmal.
 

Detailed Description

Provides io_service.

Macro Definition Documentation

◆ LLFIO_USE_POSIX_AIO

#define LLFIO_USE_POSIX_AIO   1

Undefined to autodetect, 1 to use POSIX AIO, 0 to not use.

Warning
On FreeBSD the AIO kernel module needs to be loaded for POSIX AIO to work. Run as root 'kldload aio' or add 'aio_load=YES' in loader.conf.