pub struct PeerBuilder<L: BucketLogProvider, State = ReadyToBuild> { /* private fields */ }Expand description
Peer builder with typestate pattern for compile-time enforcement
The builder enforces that a sync provider is configured before building.
Implementations§
Source§impl<L: BucketLogProvider, State> PeerBuilder<L, State>
impl<L: BucketLogProvider, State> PeerBuilder<L, State>
pub fn socket_address(self, socket_addr: SocketAddr) -> Self
pub fn secret_key(self, secret_key: SecretKey) -> Self
pub fn blobs_store(self, blobs: BlobsStore) -> Self
pub fn log_provider(self, log_provider: L) -> Self
Source§impl<L: BucketLogProvider> PeerBuilder<L, NeedsSyncProvider>
impl<L: BucketLogProvider> PeerBuilder<L, NeedsSyncProvider>
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new peer builder
You must call either with_queued_sync() or with_sync_provider() before building.
Sourcepub fn with_sync_provider(
self,
provider: Arc<dyn SyncProvider<L>>,
) -> PeerBuilder<L, ReadyToBuild>
pub fn with_sync_provider( self, provider: Arc<dyn SyncProvider<L>>, ) -> PeerBuilder<L, ReadyToBuild>
Configure with a custom SyncProvider implementation
This allows injecting custom sync providers for testing or alternative implementations.
Source§impl<L: BucketLogProvider> PeerBuilder<L, ReadyToBuild>
impl<L: BucketLogProvider> PeerBuilder<L, ReadyToBuild>
Trait Implementations§
Source§impl<L: Clone + BucketLogProvider, State: Clone> Clone for PeerBuilder<L, State>
impl<L: Clone + BucketLogProvider, State: Clone> Clone for PeerBuilder<L, State>
Source§fn clone(&self) -> PeerBuilder<L, State>
fn clone(&self) -> PeerBuilder<L, State>
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<L: BucketLogProvider> Default for PeerBuilder<L, NeedsSyncProvider>
impl<L: BucketLogProvider> Default for PeerBuilder<L, NeedsSyncProvider>
Auto Trait Implementations§
impl<L, State> Freeze for PeerBuilder<L, State>where
L: Freeze,
impl<L, State = ReadyToBuild> !RefUnwindSafe for PeerBuilder<L, State>
impl<L, State> Send for PeerBuilder<L, State>where
State: Send,
impl<L, State> Sync for PeerBuilder<L, State>where
State: Sync,
impl<L, State> Unpin for PeerBuilder<L, State>
impl<L, State = ReadyToBuild> !UnwindSafe for PeerBuilder<L, State>
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