COROIO: coroio/backends/poll.hpp Source File
COROIO
 
Loading...
Searching...
No Matches
poll.hpp
1#pragma once
2
3#ifdef _WIN32
4#include <winsock2.h>
5#else
6#include <poll.h>
7#endif
8
9#include <assert.h>
10
11#include <iostream>
12
13#include <coroio/base.hpp>
14#include <coroio/poller.hpp>
15#include <coroio/socket.hpp>
16
17namespace NNet {
18
39class TPoll: public TPollerBase {
40public:
45
46#ifdef _WIN32
53 TPoll();
54#endif
55
63 void Poll();
64
65private:
72 std::vector<std::tuple<THandlePair,int>> InEvents_;
78 std::vector<pollfd> Fds_;
79#ifdef _WIN32
85 TSocket DummySocket_;
86#endif
87};
88
89} // namespace NNet
Asynchronous file handle that owns its file descriptor.
Definition socket.hpp:317
Poller implementation based on the poll() system call.
Definition poll.hpp:39
void Poll()
Polls for I/O events.
Definition poll.cpp:49
Base class for pollers managing asynchronous I/O events and timers.
Definition poller.hpp:52
High-level asynchronous socket for network communication.
Definition socket.hpp:364