ble_logger.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:jumper-ble-logger 作者: Jumperr-labs 项目源码 文件源码
def run(self):
        try:
            while not self._should_stop:
                readable, _, _ = select.select(self._inputs, [], [], 1)

                if self._hci_socket in readable:
                    source = 'socket'
                    packet = self._hci_socket.recv(4096)
                    self._logger.debug('SOCKET: %s', RawCopy(HciPacket).parse(packet))
                    self.handle_packet(packet, source)

                if self._pty_fd in readable:
                    data = os.read(self._pty_master, 4096)
                    self._logger.debug('Raw PTY data: %s', repr(data))
                    self._pty_buffer.write(data)
                    self._pty_buffer.seek(-len(data), SEEK_CUR)

                    source = 'pty'
                    while True:
                        if self._pty_buffer.pos == self._pty_buffer.len:
                            break
                        parsed_packet = RawCopy(HciPacket).parse_stream(self._pty_buffer)
                        if not parsed_packet:
                            break
                        self._logger.debug('PTY: %s', parsed_packet)
                        packet = parsed_packet.data
                        self.handle_packet(packet, source)
        except KeyboardInterrupt:
            log.info("Received SIGTERM, exiting")
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号