def _complete_handshake(self):
self._feed_buffer(timeout=0.05)
channel_idx, buf, fin = self._unpack_buffer()
if channel_idx == 0xfe and fin == 0xfe:
data = msgpack.unpackb(buf, use_list=False, encoding="utf8",
unicode_errors="ignore")
if data["session"] == self.session:
logger.debug("USB handshake completed")
return True
else:
logger.debug("Recv handshake session: %s", data["session"])
logger.debug("Handshake failed")
return False
if channel_idx is not None:
logger.debug("USB handshake response wrong channel: 0x%02x",
channel_idx)
return False
logger.debug("USB handshake response timeout")
return False
评论列表
文章目录