-
Notifications
You must be signed in to change notification settings - Fork 346
Open
Copy link
Labels
c-irohFunctionality of the core iroh crate.Functionality of the core iroh crate.
Milestone
Description
- We want users to call
endpoint::closebefore the endpoint is dropped. Callingcloseensures that the endpoint is being a good/hygienic network citizen - However, when an endpoint IS dropped, there is no communication that this breach in protocol happened.
- Furthermore, when it's dropped, it takes an unexpected amount of time to release its resources. (because quinn still monitors/babysits any open connections for PTO*3 amount of time before releases the connection resources.)
- This causes confusion for the user/dev. There is no indication for the dev that the endpoint was dropped un-gracefully BUT ALSO there are still resources that are being held onto.
- This can cause users issues when trying to recover. For example, the old endpoint may still attempt to connect to the relay using the given endpoint ID identity while the new endpoint tries to connect to it for the first time using that same endpoint ID, and they fight for contention until the old endpoint is finally cleaned up.
To fix both issues, we should:
- communicating to the user that they are handling the endpoint improperly and
- ensure that even when it handled improperly resources are released in an expected manner AKA we want to add the ability to drop everything in the endpoint on the floor when it is dropped un-gracefully.
Frando and adzialocha
Metadata
Metadata
Assignees
Labels
c-irohFunctionality of the core iroh crate.Functionality of the core iroh crate.
Type
Projects
Status
π In progress