LoopbackTailscale class final

Minimal tailscale engine used for multi-process loopback tests.

Constructors

LoopbackTailscale({required String localIp, Map<String, int>? peerPortIndex, int? fallbackPeerPort, Duration responseTimeout = _loopbackResponseTimeout})

Properties

diag → Diag
no setteroverride
exitNode → ExitNode
no setteroverride
funnel → Funnel
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
http → Http
no setteroverride
isRunning bool
no setter
isStarted bool
no setter
localIp String
getter/setter pair
onError Stream<TailscaleRuntimeError>
Background runtime errors pushed from the embedded node.
no setteroverride
onNodeChanges Stream<List<TailscaleNode>>
Emits the full node list on any change (node joined, left, went on/off-line, tags or DNS name changed).
no setteroverride
onStateChange Stream<NodeState>
Emits the new NodeState whenever the node's lifecycle state changes.
no setteroverride
peerPortIndex Map<String, int>
no setter
prefs → Prefs
no setteroverride
profiles → Profiles
no setteroverride
responseTimeout Duration
Maximum idle time to wait for a loopback peer response.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
serve → Serve
no setteroverride
taildrop → Taildrop
no setteroverride
tcp → Tcp
no setteroverride
tls → Tls
no setteroverride
udp → Udp
no setteroverride

Methods

close() → void
configure({String? localIp, Map<String, int>? peerPortIndex, int? fallbackPeerPort, bool clearFallbackPeerPort = false, Object? upError, bool clearUpError = false}) → void
down() Future<void>
Brings the embedded node down while preserving persisted credentials.
override
logout() Future<void>
Logs out and clears persisted credentials.
override
nodeByIp(String ip) Future<TailscaleNode?>
Returns the first known node with ip in its Tailscale IP list.
override
nodes() Future<List<TailscaleNode>>
Returns the current node inventory — every node on the tailnet this node is aware of, whether online right now or not.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
reset({bool started = false, Map<String, int>? peerPortIndex, int? fallbackPeerPort}) → void
status() Future<TailscaleStatus>
Returns the current node status — lifecycle state, assigned tailnet IPs, health warnings, and MagicDNS suffix. Node inventory is separate; call nodes when you need it.
override
toString() String
A string representation of this object.
inherited
up({String hostname = '', String? authKey, Uri? controlUrl, bool ephemeral = false, Duration timeout = const Duration(seconds: 30)}) Future<TailscaleStatus>
Brings the embedded Tailscale node up and connects to the control plane — Tailscale's coordination service at controlplane.tailscale.com, or a self-hosted Headscale if you set controlUrl. Registers the node on first launch, reconnects from persisted credentials on subsequent launches.
override
whois(String ip) Future<TailscaleNodeIdentity?>
Resolves a tailnet IP to the node's identity — stable node ID, owner login, hostname, and ACL tags — by querying the local LocalAPI.
override

Operators

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