Interface for all transport configurations.
A config knows how to build its own transport. That is deliberately a method here rather than a global transport registry: a registry would need every transport to register itself at library-initialisation time, which makes each one reachable from the core barrel and therefore un-tree-shakable — so an app using only LSL would still compile in the WebSocket transport and its dependencies. With this shape the only reference to a transport class is from its own config, which nothing reaches unless the application names it.
(If CoordinationConfig.fromMap is ever implemented, deserialisation will
need a registry keyed by a transportKind discriminator. Put it in the
deserialiser alone, so only callers who ask for it pay for it.)
- Implemented types
- Implementers
Properties
- description → String?
-
Returns a description of the identity.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- id → String
-
Returns a unique identifier for the identity.
no setterinherited
- name → String
-
Returns a human-readable name for the identity.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
copyWith(
) → IConfig -
Creates a copy with modified values
inherited
-
createTransport(
) → ITransport< ITransportConfig> - Builds a transport from this configuration.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toMap(
) → Map< String, dynamic> -
Converts the object to a map representation for serialization.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
validate(
{bool throwOnError = false}) → bool -
Validates the configuration
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited