120 std::chrono::steady_clock::time_point
when;
132 std::vector<PollItemCallablePair>
items_;
139 void add(
const zmq_pollitem_t &item,
Callable callable);
140 void add(std::unique_ptr<timer_t>,
Callable callable);
Loop object that helps to manage multiple socket by calling a user-defined handler for each socket wh...
Definition loop.hpp:36
static bool TimerItemCallablePairComp(const TimerItemCallablePair &lhs, const TimerItemCallablePair &rhs)
Definition loop.cpp:231
void start()
Starts loop.
Definition loop.cpp:145
bool dispatching_
Definition loop.hpp:157
void * timer_id_t
Type used to identify created timers withing loop.
Definition loop.hpp:41
loop()
Construct an empty polling model.
Definition loop.cpp:23
std::vector< timer_id_t > timerRemoveLater_
Definition loop.hpp:136
std::function< bool(void) > Callable
Definition loop.hpp:42
bool start_handle_poller()
Definition loop.cpp:195
bool rebuild_poller_
Definition loop.hpp:158
void flush_remove_later()
Flush the fdRemoveLater_ and sockRemoveLater_ vector, effectively removing the item for the reactor a...
Definition loop.cpp:208
long tickless()
Calculate min time to wait in poller.
Definition loop.cpp:221
std::vector< raw_socket_t > fdRemoveLater_
Definition loop.hpp:135
std::vector< PollItemCallablePair > items_
Definition loop.hpp:132
std::pair< zmq_pollitem_t, Callable > PollItemCallablePair
Definition loop.hpp:128
bool start_handle_timers()
Definition loop.cpp:173
std::vector< const socket_t * > sockRemoveLater_
Definition loop.hpp:134
void add(socket_t &socket, Callable callable, short const event=poller::poll_in)
Add a socket to the loop, providing a handler that will be called when the monitored events occur.
Definition loop.cpp:50
void remove(timer_id_t const timer)
Remove timer event from the loop.
Definition loop.cpp:93
std::list< TimerItemCallablePair > timers_
Definition loop.hpp:133
void reset(timer_id_t const timer)
Reset timer in the loop, it will start counting delay time again.
Definition loop.cpp:83
std::pair< std::unique_ptr< timer_t >, Callable > TimerItemCallablePair
Definition loop.hpp:129
poller poller_
Definition loop.hpp:156
virtual ~loop()
Cleanup reactor.
Definition loop.cpp:29
Polling wrapper.
Definition poller.hpp:37
@ poll_in
Definition poller.hpp:45
@ poll_error
Definition poller.hpp:47
The socket class represents the zmq sockets.
Definition socket.hpp:76
C++ wrapper around zmq.
Definition actor.cpp:30
socket socket_t
socket type
Definition loop.hpp:26
int raw_socket_t
Definition compatibility.hpp:134
std::chrono::steady_clock::time_point when
Definition loop.hpp:120
void update()
Definition loop.cpp:45
size_t times
Definition loop.hpp:118
std::chrono::milliseconds delay
Definition loop.hpp:119
void reset()
Definition loop.cpp:40