4#include <unordered_map>
17#include "notifier.hpp"
19#include <coroio/backends/select.hpp>
20#include <coroio/backends/poll.hpp>
28#include <coroio/backends/epoll.hpp>
29#include <coroio/backends/uring.hpp>
42#include <coroio/backends/iocp.hpp>
43#include <coroio/backends/epoll.hpp>
46#if defined(__APPLE__) || defined(__FreeBSD__)
52#include <coroio/backends/kqueue.hpp>
56#include "promises.hpp"
59#include "sockutils.hpp"
63int pipe(
int pipes[2]);
64int socketpair(
int domain,
int type,
int protocol, SOCKET socks[2]);
65int socketpair(
int domain,
int type,
int protocol,
int socks[2]);
69#if defined(__APPLE__) || defined(__FreeBSD__)
71#elif defined(__linux__)
72using TDefaultPoller =
TEPoll;
74using TDefaultPoller =
TIOCp;
76using TDefaultPoller =
TPoll;
Linux-specific poller implementation using epoll.
Definition epoll.hpp:40
IOCP-based poller for asynchronous I/O on Windows.
Definition iocp.hpp:48
Poller implementation using kqueue (for macOS and FreeBSD).
Definition kqueue.hpp:36
Poller implementation based on the poll() system call.
Definition poll.hpp:39
Implementation of a promise/future system for coroutines.