pub struct ClientBuilder { /* private fields */ }
Expand description
Used to configure, assemble and build Client
Implementations§
Source§impl ClientBuilder
impl ClientBuilder
Sourcepub fn with_module_inits(&mut self, module_inits: ClientModuleInitRegistry)
pub fn with_module_inits(&mut self, module_inits: ClientModuleInitRegistry)
Replace module generator registry entirely
There has to be at least one module supporting being primary among the
registered modules. The client won’t start without the federation and
the client having at least one overlapping primary module. In case there
are multiple, the one to use can be selected with
ClientBuilder::with_primary_module_kind
or
ClientBuilder::with_primary_module_instance_id
.
Sourcepub fn with_module<M: ClientModuleInit>(&mut self, module_init: M)
pub fn with_module<M: ClientModuleInit>(&mut self, module_init: M)
Make module generator available when reading the config
There has to be at least one module supporting being primary among the
registered modules. The client won’t start without the federation and
the client having at least one overlapping primary module. In case there
are multiple, the one to use can be selected with
ClientBuilder::with_primary_module_kind
or
ClientBuilder::with_primary_module_instance_id
.
pub fn stopped(&mut self)
Sourcepub fn with_api_request_hook(self, hook: ApiRequestHook) -> Self
pub fn with_api_request_hook(self, hook: ApiRequestHook) -> Self
Build the Client
with a custom wrapper around its api request logic
This is intended to be used by downstream applications, e.g. to:
- simulate offline mode,
- save battery when the OS indicates lack of connectivity,
- inject faults and delays for testing purposes,
- collect statistics and emit notifications.
Sourcepub fn with_primary_module(&mut self, primary_module_instance: ModuleInstanceId)
👎Deprecated since 0.6.0: Use with_primary_module_kind
instead, as the instance id can’t be known upfront. If you really need the old behavior you can use with_primary_module_instance_id
.
pub fn with_primary_module(&mut self, primary_module_instance: ModuleInstanceId)
with_primary_module_kind
instead, as the instance id can’t be known upfront. If you really need the old behavior you can use with_primary_module_instance_id
.Uses this module with the given instance id as the primary module. See
fedimint_client_module::ClientModule::supports_being_primary
for
more information.
§Panics
If there was a primary module specified previously
Sourcepub fn with_primary_module_instance_id(
&mut self,
primary_module_instance: ModuleInstanceId,
)
pub fn with_primary_module_instance_id( &mut self, primary_module_instance: ModuleInstanceId, )
You are likely looking for
ClientBuilder::with_primary_module_kind
. This function is rarely
useful and often dangerous, handle with care.
Uses this module with the given instance id as the primary module. See
fedimint_client_module::ClientModule::supports_being_primary
for
more information. Since the module instance id of modules of a
specific kind may differ between different federations it is
generally not recommended to specify it, but rather to specify the
module kind that should be used as primary. See
ClientBuilder::with_primary_module_kind
.
§Panics
If there was a primary module specified previously
Sourcepub fn with_primary_module_kind(&mut self, primary_module_kind: ModuleKind)
pub fn with_primary_module_kind(&mut self, primary_module_kind: ModuleKind)
Uses this module kind as the primary module if present in the config.
See fedimint_client_module::ClientModule::supports_being_primary
for
more information.
§Panics
If there was a primary module kind specified previously
pub fn with_meta_service(&mut self, meta_service: Arc<MetaService>)
pub fn db_no_decoders(&self) -> &Database
pub async fn load_existing_config(&self) -> Result<ClientConfig>
pub fn set_admin_creds(&mut self, creds: AdminCreds)
pub fn with_connector(&mut self, connector: Connector)
pub async fn preview(self, invite_code: &InviteCode) -> Result<ClientPreview>
Sourcepub async fn preview_with_existing_config(
self,
config: ClientConfig,
api_secret: Option<String>,
) -> Result<ClientPreview>
pub async fn preview_with_existing_config( self, config: ClientConfig, api_secret: Option<String>, ) -> Result<ClientPreview>
Use Self::preview
instead
pub async fn open(self, pre_root_secret: RootSecret) -> Result<ClientHandle>
Sourcepub fn get_event_log_transient_receiver(&self) -> Receiver<EventLogEntry>
pub fn get_event_log_transient_receiver(&self) -> Receiver<EventLogEntry>
Register to receiver all new transient (unpersisted) events
Auto Trait Implementations§
impl Freeze for ClientBuilder
impl !RefUnwindSafe for ClientBuilder
impl Send for ClientBuilder
impl Sync for ClientBuilder
impl Unpin for ClientBuilder
impl !UnwindSafe for ClientBuilder
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.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>
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 moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.