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
PeerIdtoRoute.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