DistanceVectorRoutingAlgorithm<T> class

Distance-Vector Routing Algorithm implementation

Constructors

DistanceVectorRoutingAlgorithm({Duration updateInterval = _defaultUpdateInterval, Duration routeTimeout = _routeTimeout, int maxIterations = _maxIterations, bool enableSplitHorizon = true, bool enablePoisonReverse = true, bool enableTriggeredUpdates = true})
Creates a distance-vector routing algorithm instance
const

Properties

enablePoisonReverse → bool
final
enableSplitHorizon → bool
final
enableTriggeredUpdates → bool
final
hashCode → int
The hash code for this object.
no setterinherited
maxIterations → int
final
routeTimeout → Duration
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
updateInterval → Duration
final

Methods

cleanupStaleRoutes(DistanceVectorRoutingTable<T> routingTable, DateTime currentTime) → DistanceVectorRoutingTable<T>
Removes stale routes and performs garbage collection
computeRoutes(Map<T, Map<T, num>> network, T sourceNode, {Map<T, NeighborAdvertisement<T>>? initialAdvertisements}) → DistanceVectorRoutingTable<T>
Computes complete routing table using distance-vector algorithm
getDistanceVectorStatistics(DistanceVectorRoutingTable<T> routingTable) → Map<String, dynamic>
Gets comprehensive statistics for monitoring and analysis
getNextUpdateTime(DistanceVectorRoutingTable<T> routingTable) → DateTime
Gets the next update time for the routing table
needsUpdate(DistanceVectorRoutingTable<T> routingTable, DateTime currentTime) → bool
Checks if routing table needs updating based on time intervals
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
processNeighborUpdate(DistanceVectorRoutingTable<T> currentTable, NeighborAdvertisement<T> advertisement, Map<T, Map<T, num>> network) → DistanceVectorRoutingTable<T>?
Processes a single neighbor advertisement update
toString() → String
A string representation of this object.
inherited
updateFromNeighborAdvertisements(DistanceVectorRoutingTable<T> currentTable, Map<T, NeighborAdvertisement<T>> advertisements, Map<T, Map<T, num>> network) → DistanceVectorRoutingTable<T>?
Updates routing table based on neighbor advertisements
validateDistanceVectorTable(DistanceVectorRoutingTable<T> routingTable, Map<T, Map<T, num>> network) → List<String>
Validates distance-vector routing table consistency

Operators

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