iroh
iroh copied to clipboard
iroh-net: Create custom Quinn::Runtime impl to keep track of spawned tasks
One issue we have is that Quinn spawns driver tasks that we have little control over. E.g. at close time we would like to close the socket but then some endpoint driver task will get a read error.
If we created our own impl of Quinn::Runtime then we could keep track of the spawned tasks in a JoinSet or TaskTracker and make sure they are aborted on close, after which we could close the socket safely.