#[non_exhaustive]pub enum Tag {
Anonymous,
Context(u8),
CommonProfile(u32),
ImplicitProfile(u32),
FullyQualified {
vendor: u16,
profile: u16,
tag: u32,
},
}Expand description
A Matter TLV tag.
The enum is marked #[non_exhaustive] so adding hypothetical future
variants is not a breaking change for downstream match expressions.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Anonymous
No tag bytes follow the control octet.
Context(u8)
One tag byte follows, carrying the context-specific tag number.
CommonProfile(u32)
A common-profile tag number. The writer emits 2 bytes if the value
fits in u16, otherwise 4 bytes.
ImplicitProfile(u32)
An implicit-profile tag number. The writer emits 2 bytes if the
value fits in u16, otherwise 4 bytes.
FullyQualified
A fully-qualified tag. Vendor and profile are always 2 bytes each
on the wire; the writer emits 2 bytes for tag if it fits in
u16, otherwise 4 bytes.
Trait Implementations§
impl Copy for Tag
impl Eq for Tag
impl StructuralPartialEq for Tag
Auto Trait Implementations§
impl Freeze for Tag
impl RefUnwindSafe for Tag
impl Send for Tag
impl Sync for Tag
impl Unpin for Tag
impl UnsafeUnpin for Tag
impl UnwindSafe for Tag
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
Mutably borrows from an owned value. Read more