Add support for cooperative cancellation #144
Closed
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.
Hello. I've found this package in the process of replacing a different older package. The older package didn't offer any async/await anyway, so this one is already an improvement.
I've noticed that methods I would normally expect to support cancellation just don't.
I'd like to be able to pass a cancellation token of my own to
Start
,StartOrFail
,Stop
,StopOrFail
.I see you already internally manage a cancellation token and pass it on to the real underlying method calls to the websocket client. Could you provide overloads that allow me to pass my own token and link to it?
I'm not quite sure I've implemented the cancellation in the way you would have liked, so please use my PR as a suggestion. (I'm not sure how you'd like to combine with the cancellation token source you save at the class instance level)
There are considerations. Should then token passed into
Start
be able to also cancel the wholeListen
process afterStart
has finished? Arguably not. Feel free to modify my code as you see fit.