-
-
Notifications
You must be signed in to change notification settings - Fork 0
Description
🪤 Context
One of the design requirements for virtual services is the ability to enable / disable at any time. In order to do that without creating accidental memory leaks, the outside coordinator needs a way to patch these reliably without adversely affecting the underlying libraries for normal day to day usage
It's easy to spin these up, but harder to not do things like leaving open event handles open. hass had to have some invasive patches for refBy, and that's a thing that will be repeated across all libraries
What seems best is to flip control of the situation, and implement a plugin registration system. Modules that want to participate in code-glue need to register plugins that will provide a wrapper around their functionality. The wrapper will allow for the tracking and cleanup of refs that the library creates