mirror of
https://github.com/zeromq/cppzmq.git
synced 2025-06-03 05:22:06 +02:00
Problem: inconsistent error handling in poller_t
Solution: make poller_t::add and poller_t::remove throw error_t on error, return void
This commit is contained in:
parent
16a76513e3
commit
608613217e
12
zmq.hpp
12
zmq.hpp
@ -1013,22 +1013,22 @@ namespace zmq
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool add (zmq::socket_t &socket, short events, std::function<void(void)> &handler)
|
void add (zmq::socket_t &socket, short events, std::function<void(void)> &handler)
|
||||||
{
|
{
|
||||||
if (0 == zmq_poller_add (poller_ptr, socket.ptr, handler ? &handler : NULL, events)) {
|
if (0 == zmq_poller_add (poller_ptr, socket.ptr, handler ? &handler : NULL, events)) {
|
||||||
poller_events.emplace_back (zmq_poller_event_t ());
|
poller_events.emplace_back (zmq_poller_event_t ());
|
||||||
return true;
|
return;
|
||||||
}
|
}
|
||||||
return false;
|
throw error_t ();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool remove (zmq::socket_t &socket)
|
void remove (zmq::socket_t &socket)
|
||||||
{
|
{
|
||||||
if (0 == zmq_poller_remove (poller_ptr, socket.ptr)) {
|
if (0 == zmq_poller_remove (poller_ptr, socket.ptr)) {
|
||||||
poller_events.pop_back ();
|
poller_events.pop_back ();
|
||||||
return true;
|
return;
|
||||||
}
|
}
|
||||||
return false;
|
throw error_t ();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wait (std::chrono::milliseconds timeout)
|
bool wait (std::chrono::milliseconds timeout)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user