def parser_thread(self):
while self.active:
eventlet.greenthread.sleep(0)
data,addr = None,None
while data==None:
eventlet.greenthread.sleep(0)
try:
data,addr = self.parse_q.get()
except:
yatelog.minor_exception('YATESock','Failed during parse receive')
if data != None:
data = zlib.decompress(data)
gc.disable() # performance hack for msgpack
try:
msg = msgpack.unpackb(data,use_list = False)
msg_type = msg[0]
msg_params = msg[1]
msg_id = msg[2]
self.in_queues[msg_type].put((msg_params,msg_id,addr))
except:
yatelog.minor_exception('YATESock','Error while parsing packet from %s:%s' % addr)
gc.enable()
评论列表
文章目录