pub enum DehydratedDeviceEvent {
Created {
device_id: OwnedDeviceId,
},
Uploaded {
device_id: OwnedDeviceId,
},
Deleted,
KeyCached,
RehydrationStarted {
device_id: OwnedDeviceId,
},
RehydrationProgress {
room_keys_imported: usize,
to_device_events: usize,
},
RehydrationCompleted {
device_id: OwnedDeviceId,
room_keys_imported: usize,
to_device_events: usize,
},
RehydrationError {
error: String,
},
RotationError {
error: String,
},
}e2e-encryption only.Expand description
Lifecycle events emitted by DehydratedDevices.
Subscribe with DehydratedDevices::state_stream to observe creation,
rehydration progress, and rotation outcomes. Self::RehydrationCompleted
carries the final imported counts so a caller does not have to fold over the
Self::RehydrationProgress events, and Self::RotationError surfaces
background rotation failures the task would otherwise swallow.
Variants§
Created
A fresh dehydrated device was constructed in the local crypto store, before the upload PUT.
Fields
device_id: OwnedDeviceIdDevice ID assigned to the new dehydrated device.
Uploaded
The dehydrated device announced by the preceding
Self::Created event was accepted by the homeserver.
Fields
device_id: OwnedDeviceIdDevice ID of the dehydrated device now visible on the server.
Deleted
The dehydrated device currently on the server was deleted.
KeyCached
A pickle key was cached in the local crypto store.
RehydrationStarted
Rehydration of a dehydrated device began.
Fields
device_id: OwnedDeviceIdDevice ID of the dehydrated device being rehydrated.
RehydrationProgress
A batch of to-device events has been imported during rehydration.
Fields
RehydrationCompleted
Rehydration finished successfully.
Fields
device_id: OwnedDeviceIdDevice ID of the rehydrated device.
RehydrationError
Rehydration failed before it could complete.
RotationError
A scheduled rotation tick failed; the rotation task remains scheduled and will retry at the next tick.
Trait Implementations§
Source§impl Clone for DehydratedDeviceEvent
impl Clone for DehydratedDeviceEvent
Source§fn clone(&self) -> DehydratedDeviceEvent
fn clone(&self) -> DehydratedDeviceEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for DehydratedDeviceEvent
impl RefUnwindSafe for DehydratedDeviceEvent
impl Send for DehydratedDeviceEvent
impl Sync for DehydratedDeviceEvent
impl Unpin for DehydratedDeviceEvent
impl UnsafeUnpin for DehydratedDeviceEvent
impl UnwindSafe for DehydratedDeviceEvent
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> CloneAny for T
impl<T> CloneAnySend for T
impl<T> CloneAnySendSync for T
impl<T> CloneAnySync for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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