Struct tor_keymgr::mgr::KeyMgrBuilder
source · pub struct KeyMgrBuilder {
default_store: Option<Box<dyn Keystore>>,
secondary_stores: Option<Vec<Box<dyn Keystore>>>,
key_info_extractors: PhantomData<Vec<&'static dyn KeyPathInfoExtractor>>,
}
Available on crate feature
keymgr
only.Expand description
Builder for KeyMgr
.
Fields§
§default_store: Option<Box<dyn Keystore>>
The default key store.
secondary_stores: Option<Vec<Box<dyn Keystore>>>
The secondary key stores.
key_info_extractors: PhantomData<Vec<&'static dyn KeyPathInfoExtractor>>
The key info extractors.
These are initialized internally by KeyMgrBuilder::build
, using the values collected
using inventory
.
Implementations§
source§impl KeyMgrBuilder
impl KeyMgrBuilder
sourcepub fn default_store(self, value: Box<dyn Keystore>) -> Self
pub fn default_store(self, value: Box<dyn Keystore>) -> Self
The default key store.
sourcefn build_unvalidated(self) -> Result<KeyMgr, KeyMgrBuilderError>
fn build_unvalidated(self) -> Result<KeyMgr, KeyMgrBuilderError>
sourcefn create_empty() -> Self
fn create_empty() -> Self
Create an empty builder, with all fields set to None
or PhantomData
.
source§impl KeyMgrBuilder
impl KeyMgrBuilder
source§impl KeyMgrBuilder
impl KeyMgrBuilder
sourcepub fn secondary_stores(&mut self) -> &mut Vec<Box<dyn Keystore>>
pub fn secondary_stores(&mut self) -> &mut Vec<Box<dyn Keystore>>
Access the being-built list of secondary stores (resolving default)
If the field has not yet been set or accessed, the default list will be constructed and a mutable reference to the now-defaulted list of builders will be returned.
sourcepub fn set_secondary_stores(self, list: Vec<Box<dyn Keystore>>) -> Self
pub fn set_secondary_stores(self, list: Vec<Box<dyn Keystore>>) -> Self
Set the whole list (overriding the default)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for KeyMgrBuilder
impl !RefUnwindSafe for KeyMgrBuilder
impl Send for KeyMgrBuilder
impl Sync for KeyMgrBuilder
impl Unpin for KeyMgrBuilder
impl !UnwindSafe for KeyMgrBuilder
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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