MCPcopy Create free account
hub / github.com/apache/qpid-proton / process

Method process

python/proton/_reactor.py:242–280  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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

Callers 8

runMethod · 0.95
do_workMethod · 0.45
runMethod · 0.45
waitMethod · 0.45
runMethod · 0.45
_processMethod · 0.45
initialiseMethod · 0.45
_processMethod · 0.45

Calls 8

markMethod · 0.95
push_eventMethod · 0.95
yield_Method · 0.95
terminateMethod · 0.80
peekMethod · 0.45
dispatchMethod · 0.45
popMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected