pub struct UnpairRequestMessage {
pub memo: String,
pub timestamp: Option<Timestamp>,
}Expand description
UnpairRequestMessage requests termination of the DeRec relationship between two parties (Owner and Helper).
§Context
This message is used when:
- the Owner no longer wants a Helper to store shares
- the Helper chooses to stop acting as a Helper
- the relationship must be terminated due to policy, failure, or user action
§Semantics
Upon receiving this message, the recipient MUST:
- stop acting as a Helper for the corresponding channel
- cease all protocol interactions for that channel
The recipient SHOULD:
- delete all stored shares and related state for the Owner
However, deletion MAY be subject to:
- regulatory requirements
- contractual obligations
- service-specific retention policies
§Effects on Protocol State
After a successful unpair:
- the channel is considered permanently closed
- the Owner MUST NOT rely on this Helper for recovery
- the Owner SHOULD reshare secrets with remaining Helpers if necessary
§Idempotency
This message is idempotent. Repeated unpair requests SHOULD result in the same final state.
Fields§
§memo: StringOptional human-readable explanation for the unpairing.
This field is intended for logging, debugging, or user display. It MUST NOT be relied upon for protocol behavior.
timestamp: Option<Timestamp>Timestamp indicating when this message was created.
This value is expressed in UTC and can be used for:
- observability and logging
- replay detection (in combination with sequence numbers)
- timeout handling
Trait Implementations§
Source§impl Clone for UnpairRequestMessage
impl Clone for UnpairRequestMessage
Source§fn clone(&self) -> UnpairRequestMessage
fn clone(&self) -> UnpairRequestMessage
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 UnpairRequestMessage
impl Debug for UnpairRequestMessage
Source§impl Default for UnpairRequestMessage
impl Default for UnpairRequestMessage
Source§impl Hash for UnpairRequestMessage
impl Hash for UnpairRequestMessage
Source§impl Message for UnpairRequestMessage
impl Message for UnpairRequestMessage
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.Source§impl PartialEq for UnpairRequestMessage
impl PartialEq for UnpairRequestMessage
impl Eq for UnpairRequestMessage
impl StructuralPartialEq for UnpairRequestMessage
Auto Trait Implementations§
impl Freeze for UnpairRequestMessage
impl RefUnwindSafe for UnpairRequestMessage
impl Send for UnpairRequestMessage
impl Sync for UnpairRequestMessage
impl Unpin for UnpairRequestMessage
impl UnsafeUnpin for UnpairRequestMessage
impl UnwindSafe for UnpairRequestMessage
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