COROIO: coroio/loop.hpp Source File
COROIO
 
Loading...
Searching...
No Matches
loop.hpp
1namespace NNet {
2
29template<typename TPoller>
30class TLoop {
31public:
35 void Loop() {
36 while (Running_) {
37 Step();
38 }
39 }
43 void Stop() {
44 Running_ = false;
45 }
50 void Step() {
51 Poller_.Poll();
52 Poller_.WakeupReadyHandles();
53 }
57 TPoller& Poller() {
58 return Poller_;
59 }
60
61private:
62 TPoller Poller_;
63 bool Running_ = true;
64};
65
66} // namespace NNet
Event loop that drives a poller backend.
Definition loop.hpp:30
void Stop()
Stops the loop.
Definition loop.hpp:43
TPoller & Poller()
Provides access to the underlying poller instance.
Definition loop.hpp:57
void Step()
Runs one event-loop iteration: polls for I/O/timer events then resumes all coroutines whose events fi...
Definition loop.hpp:50
void Loop()
Runs the main loop until Stop() is called.
Definition loop.hpp:35