예제 #1
0
파일: streaming.py 프로젝트: beylsp/f1-live
 def dataReceived(self, data):
     """parse received data into packets."""
     log.debug(hexdump(data))
     self.resetTimeout()
     self.data += data
     try:
         packet = Packet.packetize(self.data)
     except Packet.NeedMoreData:
         return
     except Packet.UnknownPacketType as err:
         log.debug(str(err))
         self.data = self.data[2:]
     else:
         self.handle_packet(packet)
         db.save_packet(packet)
         self.data = self.data[len(packet):]
예제 #2
0
파일: streaming.py 프로젝트: beylsp/f1-live
 def keyframeReceived(self, keyframe, key_frame_id):
     """parse received key frame into packets; a key frame represents
        the current state."""
     db.save_key_frame(keyframe, key_frame_id)
     offset = 0
     totlen = len(keyframe)
     while offset < totlen:
         try:
             packet = Packet.packetize(keyframe[offset:])
         except Packet.UnknownPacketType as err:
             log.debug(str(err))
             offset += 2
         else:
             if type(packet) == Packet.SystemEvent:
                 try:
                     self.factory.create_firebase_ref(
                                     packet.get_event_type())
                 except Packet.UnknownEventType as err:
                     log.info(str(err))
             self.update_state(packet)
             db.save_packet(packet)
             offset += len(packet)