IsoMultiplexer class

Matches responses to the requests that are waiting for them.

The Java DefaultMultiplexer parks the caller on a cache keyed by the link header sequence; a Dart Completer per key does the same thing without the polling loop.

Constructors

IsoMultiplexer({required String keyOf(IsoMsg message)})

Properties

expired → int
no setter
hashCode → int
The hash code for this object.
no setterinherited
keyOf → String Function(IsoMsg message)
final
pending → int
no setter
received → int
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sent → int
no setter
unmatched → int
no setter

Methods

failAll(Object error) → void
Fails every waiting request, for use when the link drops.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyResponse(IsoMsg message) → bool
Hands an incoming message to whoever is waiting for it. Returns false when nothing matched, which usually means the request already timed out.
request(String key, Future<void> send(), Duration timeout) → Future<IsoMsg?>
Registers key as awaiting a response, runs send, then waits.
toString() → String
A string representation of this object.
inherited

Operators

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