buttplug
buttplug copied to clipboard
Use task handles to tie future lifetimes to spawning instances
Feature Description
Right now we spawn futures without really paying much attention to when they should die, or else by using CancelationTokens in order to let them die when the token is dropped. Where possible, we should just use join handles as provided by the async_manager in order to drop when we don't need cleanup otherwise (when we do, we can continue using CancelationTokens).
We also have some places where there are implicit drops due to things like one side of a channel exiting. In these cases, we should just make sure that we log at debug level in order to trace lifetimes.