NatBehaviorTracker class

A class that tracks NAT behavior over time

Constructors

NatBehaviorTracker.new({required StunClientPool stunClientPool, StorageBroker? storageBroker, NetworkInterfaceMonitor? networkInterfaceMonitor, String storageKey = 'nat_behavior', Duration checkInterval = const Duration(minutes: 30), int maxHistorySize = 100})
Creates a new NAT behavior tracker

Properties

behaviorHistory List<NatBehaviorRecord>
The history of NAT behavior records
no setter
callbacks List<NatBehaviorChangeCallback>
no setter
checkInterval Duration
The interval between periodic checks
final
currentBehavior NatBehavior
The current NAT behavior
no setter
hashCode int
The hash code for this object.
no setterinherited
maxHistorySize int
The maximum number of behavior records to keep in history
final
networkInterfaceMonitor NetworkInterfaceMonitor?
The network interface monitor to use for detecting network changes
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
storageBroker StorageBroker?
The storage broker to use for persistent storage
final
storageKey String
The key to use for storage
final
stunClientPool StunClientPool
The STUN client pool to use for NAT behavior discovery
final

Methods

addBehaviorChangeCallback(NatBehaviorChangeCallback callback) → void
Adds a callback for NAT behavior changes
discoverBehavior() Future<NatBehavior>
Discovers the current NAT behavior
dispose() → void
Disposes the NAT behavior tracker
initialize() Future<void>
Initializes the NAT behavior tracker
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
removeBehaviorChangeCallback(NatBehaviorChangeCallback callback) → void
Removes a callback for NAT behavior changes
stopPeriodicChecks() → void
Stops periodic checks for NAT behavior changes
toString() String
A string representation of this object.
inherited

Operators

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