RelayRouting class
Who receives what, on a relay-style transport.
LSL has no equivalent: an inlet connects straight to an outlet and the
network does the rest. A relay has to be told, so addInlet becomes a
subscription recorded here, and every published sample is fanned out to the
subscribers of that exact (stream, producer) pair.
Keeping the routing table separate from the socket handling is what lets the in-memory transport and the WebSocket hub share it — and it means the fan-out logic is unit-testable without any I/O.
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
clear(
) → void -
hasSubscribers(
{required String streamName, required String producerEndpointId}) → bool - Whether anyone is subscribed to this producer's stream.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
removeEndpoint(
String endpointId) → void -
Drops every route mentioning
endpointId, as producer or subscriber. -
subscribe(
{required String streamName, required String producerEndpointId, required String subscriberEndpointId}) → void -
Records that
subscriberEndpointIdwantsstreamNamefromproducerEndpointId. -
subscribersFor(
{required String streamName, required String producerEndpointId}) → Set< String> -
Who should receive a sample published on
streamNamebyproducerEndpointId. -
toString(
) → String -
A string representation of this object.
inherited
-
unsubscribe(
{required String streamName, required String producerEndpointId, required String subscriberEndpointId}) → void - Removes one subscription.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited