Convert all tabs to spaces to match formatting style for rest of the file.

This commit is contained in:
Richard Newton 2013-07-01 13:33:28 +01:00
parent 666cc7ae4e
commit 32546c6538

196
zmq.hpp
View File

@ -292,7 +292,7 @@ namespace zmq
class socket_t class socket_t
{ {
friend class monitor_t; friend class monitor_t;
public: public:
inline socket_t (context_t &context_, int type_) inline socket_t (context_t &context_, int type_)
@ -432,119 +432,119 @@ namespace zmq
void operator = (const socket_t&) ZMQ_DELETED_FUNCTION; void operator = (const socket_t&) ZMQ_DELETED_FUNCTION;
}; };
class monitor_t class monitor_t
{ {
public: public:
monitor_t() : socketPtr(NULL) {} monitor_t() : socketPtr(NULL) {}
virtual ~monitor_t() {} virtual ~monitor_t() {}
void monitor(socket_t &socket, const char *addr_, int events = ZMQ_EVENT_ALL) void monitor(socket_t &socket, const char *addr_, int events = ZMQ_EVENT_ALL)
{ {
int rc = zmq_socket_monitor(socket.ptr, addr_, events); int rc = zmq_socket_monitor(socket.ptr, addr_, events);
if (rc != 0) if (rc != 0)
throw error_t (); throw error_t ();
socketPtr = socket.ptr; socketPtr = socket.ptr;
void *s = zmq_socket (socket.ctxptr, ZMQ_PAIR); void *s = zmq_socket (socket.ctxptr, ZMQ_PAIR);
assert (s); assert (s);
rc = zmq_connect (s, addr_); rc = zmq_connect (s, addr_);
assert (rc == 0); assert (rc == 0);
on_monitor_started(); on_monitor_started();
while (true) { while (true) {
zmq_msg_t eventMsg; zmq_msg_t eventMsg;
zmq_msg_init (&eventMsg); zmq_msg_init (&eventMsg);
rc = zmq_recvmsg (s, &eventMsg, 0); rc = zmq_recvmsg (s, &eventMsg, 0);
if (rc == -1 && zmq_errno() == ETERM) if (rc == -1 && zmq_errno() == ETERM)
break; break;
assert (rc != -1); assert (rc != -1);
zmq_event_t* event = static_cast<zmq_event_t*>(zmq_msg_data (&eventMsg)); zmq_event_t* event = static_cast<zmq_event_t*>(zmq_msg_data (&eventMsg));
#ifdef ZMQ_NEW_MONITOR_EVENT_LAYOUT #ifdef ZMQ_NEW_MONITOR_EVENT_LAYOUT
zmq_msg_t addrMsg; zmq_msg_t addrMsg;
zmq_msg_init (&addrMsg); zmq_msg_init (&addrMsg);
rc = zmq_recvmsg (s, &addrMsg, 0); rc = zmq_recvmsg (s, &addrMsg, 0);
if (rc == -1 && zmq_errno() == ETERM) if (rc == -1 && zmq_errno() == ETERM)
break; break;
assert (rc != -1); assert (rc != -1);
const char* str = static_cast<const char*>(zmq_msg_data (&addrMsg)); const char* str = static_cast<const char*>(zmq_msg_data (&addrMsg));
std::string address(str, str + zmq_msg_size(&addrMsg)); std::string address(str, str + zmq_msg_size(&addrMsg));
zmq_msg_close (&addrMsg); zmq_msg_close (&addrMsg);
#else #else
// Bit of a hack, but all events in the zmq_event_t union have the same layout so this will work for all event types. // Bit of a hack, but all events in the zmq_event_t union have the same layout so this will work for all event types.
std::string address = event->data.connected.addr; std::string address = event->data.connected.addr;
#endif #endif
#ifdef ZMQ_EVENT_MONITOR_STOPPED #ifdef ZMQ_EVENT_MONITOR_STOPPED
if (event->event == ZMQ_EVENT_MONITOR_STOPPED) if (event->event == ZMQ_EVENT_MONITOR_STOPPED)
break; break;
#endif #endif
switch (event->event) { switch (event->event) {
case ZMQ_EVENT_CONNECTED: case ZMQ_EVENT_CONNECTED:
on_event_connected(*event, address.c_str()); on_event_connected(*event, address.c_str());
break; break;
case ZMQ_EVENT_CONNECT_DELAYED: case ZMQ_EVENT_CONNECT_DELAYED:
on_event_connect_delayed(*event, address.c_str()); on_event_connect_delayed(*event, address.c_str());
break; break;
case ZMQ_EVENT_CONNECT_RETRIED: case ZMQ_EVENT_CONNECT_RETRIED:
on_event_connect_retried(*event, address.c_str()); on_event_connect_retried(*event, address.c_str());
break; break;
case ZMQ_EVENT_LISTENING: case ZMQ_EVENT_LISTENING:
on_event_listening(*event, address.c_str()); on_event_listening(*event, address.c_str());
break; break;
case ZMQ_EVENT_BIND_FAILED: case ZMQ_EVENT_BIND_FAILED:
on_event_bind_failed(*event, address.c_str()); on_event_bind_failed(*event, address.c_str());
break; break;
case ZMQ_EVENT_ACCEPTED: case ZMQ_EVENT_ACCEPTED:
on_event_accepted(*event, address.c_str()); on_event_accepted(*event, address.c_str());
break; break;
case ZMQ_EVENT_ACCEPT_FAILED: case ZMQ_EVENT_ACCEPT_FAILED:
on_event_accept_failed(*event, address.c_str()); on_event_accept_failed(*event, address.c_str());
break; break;
case ZMQ_EVENT_CLOSED: case ZMQ_EVENT_CLOSED:
on_event_closed(*event, address.c_str()); on_event_closed(*event, address.c_str());
break; break;
case ZMQ_EVENT_CLOSE_FAILED: case ZMQ_EVENT_CLOSE_FAILED:
on_event_close_failed(*event, address.c_str()); on_event_close_failed(*event, address.c_str());
break; break;
case ZMQ_EVENT_DISCONNECTED: case ZMQ_EVENT_DISCONNECTED:
on_event_disconnected(*event, address.c_str()); on_event_disconnected(*event, address.c_str());
break; break;
default: default:
on_event_unknown(*event, address.c_str()); on_event_unknown(*event, address.c_str());
break; break;
} }
zmq_msg_close (&eventMsg); zmq_msg_close (&eventMsg);
} }
zmq_close (s); zmq_close (s);
socketPtr = NULL; socketPtr = NULL;
} }
#ifdef ZMQ_EVENT_MONITOR_STOPPED #ifdef ZMQ_EVENT_MONITOR_STOPPED
void abort() void abort()
{ {
if (socketPtr) if (socketPtr)
zmq_socket_monitor(socketPtr, NULL, 0); zmq_socket_monitor(socketPtr, NULL, 0);
} }
#endif #endif
virtual void on_monitor_started() {} virtual void on_monitor_started() {}
virtual void on_event_connected(const zmq_event_t &event_, const char* addr_) {} virtual void on_event_connected(const zmq_event_t &event_, const char* addr_) {}
virtual void on_event_connect_delayed(const zmq_event_t &event_, const char* addr_) {} virtual void on_event_connect_delayed(const zmq_event_t &event_, const char* addr_) {}
virtual void on_event_connect_retried(const zmq_event_t &event_, const char* addr_) {} virtual void on_event_connect_retried(const zmq_event_t &event_, const char* addr_) {}
virtual void on_event_listening(const zmq_event_t &event_, const char* addr_) {} virtual void on_event_listening(const zmq_event_t &event_, const char* addr_) {}
virtual void on_event_bind_failed(const zmq_event_t &event_, const char* addr_) {} virtual void on_event_bind_failed(const zmq_event_t &event_, const char* addr_) {}
virtual void on_event_accepted(const zmq_event_t &event_, const char* addr_) {} virtual void on_event_accepted(const zmq_event_t &event_, const char* addr_) {}
virtual void on_event_accept_failed(const zmq_event_t &event_, const char* addr_) {} virtual void on_event_accept_failed(const zmq_event_t &event_, const char* addr_) {}
virtual void on_event_closed(const zmq_event_t &event_, const char* addr_) {} virtual void on_event_closed(const zmq_event_t &event_, const char* addr_) {}
virtual void on_event_close_failed(const zmq_event_t &event_, const char* addr_) {} virtual void on_event_close_failed(const zmq_event_t &event_, const char* addr_) {}
virtual void on_event_disconnected(const zmq_event_t &event_, const char* addr_) {} virtual void on_event_disconnected(const zmq_event_t &event_, const char* addr_) {}
virtual void on_event_unknown(const zmq_event_t &event_, const char* addr_) {} virtual void on_event_unknown(const zmq_event_t &event_, const char* addr_) {}
private: private:
void* socketPtr; void* socketPtr;
}; };
} }
#endif #endif