3.0.ipv8.peerdiscovery.churn ============================ .. py:module:: 3.0.ipv8.peerdiscovery.churn Classes ------- .. autoapisummary:: 3.0.ipv8.peerdiscovery.churn.RandomChurn Module Contents --------------- .. py:class:: RandomChurn(overlay: 3.0.ipv8.types.Overlay, sample_size: int = 8, ping_interval: float = 10.0, inactive_time: float = 27.5, drop_time: float = 57.5) Bases: :py:obj:`3.0.ipv8.peerdiscovery.discovery.DiscoveryStrategy`\ [\ :py:obj:`3.0.ipv8.types.Overlay`\ ] Select random peers, ping them if inactive, remove them if unresponsive. .. py:attribute:: _pinged :type: dict[3.0.ipv8.types.Address, float] .. py:attribute:: sample_size .. py:attribute:: ping_interval .. py:attribute:: inactive_time .. py:attribute:: drop_time .. py:method:: should_drop(peer: 3.0.ipv8.types.Peer) -> bool Have we passed the time before we consider this peer to be unreachable. .. py:method:: is_inactive(peer: 3.0.ipv8.types.Peer) -> bool Have we passed the time before we consider this peer to be inactive. .. py:method:: take_step() -> None Select a new (set of) peer(s) to investigate liveness for.