pub struct SequencerSynchronizerState {
pub synchronizer_id: String,
pub threshold: u32,
pub active: Vec<String>,
pub observers: Vec<String>,
}Expand description
which sequencers are active on the given synchronizer authorization: whoever controls the synchronizer UNIQUE(synchronizer_id)
Fields§
§synchronizer_id: Stringthe synchronizer id of the sequencer group
threshold: u32The system can tolerate up to min(threshold - 1, (activeWithSigningKey.size - 1)/3) malicious active sequencers, where activeWithSigningKey is the set of sequencers from active that have an active OwnerToKeyMapping with a signing key. In order to make the system resilient against f malicious active sequencers, you need to: (1) configure threshold := f + 1, (2) possibly add active sequencers such that f <= (activeWithSigningKey.size - 1)/3. (3) possibly register signing keys for active sequencers,
active: Vec<String>the list of active sequencers If a sequencer without an active signing key is added to this set, it has no effect on the topology state.
observers: Vec<String>the list of observing sequencers (uid) within the group (read messages but don’t respond)
Trait Implementations§
Source§impl Clone for SequencerSynchronizerState
impl Clone for SequencerSynchronizerState
Source§fn clone(&self) -> SequencerSynchronizerState
fn clone(&self) -> SequencerSynchronizerState
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 SequencerSynchronizerState
impl Debug for SequencerSynchronizerState
Source§impl Default for SequencerSynchronizerState
impl Default for SequencerSynchronizerState
Source§fn default() -> SequencerSynchronizerState
fn default() -> SequencerSynchronizerState
impl Eq for SequencerSynchronizerState
Source§impl Hash for SequencerSynchronizerState
impl Hash for SequencerSynchronizerState
Source§impl Message for SequencerSynchronizerState
impl Message for SequencerSynchronizerState
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.impl StructuralPartialEq for SequencerSynchronizerState
Auto Trait Implementations§
impl Freeze for SequencerSynchronizerState
impl RefUnwindSafe for SequencerSynchronizerState
impl Send for SequencerSynchronizerState
impl Sync for SequencerSynchronizerState
impl Unpin for SequencerSynchronizerState
impl UnsafeUnpin for SequencerSynchronizerState
impl UnwindSafe for SequencerSynchronizerState
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request