COROIO: coroio/all.hpp Source File
COROIO
 
Loading...
Searching...
No Matches
all.hpp
1#pragma once
2
3#include <system_error>
4#include <unordered_map>
5#include <vector>
6#include <iostream>
7#include <queue>
8
9#include <cstdint>
10#include <cstdio>
11
12#include <assert.h>
13
14#include "init.hpp"
15#include "address.hpp"
16#include "poller.hpp"
17
18#include <coroio/backends/select.hpp>
19#include <coroio/backends/poll.hpp>
20
21#ifdef __linux__
22
23#ifndef HAVE_EPOLL
24#define HAVE_EPOLL
25#endif
26
27#include <coroio/backends/epoll.hpp>
28#include <coroio/backends/uring.hpp>
29#endif
30
31#ifdef _WIN32
32
33#ifndef HAVE_EPOLL
34#define HAVE_EPOLL
35#endif
36
37#ifndef HAVE_IOCP
38#define HAVE_IOCP
39#endif
40
41#include <coroio/backends/iocp.hpp>
42#include <coroio/backends/epoll.hpp>
43#endif
44
45#if defined(__APPLE__) || defined(__FreeBSD__)
46
47#ifndef HAVE_KQUEUE
48#define HAVE_KQUEUE
49#endif
50
51#include <coroio/backends/kqueue.hpp>
52#endif
53
54#include "loop.hpp"
55#include "promises.hpp"
56#include "socket.hpp"
57#include "corochain.hpp"
58#include "sockutils.hpp"
59#include "ssl.hpp"
60
61#ifdef _WIN32
62int pipe(int pipes[2]);
63int socketpair(int domain, int type, int protocol, SOCKET socks[2]);
64int socketpair(int domain, int type, int protocol, int socks[2]);
65#endif
66
67namespace NNet {
68#if defined(__APPLE__) || defined(__FreeBSD__)
69using TDefaultPoller = TKqueue;
70#elif defined(__linux__)
71using TDefaultPoller = TEPoll;
72#elif defined(_WIN32)
73using TDefaultPoller = TIOCp;
74#else
75using TDefaultPoller = TPoll;
76#endif
77
197} // namespace NNet
Implementation of a promise/future system for coroutines.