Skip to content

register: peer death goes undetected until the refresh interval #168

Description

@Mliviu79

QualifyLoop only touches the registrar when the refresh fires. Between refreshes there is no liveness signal at all, so a registrar that has gone away is not noticed for as long as the refresh interval — which, once the refresh is derived from a long grant, can be tens of minutes.

Proposal: OptionsKeepaliveLoop, an opt-in out-of-dialog OPTIONS every 15s that gives up after 3 consecutive transport errors or transaction timeouts. Nothing in Register calls it, so it is inert unless a caller starts it.

The period and the failure threshold are unexported constants with no RegisterOptions knob — deliberate for a first cut, and easy to expose if you would rather they were settable.

This adds one exported method, so it is a design call. Stacked on #167, which it needs.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions