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

RelayRouting()

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 subscriberEndpointId wants streamName from producerEndpointId.
subscribersFor({required String streamName, required String producerEndpointId}) → Set<String>
Who should receive a sample published on streamName by producerEndpointId.
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