Esempio n. 1
0
 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)
Esempio n. 3
0
 def test_SerializeAndDeserialize_2(self):
     msg = TPMessage()
     msg.timestamp = 10
     self.template_SerializeAndDeserialize(msg)