pub struct StartDehydration<'a> { /* private fields */ }e2e-encryption only.Expand description
Named future returned by DehydratedDevices::start.
Await it to start dehydrated devices with the default behavior, or configure
it first with Self::create_new_key, Self::skip_rehydration, and
Self::only_if_key_cached.
Implementations§
Source§impl<'a> StartDehydration<'a>
impl<'a> StartDehydration<'a>
Sourcepub fn create_new_key(self) -> Self
pub fn create_new_key(self) -> Self
Generate a fresh random pickle key on start, replacing any existing entry in Secret Storage and the local cache.
The reset is suppressed if a rehydration attempt in the same start fails, so the stored key can still recover the existing dehydrated device on another client.
Sourcepub fn skip_rehydration(self) -> Self
pub fn skip_rehydration(self) -> Self
Skip the attempt to rehydrate the existing dehydrated device before creating the next one.
By default the existing device is rehydrated first.
Sourcepub fn only_if_key_cached(self) -> Self
pub fn only_if_key_cached(self) -> Self
Do nothing unless a pickle key is already cached locally.
Useful for an opportunistic start on a freshly opened client without forcing a Secret Storage unlock.
Trait Implementations§
Source§impl<'a> Debug for StartDehydration<'a>
impl<'a> Debug for StartDehydration<'a>
Source§impl<'a> IntoFuture for StartDehydration<'a>
impl<'a> IntoFuture for StartDehydration<'a>
Source§type Output = Result<(), DehydratedDeviceError>
type Output = Result<(), DehydratedDeviceError>
Source§type IntoFuture = Pin<Box<dyn Future<Output = <StartDehydration<'a> as IntoFuture>::Output> + Send + 'a>>
type IntoFuture = Pin<Box<dyn Future<Output = <StartDehydration<'a> as IntoFuture>::Output> + Send + 'a>>
Source§fn into_future(self) -> Self::IntoFuture
fn into_future(self) -> Self::IntoFuture
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for StartDehydration<'a>
impl<'a> !UnwindSafe for StartDehydration<'a>
impl<'a> Freeze for StartDehydration<'a>
impl<'a> Send for StartDehydration<'a>
impl<'a> Sync for StartDehydration<'a>
impl<'a> Unpin for StartDehydration<'a>
impl<'a> UnsafeUnpin for StartDehydration<'a>
Blanket Implementations§
impl<T> Any for Twhere
T: Any,
impl<T> AsyncTraitDeps for T
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
§impl<T> CompatExt for T
impl<T> CompatExt for T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> Fruit for T
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Arc<> Read moreSource§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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 more