LivelinessToken class

A liveliness token that advertises the session's presence on a key expression for as long as it remains undeclared.

Wraps z_owned_liveliness_token_t. Call close when done to undeclare the token and release native resources.

This object holds a native handle, so it cannot cross an isolate boundary: a copy would share this one's native address while carrying its own fresh disposal flag, and the second release would be a use-after-free. Sending it throws ArgumentError naming the class.

No NativeFinalizer is attached to this class, deliberately: its release is REMOTE-VISIBLE: an unretained token vanishing at garbage collection sends a DELETE that intersecting liveliness subscribers observe, which a working program does not expect. Releasing it explicitly is therefore the only thing that reclaims it.

Implemented types

Constructors

LivelinessToken.declare(Pointer<Void> loanedSession, Pointer<Void> loanedKeyExpr, String keyExpr)
Declares a liveliness token on the given session and key expression.
factory

Properties

hashCode int
The hash code for this object.
no setterinherited
keyExpr String
The key expression this liveliness token is declared on.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

close() → void
Undeclares the liveliness token and releases native resources.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

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