def run(self): starttime = time.time() with self.terminator(): while True: if self.ws_read_limit == 0: return try: r, _, _ = select.select([self.rfile], [], [], 0.05) except OSError: # pragma: no cover return # this is not reliably triggered due to its nature, so we exclude it from coverage. delta = time.time() - starttime if not r and self.timeout and delta > self.timeout: return try: self.terminate.get_nowait() return except queue.Empty: pass for rfile in r: with self.logger.ctx() as log: try: frm = websockets.Frame.from_file(self.rfile) except exceptions.TcpDisconnect: return self.frames_queue.put(frm) log("<< %s" % repr(frm.header)) if self.ws_read_limit is not None: self.ws_read_limit -= 1 starttime = time.time()
def run(self): starttime = time.time() with self.terminator(): while True: if self.ws_read_limit == 0: return try: r, _, _ = select.select([self.rfile], [], [], 0.05) except OSError: return delta = time.time() - starttime if not r and self.timeout and delta > self.timeout: return try: self.terminate.get_nowait() return except queue.Empty: pass for rfile in r: with self.logger.ctx() as log: try: frm = websockets.Frame.from_file(self.rfile) except exceptions.TcpDisconnect: return self.frames_queue.put(frm) log("<< %s" % repr(frm.header)) if self.ws_read_limit is not None: self.ws_read_limit -= 1 starttime = time.time()
def run(self): starttime = time.time() with self.terminator(): while True: if self.ws_read_limit == 0: return r, _, _ = select.select([self.rfile], [], [], 0.05) delta = time.time() - starttime if not r and self.timeout and delta > self.timeout: return try: self.terminate.get_nowait() return except queue.Empty: pass for rfile in r: with self.logger.ctx() as log: try: frm = websockets.Frame.from_file(self.rfile) except exceptions.TcpDisconnect: return self.frames_queue.put(frm) log("<< %s" % frm.header.human_readable()) if self.ws_read_limit is not None: self.ws_read_limit -= 1 starttime = time.time()