pub struct LinkAddress { /* private fields */ }Expand description
Address of a record link: scheme://resource (e.g. mqtt://sensors/temp).
A link address names a topic/resource on a connector’s already-configured
endpoint — it is not a URL: there is no host, port, or credential
component (the connector constructor takes the endpoint
ConnectorUrl). The scheme selects which registered connector serves
the link; the resource is passed to it verbatim (e.g. an MQTT topic, a
KNX group address).
A trailing ?key=value query is accepted and ignored; per-link options
are passed via .with_config() / .with_timeout_ms().
Implementations§
Source§impl LinkAddress
impl LinkAddress
Sourcepub fn parse(s: &str) -> DbResult<Self>
pub fn parse(s: &str) -> DbResult<Self>
Parses a scheme://resource link address.
§Example
use aimdb_core::connector::LinkAddress;
let addr = LinkAddress::parse("mqtt://sensors/temp").unwrap();
assert_eq!(addr.scheme(), "mqtt");
assert_eq!(addr.resource_id(), "sensors/temp");Sourcepub fn scheme(&self) -> &str
pub fn scheme(&self) -> &str
Returns the scheme (selects the registered connector, e.g. "mqtt").
Sourcepub fn resource_id(&self) -> &str
pub fn resource_id(&self) -> &str
Returns the resource identifier the connector addresses (topic, group address, path — passed to the connector verbatim).
Trait Implementations§
Source§impl Clone for LinkAddress
impl Clone for LinkAddress
Source§fn clone(&self) -> LinkAddress
fn clone(&self) -> LinkAddress
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more