Aqueduct class abstract

Flexible handler for creating long-lived isolate based workers.

All fields of the implementing type should be immutable and must be passable via SendPort.send. All field values will be shared with spawned isolate instance although mutations won't be reflected in the main instance.

Both isolate instances run in the "same" object, meaning events, next, context, ..., will have different values depending on which isolate tries to access the data. Further clarification for api surfaces can be provided using the meta annotations MainIsolate and SpawnedIsolate.

Implementers
Available Extensions

Constructors

Aqueduct()

Properties

contextRaw ↔ dynamic
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

isolateRun() → void
Run method for the spawned isolate.
launch() Future
Spawns an isolate and initializes it for bidirectional communication.
mainRun() → void
Run method for the main isolate.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
terminate() → void
Stops this isolate.
toString() String
A string representation of this object.
inherited

Operators

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

Static Methods

create({required dynamic main(Aqueduct), required dynamic isolate(Aqueduct)}) Aqueduct
Creates an aqueduct implementation using functions.