mirror of
https://github.com/zeromq/libzmq.git
synced 2025-03-17 16:43:58 +00:00
Merge pull request #59 from hintjens/master
Backported fix for LIBZMQ-450
This commit is contained in:
commit
7f81575245
@ -1063,98 +1063,108 @@ void zmq::socket_base_t::event_connected (const char *addr_, int fd_)
|
|||||||
|
|
||||||
void zmq::socket_base_t::event_connect_delayed (const char *addr_, int err_)
|
void zmq::socket_base_t::event_connect_delayed (const char *addr_, int err_)
|
||||||
{
|
{
|
||||||
zmq_event_t event;
|
if (monitor_events & ZMQ_EVENT_CONNECT_DELAYED) {
|
||||||
if (!(monitor_events & ZMQ_EVENT_CONNECT_DELAYED)) return;
|
zmq_event_t event;
|
||||||
event.event = ZMQ_EVENT_CONNECT_DELAYED;
|
event.event = ZMQ_EVENT_CONNECT_DELAYED;
|
||||||
event.data.connected.addr = (char *)addr_;
|
event.data.connect_delayed.addr = const_cast <char *> (addr_);
|
||||||
event.data.connect_delayed.err = err_;
|
event.data.connect_delayed.err = err_;
|
||||||
monitor_event (event);
|
monitor_event (event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void zmq::socket_base_t::event_connect_retried (const char *addr_, int interval_)
|
void zmq::socket_base_t::event_connect_retried (const char *addr_, int interval_)
|
||||||
{
|
{
|
||||||
zmq_event_t event;
|
if (monitor_events & ZMQ_EVENT_CONNECT_RETRIED) {
|
||||||
if (!(monitor_events & ZMQ_EVENT_CONNECT_RETRIED)) return;
|
zmq_event_t event;
|
||||||
event.event = ZMQ_EVENT_CONNECT_RETRIED;
|
event.event = ZMQ_EVENT_CONNECT_RETRIED;
|
||||||
event.data.connected.addr = (char *)addr_;
|
event.data.connect_retried.addr = const_cast <char *> (addr_);
|
||||||
event.data.connect_retried.interval = interval_;
|
event.data.connect_retried.interval = interval_;
|
||||||
monitor_event (event);
|
monitor_event (event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void zmq::socket_base_t::event_listening (const char *addr_, int fd_)
|
void zmq::socket_base_t::event_listening (const char *addr_, int fd_)
|
||||||
{
|
{
|
||||||
zmq_event_t event;
|
if (monitor_events & ZMQ_EVENT_LISTENING) {
|
||||||
if (!(monitor_events & ZMQ_EVENT_LISTENING)) return;
|
zmq_event_t event;
|
||||||
event.event = ZMQ_EVENT_LISTENING;
|
event.event = ZMQ_EVENT_LISTENING;
|
||||||
event.data.connected.addr = (char *)addr_;
|
event.data.listening.addr = const_cast <char *> (addr_);
|
||||||
event.data.listening.fd = fd_;
|
event.data.listening.fd = fd_;
|
||||||
monitor_event (event);
|
monitor_event (event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void zmq::socket_base_t::event_bind_failed (const char *addr_, int err_)
|
void zmq::socket_base_t::event_bind_failed (const char *addr_, int err_)
|
||||||
{
|
{
|
||||||
zmq_event_t event;
|
if (monitor_events & ZMQ_EVENT_BIND_FAILED) {
|
||||||
if (!(monitor_events & ZMQ_EVENT_BIND_FAILED)) return;
|
zmq_event_t event;
|
||||||
event.event = ZMQ_EVENT_BIND_FAILED;
|
event.event = ZMQ_EVENT_BIND_FAILED;
|
||||||
event.data.connected.addr = (char *)addr_;
|
event.data.bind_failed.addr = const_cast <char *> (addr_);
|
||||||
event.data.bind_failed.err = err_;
|
event.data.bind_failed.err = err_;
|
||||||
monitor_event (event);
|
monitor_event (event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void zmq::socket_base_t::event_accepted (const char *addr_, int fd_)
|
void zmq::socket_base_t::event_accepted (const char *addr_, int fd_)
|
||||||
{
|
{
|
||||||
zmq_event_t event;
|
if (monitor_events & ZMQ_EVENT_ACCEPTED) {
|
||||||
if (!(monitor_events & ZMQ_EVENT_ACCEPTED)) return;
|
zmq_event_t event;
|
||||||
event.event = ZMQ_EVENT_ACCEPTED;
|
event.event = ZMQ_EVENT_ACCEPTED;
|
||||||
event.data.connected.addr = (char *)addr_;
|
event.data.accepted.addr = const_cast <char *> (addr_);
|
||||||
event.data.accepted.fd = fd_;
|
event.data.accepted.fd = fd_;
|
||||||
monitor_event (event);
|
monitor_event (event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void zmq::socket_base_t::event_accept_failed (const char *addr_, int err_)
|
void zmq::socket_base_t::event_accept_failed (const char *addr_, int err_)
|
||||||
{
|
{
|
||||||
zmq_event_t event;
|
if (monitor_events & ZMQ_EVENT_ACCEPT_FAILED) {
|
||||||
if (!(monitor_events & ZMQ_EVENT_ACCEPT_FAILED)) return;
|
zmq_event_t event;
|
||||||
event.event = ZMQ_EVENT_ACCEPT_FAILED;
|
event.event = ZMQ_EVENT_ACCEPT_FAILED;
|
||||||
event.data.connected.addr = (char *)addr_;
|
event.data.accept_failed.addr = const_cast <char *> (addr_);
|
||||||
event.data.accept_failed.err= err_;
|
event.data.accept_failed.err= err_;
|
||||||
monitor_event (event);
|
monitor_event (event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void zmq::socket_base_t::event_closed (const char *addr_, int fd_)
|
void zmq::socket_base_t::event_closed (const char *addr_, int fd_)
|
||||||
{
|
{
|
||||||
zmq_event_t event;
|
if (monitor_events & ZMQ_EVENT_CLOSED) {
|
||||||
if (!(monitor_events & ZMQ_EVENT_CLOSED)) return;
|
zmq_event_t event;
|
||||||
event.event = ZMQ_EVENT_CLOSED;
|
event.event = ZMQ_EVENT_CLOSED;
|
||||||
event.data.connected.addr = (char *)addr_;
|
event.data.closed.addr = const_cast <char *> (addr_);
|
||||||
event.data.closed.fd = fd_;
|
event.data.closed.fd = fd_;
|
||||||
monitor_event (event);
|
monitor_event (event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void zmq::socket_base_t::event_close_failed (const char *addr_, int err_)
|
void zmq::socket_base_t::event_close_failed (const char *addr_, int err_)
|
||||||
{
|
{
|
||||||
zmq_event_t event;
|
if (monitor_events & ZMQ_EVENT_CLOSE_FAILED) {
|
||||||
if (!(monitor_events & ZMQ_EVENT_CLOSE_FAILED)) return;
|
zmq_event_t event;
|
||||||
event.event = ZMQ_EVENT_CLOSE_FAILED;
|
event.event = ZMQ_EVENT_CLOSE_FAILED;
|
||||||
event.data.connected.addr = (char *)addr_;
|
event.data.close_failed.addr = const_cast <char *> (addr_);
|
||||||
event.data.close_failed.err = err_;
|
event.data.close_failed.err = err_;
|
||||||
monitor_event (event);
|
monitor_event (event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void zmq::socket_base_t::event_disconnected (const char *addr_, int fd_)
|
void zmq::socket_base_t::event_disconnected (const char *addr_, int fd_)
|
||||||
{
|
{
|
||||||
zmq_event_t event;
|
if (monitor_events & ZMQ_EVENT_DISCONNECTED) {
|
||||||
if (!(monitor_events & ZMQ_EVENT_DISCONNECTED)) return;
|
zmq_event_t event;
|
||||||
event.event = ZMQ_EVENT_DISCONNECTED;
|
event.event = ZMQ_EVENT_DISCONNECTED;
|
||||||
event.data.connected.addr = (char *)addr_;
|
event.data.disconnected.addr = const_cast <char *> (addr_);
|
||||||
event.data.disconnected.fd = fd_;
|
event.data.disconnected.fd = fd_;
|
||||||
monitor_event (event);
|
monitor_event (event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void zmq::socket_base_t::monitor_event (zmq_event_t event_)
|
void zmq::socket_base_t::monitor_event (zmq_event_t event_)
|
||||||
{
|
{
|
||||||
zmq_msg_t msg;
|
zmq_msg_t msg;
|
||||||
if (!monitor_socket) return;
|
if (!monitor_socket)
|
||||||
|
return;
|
||||||
zmq_msg_init_size (&msg, sizeof (event_));
|
zmq_msg_init_size (&msg, sizeof (event_));
|
||||||
memcpy (zmq_msg_data (&msg), &event_, sizeof (event_));
|
memcpy (zmq_msg_data (&msg), &event_, sizeof (event_));
|
||||||
zmq_sendmsg (monitor_socket, &msg, 0);
|
zmq_sendmsg (monitor_socket, &msg, 0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user