Пример #1
0
 def SendCommandWithId(self, func, data, handler, timeout=2.0):
     raw = zmessage.MakeRawMessageWithId(func, data)
     mesg = zmessage.Message(raw,
                             self.Priority(),
                             handler,
                             -1,
                             timeout=timeout)
     self._mq.SendMessage(mesg)
Пример #2
0
 def WaitUntilAllPreviousMessagesHaveBeenHandled(self):
     lock: threading.Lock = threading.Lock()
     lock.acquire()
     # send dummy message to clear out pipe
     mesg = zmessage.Message(None, zmessage.LowestPriority(),
                             lambda _: lock.release(), None)
     self.SendMessage(mesg)
     # wait until semaphore is released by callback
     lock.acquire()
Пример #3
0
 def SendCommandWithIdNoResponse(self, func, data, timeout=2.0):
     raw = zmessage.MakeRawMessageWithId(func, data)
     mesg = zmessage.Message(raw,
                             self.Priority(),
                             None,
                             -1,
                             timeout=timeout,
                             action_requ=[zmessage.ACTION_NONE],
                             action_resp=[zmessage.ACTION_NONE])
     self._mq.SendMessage(mesg)
Пример #4
0
    def Terminate(self):
        """
        Terminate shuts down the driver object.

        """
        lock = threading.Lock()
        lock.acquire()

        def cb(_):
            self._terminate = True
            lock.release()

        # send listeners signal to shutdown
        self._in_queue.put((time.time(), None))
        self.SendMessage(
            zmessage.Message(None, zmessage.LowestPriority(), cb, None))
        lock.acquire()
        logging.info("Driver terminated")
Пример #5
0
 def _SendMessageMulti(self, nn, m, priority: tuple, handler):
     mesg = zmessage.Message(m, priority, handler, nn[0])
     self._driver.SendMessage(mesg)
Пример #6
0
 def _SendMessage(self, n: int, m, priority: tuple, handler):
     mesg = zmessage.Message(m, priority, handler, n)
     self._driver.SendMessage(mesg)
Пример #7
0
 def SendBarrierCommand(self, handler):
     logging.warning("SendBarrierCommand")
     """Dummy Command to invoke the handler when all previous commands are done"""
     mesg = zmessage.Message(None, self.Priority(), handler, None)
     self._mq.SendMessage(mesg)
Пример #8
0
 def SendCommand(self, func, data, handler):
     raw = zmessage.MakeRawMessage(func, data)
     mesg = zmessage.Message(raw, self.Priority(), handler, -1)
     self._mq.SendMessage(mesg)