What's needed?
We need to make it more intuitive for users to be able to add cleanup logic to sub-classes. Right now users need to override __aexit__ which has more complexity than disconnect() (extra arguments), which users usually don't need to care about.
Proposed solution
- Move cleanup logic from
__aexit__() to disconnect() and call disconnect() from __aexit__ (like we call connect() in __aenter__).
- Document how users should add cleanup code overriding
disconnect() (probably add an example with stopping broadcasters, being that one very common use case).
Use cases
- Stopping and cleaning up broadcasters.
What's needed?
We need to make it more intuitive for users to be able to add cleanup logic to sub-classes. Right now users need to override
__aexit__which has more complexity thandisconnect()(extra arguments), which users usually don't need to care about.Proposed solution
__aexit__()todisconnect()and calldisconnect()from__aexit__(like we callconnect()in__aenter__).disconnect()(probably add an example with stopping broadcasters, being that one very common use case).Use cases