3.0.ipv8.bootstrapping.dispersy.bootstrapper

Classes

Module Contents

class 3.0.ipv8.bootstrapping.dispersy.bootstrapper.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: 3.0.ipv8.bootstrapping.bootstrapper_interface.Bootstrapper

Bootstrapper that uses the Dispersy protocol to find initial peers.

ip_addresses
dns_addresses
bootstrap_timeout
last_bootstrap: float = 0
async resolve_dns_bootstrap_addresses() None

Resolve the bootstrap server DNS names defined in dns_addresses and insert them into ip_addresses.

async initialize(overlay: 3.0.ipv8.community.Community) bool

Initialize this bootstrapper for the given Community, settings its blacklist.

async get_addresses(overlay: 3.0.ipv8.community.Community, timeout: float) collections.abc.Iterable[3.0.ipv8.types.Address]

Attempt to find new addresses for the given overlay.

We never have pending addresses and this function always returns an empty list.

keep_alive(overlay: 3.0.ipv8.community.Community) None

Keep at least one connection to any bootstrap server open. This avoids network splits/partitioning.

blacklist() collections.abc.Iterable[3.0.ipv8.types.Address]

Overlays should not consider bootstrap nodes to be normal peers.

unload() None

Unload this bootstrapper.