Restructure the library: the library was split into several files to make keeping only the necessary context a bit easier
GC for lost peers: for long-running apps it's useful to have some way to know if we didn't see a peer for a while
Introduce support for peer metadata + Lost peer notifications: useful if you want to store some information relevant to this specific peer to perform something upon loosing the peer
Shutdown support: simple way to stop the listener
Fix a few error shadowing issues
I made my best effort to keep the backwards compatibility, and as far as I know this PR should be backward-compatible.
I made my best effort to keep the backwards compatibility, and as far as I know this PR should be backward-compatible.