COROIO: coroio/loop.hpp Source File
COROIO
 
Loading...
Searching...
No Matches
loop.hpp
1namespace NNet {
2
33template<typename TPoller>
34class TLoop {
35public:
39 void Loop() {
40 while (Running_) {
41 Step();
42 }
43 }
44
47 void Stop() {
48 Running_ = false;
49 }
50
53 void Step() {
54 Poller_.Poll();
55 Poller_.WakeupReadyHandles();
56 }
57
60 TPoller& Poller() {
61 return Poller_;
62 }
63
64private:
65 TPoller Poller_;
66 bool Running_ = true;
67};
68
69} // namespace NNet
A generic event loop wrapper that uses TSelect as its poller.
Definition loop.hpp:34
void Stop()
Stops the loop.
Definition loop.hpp:47
TPoller & Poller()
Provides access to the underlying poller instance.
Definition loop.hpp:60
void Step()
Performs a single iteration of polling and waking up ready handles.
Definition loop.hpp:53
void Loop()
Runs the main loop until Stop() is called.
Definition loop.hpp:39