def RecvSync(self, timeout): '''The receiving end of Sync(). Return value: 0 on success and -1 on failure. ''' end_time = time.time() + timeout reply = TPMessage() reply.method = TPMessage.METHOD_SYNC while time.time() < end_time: try: (ready, _, _) = select.select([self], [], [], max(0, end_time - time.time())) if ready == []: continue msg = self.ReadEvent() recv_time = time.time() reply.timestamp = int(recv_time * 1000) if msg.event_type != EventType.HANDSHAKE: break if msg.method != TPMessage.METHOD_SYNC: break reply.ack = msg.seq (_, ready, _) = select.select([], [self], [], max(0, end_time - time.time())) if ready == []: continue self.WriteEvent(reply) logger.debug('Sent timestamp {0}.'.format(reply.timestamp)) except Exception as e: logger.exception(e) return -1 return 0
def test_ReadAndWriteEvent_Handshake_2(self): evt = TPMessage() evt.method = 4 evt.timestamp = 40000000 self.template_ReadAndWriteEvent(evt)
def test_SerializeAndDeserialize_2(self): msg = TPMessage() msg.timestamp = 10 self.template_SerializeAndDeserialize(msg)