(self)
| 240 | raise value.with_traceback(tb) |
| 241 | |
| 242 | def process(self) -> bool: |
| 243 | # result = pn_reactor_process(self._impl) |
| 244 | # self._check_errors() |
| 245 | # return result |
| 246 | self.mark() |
| 247 | previous = PN_EVENT_NONE |
| 248 | while True: |
| 249 | if self._yield: |
| 250 | self._yield = False |
| 251 | _logger.debug('%s Yielding', self) |
| 252 | return True |
| 253 | event = self._collector.peek() |
| 254 | if event: |
| 255 | _logger.debug('%s recvd Event: %r', self, event) |
| 256 | type = event.type |
| 257 | |
| 258 | # regular handler |
| 259 | handler = event.handler or self._handler |
| 260 | event.dispatch(handler) |
| 261 | |
| 262 | event.dispatch(self._global_handler) |
| 263 | |
| 264 | previous = type |
| 265 | self._previous = type |
| 266 | self._collector.pop() |
| 267 | elif not self._stop and (self._timers > 0 or self._selectables > 1): |
| 268 | if previous is not Event.REACTOR_QUIESCED and self._previous is not Event.REACTOR_FINAL: |
| 269 | self.push_event(self, Event.REACTOR_QUIESCED) |
| 270 | self.yield_() |
| 271 | else: |
| 272 | if self._selectable: |
| 273 | self._selectable.terminate() |
| 274 | self._selectable.update() |
| 275 | self._selectable = None |
| 276 | else: |
| 277 | if self._previous is not Event.REACTOR_FINAL: |
| 278 | self.push_event(self, Event.REACTOR_FINAL) |
| 279 | _logger.debug('%s Stopping', self) |
| 280 | return False |
| 281 | |
| 282 | def stop(self) -> None: |
| 283 | self._stop = True |
no test coverage detected