libp2p.discovery.mdns package

Submodules

libp2p.discovery.mdns.broadcaster module

class libp2p.discovery.mdns.broadcaster.PeerBroadcaster(zeroconf: Zeroconf, service_type: str, service_name: str, peer_id: str, port: int)

Bases: object

Broadcasts this peer’s presence on the local network using mDNS/zeroconf. Registers a service with the peer’s ID in the TXT record as per libp2p spec.

register() None

Register the peer’s mDNS service on the network.

unregister() None

Unregister the peer’s mDNS service from the network.

libp2p.discovery.mdns.listener module

class libp2p.discovery.mdns.listener.PeerListener(peerstore: IPeerStore, zeroconf: Zeroconf, service_type: str, service_name: str)

Bases: ServiceListener

mDNS listener — now a true ServiceListener subclass.

add_service(zc: Zeroconf, type_: str, name: str) None
remove_service(zc: Zeroconf, type_: str, name: str) None
stop() None
update_service(zc: Zeroconf, type_: str, name: str) None

libp2p.discovery.mdns.mdns module

mDNS-based peer discovery for py-libp2p. Conforms to https://github.com/libp2p/specs/blob/master/discovery/mdns.md Uses zeroconf for mDNS broadcast/listen. Async operations use trio.

class libp2p.discovery.mdns.mdns.MDNSDiscovery(swarm: INetworkService, port: int = 8000)

Bases: object

mDNS-based peer discovery for py-libp2p, using zeroconf. Conforms to the libp2p mDNS discovery spec.

start() None

Register this peer and start listening for others.

stop() None

Unregister this peer and clean up zeroconf resources.

libp2p.discovery.mdns.utils module

libp2p.discovery.mdns.utils.stringGen(len: int = 63) str

Generate a random string of lowercase letters and digits.

Module contents