pub struct DefaultProvider;Expand description
Default provider for production deployments.
Uses:
MemoryDeMlsStorage: In-memory MLS state storageStringscope: Group names as consensus scopesInMemoryConsensusStorage: Fast in-memory proposal/vote storageBroadcastEventBus: Tokio broadcast channels for eventsDefaultConsensusService: Hashgraph-like voting protocol
§Example
ⓘ
use de_mls::core::DefaultProvider;
use de_mls::app::User;
let user: User<DefaultProvider> = User::with_private_key(
private_key,
consensus,
handler,
)?;Trait Implementations§
Source§impl DeMlsProvider for DefaultProvider
impl DeMlsProvider for DefaultProvider
Source§type Storage = MemoryDeMlsStorage
type Storage = MemoryDeMlsStorage
Storage backend for MLS operations. Read more
Source§type ConsensusStorage = InMemoryConsensusStorage<String>
type ConsensusStorage = InMemoryConsensusStorage<String>
Consensus storage backend for proposals and votes. Read more
Source§type EventBus = BroadcastEventBus<String>
type EventBus = BroadcastEventBus<String>
Event bus for distributing consensus outcomes. Read more
Source§type Consensus = ConsensusService<String, InMemoryConsensusStorage<String>, BroadcastEventBus<String>>
type Consensus = ConsensusService<String, InMemoryConsensusStorage<String>, BroadcastEventBus<String>>
Consensus service implementing the voting protocol. Read more
Auto Trait Implementations§
impl Freeze for DefaultProvider
impl RefUnwindSafe for DefaultProvider
impl Send for DefaultProvider
impl Sync for DefaultProvider
impl Unpin for DefaultProvider
impl UnwindSafe for DefaultProvider
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
Source§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
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> 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>
Converts
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>
Converts
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