pub enum MatterLocalService {
Commissioned {
compressed_fabric_id: u64,
node_id: u64,
},
Commissionable {
id: u64,
discriminator: u16,
enhanced: bool,
},
}Expand description
A Matter service that this node advertises (publishes) over a discovery transport such as mDNS.
This is the publish-side identity; the query-side analog is
MatterRemoteService. The discovery-transport encoding (e.g. the mDNS
MdnsLocalService record) lives in the mdns module
(MatterLocalService::service).
Variants§
Commissioned
A commissioned Matter service for a particular fabric
The published name is in the form <compressed-fabric-id-hex>-<node-id-hex>.
Commissionable
A non-commissioned Matter service
The published name is in the form <id-hex>. The discriminator should be used as an mDNS TXT entry
Implementations§
Source§impl MatterLocalService
impl MatterLocalService
Sourcepub fn service<'a>(
&self,
matter: &Matter<'_>,
buf: &'a mut [u8],
) -> Result<(MdnsLocalService<'a, impl Iterator<Item = &'a str> + Clone, impl Iterator<Item = (&'a str, &'a str)> + Clone>, &'a mut [u8]), Error>
pub fn service<'a>( &self, matter: &Matter<'_>, buf: &'a mut [u8], ) -> Result<(MdnsLocalService<'a, impl Iterator<Item = &'a str> + Clone, impl Iterator<Item = (&'a str, &'a str)> + Clone>, &'a mut [u8]), Error>
Build a full mDNS service description for this Matter service, including the service name, type, protocol, port, subtypes, and TXT records.
Pulls everything it needs (device details, port, ICD operating mode) from
matter, so callers don’t have to keep their argument lists in sync as
the advertised record grows.
Trait Implementations§
Source§impl Clone for MatterLocalService
impl Clone for MatterLocalService
Source§fn clone(&self) -> MatterLocalService
fn clone(&self) -> MatterLocalService
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MatterLocalService
impl Debug for MatterLocalService
impl Eq for MatterLocalService
Source§impl Hash for MatterLocalService
impl Hash for MatterLocalService
Source§impl PartialEq for MatterLocalService
impl PartialEq for MatterLocalService
impl StructuralPartialEq for MatterLocalService
Auto Trait Implementations§
impl Freeze for MatterLocalService
impl RefUnwindSafe for MatterLocalService
impl Send for MatterLocalService
impl Sync for MatterLocalService
impl Unpin for MatterLocalService
impl UnsafeUnpin for MatterLocalService
impl UnwindSafe for MatterLocalService
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more