Router class

Constructors

Router({int port = TransportUdp.defaultPort, Duration debounceInterval = const Duration(seconds: 1), void logger(String)? = kDebugMode ? print : null})
Router.mdns({required String serviceName, required String serviceType, int port = TransportUdp.defaultPort, Duration debounceInterval = const Duration(seconds: 1), Duration mdnsTimeout = const Duration(seconds: 5), void logger(String)? = kDebugMode ? print : null})

Properties

crypto → Crypto
The cryptography instance used for encryption and signing.
finalinherited
debounceInterval → Duration
final
deltaT ↔ int
Defines the required clock synchronization accuracy between nodes, in milliseconds.
getter/setter pairinherited
hashCode → int
The hash code for this object.
no setterinherited
isNotRunning → bool
no setterinherited
isRunning → bool
no setterinherited
keepalivePeriod → Duration
The keepalive period, specifying the interval for sending keepalive messages to peers.
finalinherited
lastSeenStream → Stream<PeerStatus>
A stream of peer status updates.
no setterinherited
logger ↔ void Function(String)?
The logger used for logging events.
getter/setter pairinherited
maxForwardsLimit ↔ int
Defines the maximum number of times a message can be forwarded.
getter/setter pairinherited
maxStoredHeaders ↔ int
The maximum number of stored headers for routes.
getter/setter pairinherited
messageStream → Stream<Message>
Returns a stream of incoming messages.
no setterinherited
messageTTL ↔ Duration
The message time-to-live, specifying how long messages are considered valid.
getter/setter pairinherited
peerAddressTTL ↔ Duration
The peer address time-to-live, specifying how long peer addresses are considered valid. Defaults to twice the keepalive period.
getter/setter pairinherited
peerOnlineTimeout ↔ Duration
The timeout period for considering a peer offline.
getter/setter pairinherited
port → int
final
retryPeriod ↔ Duration
The retry period for sending messages.
getter/setter pairinherited
routes → Map<PeerId, Route>
The routes maintained by the router, stored as a map of PeerId to Route.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
selfAddresses → Iterable<FullAddress>
Returns an iterable of the self addresses of this router.
no setterinherited
selfId → PeerId
no setterinherited
transports → List<TransportBase>
The transports used for network communication.
finalinherited
useForwardersLimit ↔ int
Defines the maximum number of forwarders to use for message delivery.
getter/setter pairinherited

Methods

addBootstrap({required String bsName, required String bsPeerId, int port = TransportUdp.defaultPort}) → Future<void>
Adds a bootstrap node to the router.
inherited
addPeerAddress({required PeerId peerId, required FullAddress address, required AddressProperties properties, bool? canForward}) → void
Adds an address for a peer to the routing table.
inherited
getPeerStatus(PeerId peerId) → bool
Returns the status of a peer.
inherited
init([Uint8List? seed]) → Future<Uint8List>
Initializes the router.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onMessage(Packet packet) → Future<Packet>
Handles incoming packets.
inherited
pingPeer(PeerId peerId) → Future<bool>
Pings a peer to check if it is online.
inherited
removeAllBootstraps() → void
Removes all bootstrap nodes from the router.
inherited
removePeerAddress(PeerId peerId) → void
Removes the peer address from the routing table.
inherited
resolvePeerId(PeerId peerId) → Iterable<FullAddress>
Resolves a Peer ID to a set of network addresses.
inherited
sendDatagram({required Iterable<FullAddress> addresses, required Uint8List datagram}) → void
Sends a datagram to the specified addresses.
inherited
sendDatagramConfirmable({required int messageId, required Uint8List datagram, required Iterable<FullAddress> addresses, Duration? ackTimeout}) → Future<void>
Sends a confirmable datagram and waits for an acknowledgement.
inherited
sendMessage({required PeerId dstPeerId, bool isConfirmable = false, int? messageId, Uint8List? payload, Duration? ackTimeout, Iterable<FullAddress>? useAddresses}) → Future<PacketHeader>
Sends a message to the specified destination peer.
inherited
start({int? port}) → Future<void>
Starts the router and binds to available network interfaces.
stop() → Future<void>
Stops the router and clears the transports.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited