ArrayLock class

An isolate-local lock backed by an in-memory ArrayStore.

The lock state is lost when the store is discarded and is not shared with other isolates or processes. Use this implementation for tests and single-isolate applications, not for coordinating multiple workers.

Inheritance

Constructors

ArrayLock(ArrayStore store, String name, int seconds, [String? owner])
Creates a lock with the given store, name, and lease duration.

Properties

hashCode int
The hash code for this object.
no setterinherited
name String
The backend key or name used to identify the lock.
finalinherited
ownerId String
The cooperative owner identifier used for release checks.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
seconds int
The requested lease duration in seconds.
finalinherited
sleepMilliseconds int
The delay in milliseconds between block acquisition attempts.
getter/setter pairinherited
store ArrayStore
The underlying array store used for locking.
final

Methods

acquire() Future<bool>
Acquires the lock if it is not already held by another owner.
override
betweenBlockedAttemptsSleepFor(int milliseconds) → void
Sets the delay between blocked acquisition attempts.
inherited
block(int seconds, [Function? callback]) Future
Polls until the lock is acquired or the timeout is reached.
override
forceRelease() → void
Removes the lock entry regardless of ownership.
get([Function? callback]) Future
Acquires the lock and optionally executes a callback while holding it.
override
getCurrentOwner() Future<String?>
Gets the recorded owner of the lock.
override
isOwnedByCurrentProcess() Future<bool>
Checks whether the recorded owner matches this lock instance.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
owner() String
Returns this lock instance's owner identifier.
inherited
release() Future<bool>
Releases the lock if its recorded owner matches this lock instance.
override
toString() String
A string representation of this object.
inherited

Operators

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