RTBKit
0.9
Open-source framework to create real-time ad bidding systems.
|
00001 /* zmq_utils.cc 00002 Jeremy Barnes, 14 January 2013 00003 Copyright (c) 2013 Datacratic Inc. All rights reserved. 00004 00005 */ 00006 00007 #include "zmq_utils.h" 00008 00009 namespace Datacratic { 00010 00011 std::string printZmqEvent(int event) 00012 { 00013 #define printZmqEventImpl(ev) case ev: return #ev 00014 00015 switch (event) { 00016 printZmqEventImpl(ZMQ_EVENT_LISTENING); 00017 printZmqEventImpl(ZMQ_EVENT_BIND_FAILED); 00018 printZmqEventImpl(ZMQ_EVENT_ACCEPTED); 00019 printZmqEventImpl(ZMQ_EVENT_ACCEPT_FAILED); 00020 printZmqEventImpl(ZMQ_EVENT_CONNECTED); 00021 printZmqEventImpl(ZMQ_EVENT_CONNECT_DELAYED); 00022 printZmqEventImpl(ZMQ_EVENT_CONNECT_RETRIED); 00023 printZmqEventImpl(ZMQ_EVENT_CLOSE_FAILED); 00024 printZmqEventImpl(ZMQ_EVENT_CLOSED); 00025 printZmqEventImpl(ZMQ_EVENT_DISCONNECTED); 00026 default: 00027 return ML::format("ZMQ_EVENT_UNKNOWN(%d)", event); 00028 } 00029 00030 #undef printZmqEventImpl 00031 } 00032 00033 bool zmqEventIsError(int event) 00034 { 00035 switch (event) { 00036 case ZMQ_EVENT_BIND_FAILED: 00037 case ZMQ_EVENT_ACCEPT_FAILED: 00038 case ZMQ_EVENT_CONNECT_DELAYED: 00039 case ZMQ_EVENT_CLOSE_FAILED: 00040 return true; 00041 default: 00042 return false; 00043 } 00044 } 00045 00046 } // namespace Datacratic