pub struct ReplicaInfo {
pub channel_id: u64,
pub transport_uri: String,
pub communication_info: HashMap<String, String>,
pub replica_id: u64,
pub sender_kind: i32,
}Expand description
Per-replica metadata stored inside the Secret — mirrors
HelperInfo but for the replica role and carries the extra
replica_id + sender_kind fields needed by the replica model.
No per-pair key: all replica channels for a given secret_id
converge on a single group key (see ReplicaSecretPayload::shared_key
for how that key is handed off to a new joiner). Each replica’s
(secret_id, channel_id) entry in
crate::protocol::DeRecSecretStore holds that same group key, so
any replica can address any other replica’s peers by loading the
channel key from its own secret store — this struct does not need to
carry it.
Fields§
§channel_id: u64Channel identifier the originator uses to address this peer.
transport_uri: StringThe peer’s message endpoint URI.
communication_info: HashMap<String, String>App-level identity metadata for this peer. Same opacity contract
as HelperInfo::communication_info.
replica_id: u64The peer’s replica_id — global stable identity of the replica
device, separate from the per-channel channel_id.
sender_kind: i32Raw SenderKind value the peer played in this pair (typically
REPLICA_SOURCE or REPLICA_DESTINATION). Carried for future
conflict-resolution flows; not used by the protocol layer today.
Trait Implementations§
Source§impl Clone for ReplicaInfo
impl Clone for ReplicaInfo
Source§fn clone(&self) -> ReplicaInfo
fn clone(&self) -> ReplicaInfo
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 ReplicaInfo
impl Debug for ReplicaInfo
Source§impl Default for ReplicaInfo
impl Default for ReplicaInfo
Source§impl Message for ReplicaInfo
impl Message for ReplicaInfo
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
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,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
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,
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,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
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,
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,
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,
self.Source§impl PartialEq for ReplicaInfo
impl PartialEq for ReplicaInfo
impl StructuralPartialEq for ReplicaInfo
Auto Trait Implementations§
impl Freeze for ReplicaInfo
impl RefUnwindSafe for ReplicaInfo
impl Send for ReplicaInfo
impl Sync for ReplicaInfo
impl Unpin for ReplicaInfo
impl UnsafeUnpin for ReplicaInfo
impl UnwindSafe for ReplicaInfo
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