Enum holochain::prelude::dependencies::kitsune_p2p_types::dependencies::lair_keystore_api::prelude::PwHashLimits
pub enum PwHashLimits {
Minimum,
Interactive,
Moderate,
Sensitive,
}
Expand description
Enum to specify limits (difficulty) for argon2id pwhashing algorithm.
Ops in this library don’t take explicit limit parameters. Instead, they check the current context, if not set using the default “Moderate” limits.
To set the context for the scope of the “with_exec” callback:
let _my_result = PwHashLimits::Sensitive.with_exec(|| {
// execute my function that needs "Sensitive" limits
});
Variants§
Minimum
minimum limits (UNIT TESTING ONLY)
Interactive
low cpu/mem limits
Moderate
middle cpu/mem limits (default)
Sensitive
high cpu/mem limits
Implementations§
§impl PwHashLimits
impl PwHashLimits
pub fn current() -> PwHashLimits
pub fn current() -> PwHashLimits
Get the current set limits
or the default “Moderate” limits if none are set by with_exec()
.
pub fn with_exec<R, F>(self, f: F) -> Rwhere
F: FnOnce() -> R,
pub fn with_exec<R, F>(self, f: F) -> Rwhere
F: FnOnce() -> R,
Execute a closure with these pwhash limits set.
pub fn as_mem_limit(&self) -> u32
pub fn as_mem_limit(&self) -> u32
translate into mem limit
pub fn as_ops_limit(&self) -> u32
pub fn as_ops_limit(&self) -> u32
translate into cpu limit
Trait Implementations§
§impl Clone for PwHashLimits
impl Clone for PwHashLimits
§fn clone(&self) -> PwHashLimits
fn clone(&self) -> PwHashLimits
Returns a copy 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 more§impl Debug for PwHashLimits
impl Debug for PwHashLimits
§impl PartialEq<PwHashLimits> for PwHashLimits
impl PartialEq<PwHashLimits> for PwHashLimits
§fn eq(&self, other: &PwHashLimits) -> bool
fn eq(&self, other: &PwHashLimits) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Copy for PwHashLimits
impl Eq for PwHashLimits
impl StructuralEq for PwHashLimits
impl StructuralPartialEq for PwHashLimits
Auto Trait Implementations§
impl RefUnwindSafe for PwHashLimits
impl Send for PwHashLimits
impl Sync for PwHashLimits
impl Unpin for PwHashLimits
impl UnwindSafe for PwHashLimits
Blanket Implementations§
§impl<T> Any for Twhere
T: Any + ?Sized,
impl<T> Any for Twhere
T: Any + ?Sized,
§fn type_id_compat(&self) -> TypeId
fn type_id_compat(&self) -> TypeId
TODO: once 1.33.0 is the minimum supported compiler version, remove
Any::type_id_compat and use StdAny::type_id instead.
https://github.com/rust-lang/rust/issues/27745
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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> 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> ⓘ
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.§impl<T> Upcastable for Twhere
T: 'static + Any + Send + Sync,
impl<T> Upcastable for Twhere
T: 'static + Any + Send + Sync,
§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref