Exemplo n.º 1
0
 def test_monitor(self):
     """Test monitoring interface for sockets."""
     s_rep = self.context.socket(zmq.REP)
     s_req = self.context.socket(zmq.REQ)
     self.sockets.extend([s_rep, s_req])
     s_req.bind("tcp://127.0.0.1:6666")
     # try monitoring the REP socket
     
     s_rep.monitor("inproc://monitor.rep", zmq.EVENT_ALL)
     # create listening socket for monitor
     s_event = self.context.socket(zmq.PAIR)
     self.sockets.append(s_event)
     s_event.connect("inproc://monitor.rep")
     s_event.linger = 0
     # test receive event for connect event
     s_rep.connect("tcp://127.0.0.1:6666")
     if zmq.zmq_version_info() < (3,3):
         self.assertRaises(NotImplementedError, get_monitor_message, s_event)
         return
     m = get_monitor_message(s_event)
     self.assertEqual(m['event'], zmq.EVENT_CONNECT_DELAYED)
     self.assertEqual(m['endpoint'], b"tcp://127.0.0.1:6666")
     # test receive event for connected event
     m = get_monitor_message(s_event)
     self.assertEqual(m['event'], zmq.EVENT_CONNECTED)
Exemplo n.º 2
0
def logger(monitor):
    done = False
    while monitor.poll(timeout=5000):
        evt = get_monitor_message(monitor)
        print(json.dumps(evt, indent=1))
        if evt['event'] == zmq.EVENT_MONITOR_STOPPED:
            break
    print()
    print("Logger done!")
    monitor.close()
Exemplo n.º 3
0
 def test_monitor_connected(self):
     """Test connected monitoring socket."""
     s_rep = self.context.socket(zmq.REP)
     s_req = self.context.socket(zmq.REQ)
     self.sockets.extend([s_rep, s_req])
     s_req.bind("tcp://127.0.0.1:6667")
     # try monitoring the REP socket
     # create listening socket for monitor
     s_event = s_rep.get_monitor_socket()
     s_event.linger = 0
     self.sockets.append(s_event)
     # test receive event for connect event
     s_rep.connect("tcp://127.0.0.1:6667")
     m = get_monitor_message(s_event)
     self.assertEqual(m['event'], zmq.EVENT_CONNECT_DELAYED)
     self.assertEqual(m['endpoint'], b"tcp://127.0.0.1:6667")
     # test receive event for connected event
     m = get_monitor_message(s_event)
     self.assertEqual(m['event'], zmq.EVENT_CONNECTED)
Exemplo n.º 4
0
 def _handle_event_socket(self, s_event):
     while s_event.poll(timeout=0):
         emsg = get_monitor_message(s_event)
         to_pub = self._make_message(emsg)
         print "M:",
         pprint(to_pub)
         self.pub_socket.send_multipart(to_pub)
         ## if emsg['event'] in (128, ):
         ##     poller.unregister(s)
         ##     self._mon_sockets.remove(s)
     return