Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request adds introspection methods to
uvloop.Loop
anduvloop.loop.Handle
.Loop.get_ready_queue()
exposes the internalDeque
, which is available as_ready
on anasyncio
loop object.Handle.get_callback()
returns the registered python callback and args. forasyncio
this information can be gleaned fromHandle._callback
This allows uvloop to work with applications which examine and manipulate the ready queue of runnable tasks, such as https://github.com/kristjanvalur/py-asynkit. A branch which uses these features is available at https://github.com/kristjanvalur/py-asynkit/tree/dev/uvloop
An alternative implementation would emulate these same internal attributes as
asyncio
has, but IMHO those should also be better exposed by accessor methods.