pub struct CommunicationInfoKeyValue {
pub key: String,
pub value: Option<Value>,
}Expand description
CommunicationInfoKeyValue represents a single application-defined key-value pair used to convey user-facing identification data.
§Purpose
This structure is intended for:
- displaying human-readable information to users during pairing
- helping users identify and confirm counterparties
- providing contextual metadata for UI/UX purposes
§Semantics
- The
keyis an application-defined identifier (e.g., “name”, “phone”) - The
valuecontains the associated data, either as a string or raw bytes
The protocol does not interpret these fields; they are opaque to the DeRec protocol and are only intended for application-level use.
§Encoding
Exactly one of the value fields MUST be set.
Implementations SHOULD:
- prefer
stringValuefor human-readable data - use
bytesValuefor structured or binary data (e.g., encoded identifiers)
§Interoperability
Applications SHOULD use consistent and well-known keys where possible (e.g., “name”, “email”, “phone”) to improve cross-implementation UX, but no global registry is enforced by the protocol.
Fields§
§key: StringApplication-defined key identifying the type of information.
Examples include “name”, “email”, “phone”, or “accountId”.
value: Option<Value>Value associated with the key.
Exactly one of the following fields MUST be set.
Trait Implementations§
Source§impl Clone for CommunicationInfoKeyValue
impl Clone for CommunicationInfoKeyValue
Source§fn clone(&self) -> CommunicationInfoKeyValue
fn clone(&self) -> CommunicationInfoKeyValue
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CommunicationInfoKeyValue
impl Debug for CommunicationInfoKeyValue
Source§impl Default for CommunicationInfoKeyValue
impl Default for CommunicationInfoKeyValue
Source§impl Hash for CommunicationInfoKeyValue
impl Hash for CommunicationInfoKeyValue
Source§impl Message for CommunicationInfoKeyValue
impl Message for CommunicationInfoKeyValue
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message with a length-delimiter to a buffer. Read more
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes an instance of the message from a buffer, and merges it into
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.impl Eq for CommunicationInfoKeyValue
impl StructuralPartialEq for CommunicationInfoKeyValue
Auto Trait Implementations§
impl Freeze for CommunicationInfoKeyValue
impl RefUnwindSafe for CommunicationInfoKeyValue
impl Send for CommunicationInfoKeyValue
impl Sync for CommunicationInfoKeyValue
impl Unpin for CommunicationInfoKeyValue
impl UnsafeUnpin for CommunicationInfoKeyValue
impl UnwindSafe for CommunicationInfoKeyValue
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