Skip to content

UDP socket abstraction needs a deregister step #427

@thirtytwobits

Description

@thirtytwobits

We currently simply delete socket objects when we no longer need them. For UDP multicast we need time to unregister using IGMP. Trying to run this in a destructor is an anti-pattern. We need to define a lifecycle for these abstract sockets where we remove them from use but continue to service them until the say they are ready for deletion. This would give us time to try to deregister/leave the multicast group and possibly retry if the system were out of tx buffers. Furthermore, a well-optimized system would run this IGMP de-registration step at a lower priority only sending the IGMP when there wasn't a lot of outgoing traffic in the queues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    class-requirementIssue that can be traced back to a design requiementdomain-productionPertains to the shippable code rather than any scaffolding

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions