NitroCoalescer class

Web twin of NitroCoalescer — demultiplexer for coalesced @nitroNativeAsync completions, backed by a WebReceivePort instead of a ReceivePort.

The batch wire format is identical: the WASM side posts one int64 array of [callId0, value0, …] (post tag 4) over a single shared port. Scalar (int) results only.

Constructors

NitroCoalescer()

Properties

hashCode → int
The hash code for this object.
no setterinherited
nativePort → int
The port id to hand to the WASM submit call so its coalescer can address this demuxer.
no setter
pendingCount → int
Number of calls still awaiting a result.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sendPort → WebSendPort
The WebSendPort batches are posted to. Most callers only need nativePort; exposed for advanced use and testing (inject a batch [callId0, value0, …] directly).
no setter

Methods

dispose({int drainTurns = 8}) → Future<void>
Closes the shared port and settles every pending call. Drains up to drainTurns event-loop turns first so already-posted results complete normally; whatever remains is completed with a StateError. Idempotent.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
submit(void call(int callId, int nativePort)) → Future<int>
Registers a pending call, invokes call with the freshly-assigned id and nativePort, and returns the future that completes when the batch carrying this id arrives. Throws a StateError if called after dispose — the port is closed, so the result could never arrive.
toString() → String
A string representation of this object.
inherited

Operators

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