3.0.ipv8.bootstrapping.dispersy.bootstrapper ============================================ .. py:module:: 3.0.ipv8.bootstrapping.dispersy.bootstrapper Classes ------- .. autoapisummary:: 3.0.ipv8.bootstrapping.dispersy.bootstrapper.DispersyBootstrapper Module Contents --------------- .. py:class:: DispersyBootstrapper(ip_addresses: collections.abc.Iterable[3.0.ipv8.types.Address], dns_addresses: collections.abc.Iterable[3.0.ipv8.types.Address], bootstrap_timeout: float = 30.0) Bases: :py:obj:`3.0.ipv8.bootstrapping.bootstrapper_interface.Bootstrapper` Bootstrapper that uses the Dispersy protocol to find initial peers. .. py:attribute:: ip_addresses .. py:attribute:: dns_addresses .. py:attribute:: bootstrap_timeout .. py:attribute:: last_bootstrap :type: float :value: 0 .. py:method:: resolve_dns_bootstrap_addresses() -> None :async: Resolve the bootstrap server DNS names defined in ``dns_addresses`` and insert them into ``ip_addresses``. .. py:method:: initialize(overlay: 3.0.ipv8.community.Community) -> bool :async: Initialize this bootstrapper for the given Community, settings its blacklist. .. py:method:: get_addresses(overlay: 3.0.ipv8.community.Community, timeout: float) -> collections.abc.Iterable[3.0.ipv8.types.Address] :async: Attempt to find new addresses for the given overlay. We never have pending addresses and this function always returns an empty list. .. py:method:: keep_alive(overlay: 3.0.ipv8.community.Community) -> None Keep at least one connection to any bootstrap server open. This avoids network splits/partitioning. .. py:method:: blacklist() -> collections.abc.Iterable[3.0.ipv8.types.Address] Overlays should not consider bootstrap nodes to be normal peers. .. py:method:: unload() -> None Unload this bootstrapper.