Skip to content
This repository was archived by the owner on Apr 22, 2025. It is now read-only.
This repository was archived by the owner on Apr 22, 2025. It is now read-only.

UDP-capable discovery and bootstrap #131

@nmcodeeu

Description

@nmcodeeu

Hi,

As discussed on the mailing list few weeks ago, Discovery and Bootstrap builders should have a UDP/TCP switch for users to choose the bootstrap protocol.

I started to include my work based on the latest master state.

However the discovery process remains unclear to me after a few hours spent studying the existing code...
Why the public-IP discovery is a two-steps process ? Currently, a first (tcp) pingDiscover is fired to a known peer. The response message should contain our public IP (through the recipient() property). The internal peerAddress is updated accordingly, then tcp and udp pingProbe messages are sent. The discovery process succeeds only once the fire and forget ping from the known peer is received.
In which case the pingDiscover response is insufficient to consider the discovery process complete ?

I also encountered an issue during my tests: the UDP pingDiscover response doesn't contain a recipient address (recipient().ipv4Socket() == null). Is it normal ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions