p2p/protocol/identify/identify library

Identify service for libp2p.

This file contains the implementation of the identify service, which is responsible for exchanging peer information with other peers.

This is a port of the Go implementation from go-libp2p/p2p/protocol/identify/id.go to Dart, using native Dart idioms.

Classes

Entry
Entry for a connection in the identify service
IdentifyService
Implementation of the identify service
IdentifySnapshot
A snapshot of the identify information for a peer
Semaphore
Helper class for limiting concurrency

Constants

ConnectedAddrTTL → const Duration
connectedPeerMaxAddrs → const int
id → const String
Protocol IDs for the identify protocol
idPush → const String
legacyIDSize → const int
Maximum sizes for identify messages
maxMessages → const int
maxOwnIdentifyMsgSize → const int
maxPushConcurrency → const int
RecentlyConnectedAddrTTL → const Duration
recentlyConnectedPeerMaxAddrs → const int
Number of addresses to keep for peers we have disconnected from for peerstore.RecentlyConnectedTTL time This number can be small as we already filter peer addresses based on whether the peer is connected to us over localhost, private IP or public IP address
serviceName → const String
signedIDSize → const int
TempAddrTTL → const Duration
timeout → const Duration
Timeout for all incoming Identify interactions

Exceptions / Errors

StreamClosedException