I've been reading on IGMP v3 and think I understand the basics of how to join a multicast group - sending a [Membership Report Message](https://datatracker.ietf.org/doc/html/rfc3376#section-4.2).

But I'm not sure what the "best" or even conventional (usual) way to make sure group membership persists. Example being in case of router reboot. I don't think this is handled by prior APIs I've been using. At least not explicitly.

Ways that come to mind, in no particular order:

* Resend join message in case address turn silent.
* Query Membership, resend join on mismatch.
* Wait for... something sent from rebooted router? Or something suggesting the table has been dropped? Not sure what that'd be exactly.

When I say "good way" I mean a way that is robust, and either or both makes for low traffic and fast recovery.