latest.ipv8.peerdiscovery.churn

Module Contents

Classes

RandomChurn

Select random peers, ping them if inactive, remove them if unresponsive.

class latest.ipv8.peerdiscovery.churn.RandomChurn(overlay: latest.ipv8.types.Overlay, sample_size: int = 8, ping_interval: float = 10.0, inactive_time: float = 27.5, drop_time: float = 57.5)

Bases: latest.ipv8.peerdiscovery.discovery.DiscoveryStrategy[latest.ipv8.types.Overlay]

Select random peers, ping them if inactive, remove them if unresponsive.

should_drop(peer: latest.ipv8.types.Peer) bool

Have we passed the time before we consider this peer to be unreachable.

is_inactive(peer: latest.ipv8.types.Peer) bool

Have we passed the time before we consider this peer to be inactive.

take_step() None

Select a new (set of) peer(s) to investigate liveness for.