Expand description
Endpoint resolution — map a scheme:// URL (or a bare path) to a transport
Dialer, so an operator can pick the transport at runtime the same way
records pick one for links.
Two layers, deliberately split so the grammar is testable without any transport compiled in:
parse_endpoint— pure, feature-independent. Recognizes the scheme grammar (unix:///uds:///serial:///tcp://host:port, plus a bare path asunix://shorthand) into aParsedEndpoint. An unknown scheme is rejected here.dial— builds the concreteDialerfor a parsed endpoint, under the matchingtransport-*feature. A scheme whose transport isn’t compiled into this binary is rejected here (distinct from “unknown scheme”).
Structs§
- Parsed
Endpoint - A parsed endpoint: the transport family plus its target and any transport options (currently just the serial baud).
Enums§
- Scheme
- The transport family an endpoint names. Always compiled (it is grammar, not a
capability) — whether a given variant can actually be dialed depends on the
transport-*features, enforced indial.
Constants§
- DEFAULT_
SERIAL_ BAUD - Default serial baud when a
serial://endpoint omits?baud=.
Functions§
- dial
- Resolve an endpoint string to a boxed
Dialerfor the linked-in transport. - parse_
endpoint - Parse an endpoint string into a
ParsedEndpoint(pure; no transport needed).