pub enum StoreDeletionError {
Lock(StoreLockError),
Unsent(UnsentWork),
Sync(SyncError),
SignInRequired(CloudProvider),
Unfinished(SyncError),
Closing(SyncError),
Open(CovenError),
NoUnfinishedDeletion(StoreId),
Key(KeyError),
File(FileError),
Shutdown(Shutdown),
Bug(Bug),
}Expand description
Deleting the local store stopped at a step the caller may retry (E1).
Variants§
Lock(StoreLockError)
The store is open or its lock could not be taken.
Unsent(UnsentWork)
Writes or files wait to upload; nothing was deleted.
Sync(SyncError)
Reading the queue, connecting, or journaling this device’s removal failed before the removal was journaled: nothing was deleted, nothing in storage changed, and the store is as it was.
SignInRequired(CloudProvider)
A location is recorded for the store and this device holds no
credentials for it, so it can’t publish its removal: the person
signs in to provider, then deletes again. Before the removal was
journaled nothing changed; after, the deletion stays recorded for
CovenBuilder::resume_deletion.
Unfinished(SyncError)
This device’s removal is journaled, and the deletion failed before it
applied, with 0’s cause. The deletion only goes forward: the handle
is closed, the store lists as being deleted and refuses opens, and
CovenBuilder::resume_deletion finishes it.
Closing(SyncError)
This device’s removal applied, or no storage was set up, and closing
the handle failed; nothing was deleted. A recorded deletion is
finished by CovenBuilder::resume_deletion, and either by
Coven::discard_store.
Open(CovenError)
Opening the store to finish its recorded deletion failed.
NoUnfinishedDeletion(StoreId)
resume_deletion found no deletion of the store recorded on this
device.
Key(KeyError)
Removing a keychain entry failed.
File(FileError)
Removing the store directory failed.
Shutdown(Shutdown)
The deletion’s runtime is shutting down and dropped it before it started, so nothing was deleted (E15).
Bug(Bug)
The deletion panicked: a bug, which the caller reports (E15). Retrying finishes a deletion that stopped partway.
Trait Implementations§
Source§impl CarriesBug for StoreDeletionError
impl CarriesBug for StoreDeletionError
Source§impl Debug for StoreDeletionError
impl Debug for StoreDeletionError
Source§impl Display for StoreDeletionError
impl Display for StoreDeletionError
Source§impl Error for StoreDeletionError
impl Error for StoreDeletionError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl From<Bug> for StoreDeletionError
impl From<Bug> for StoreDeletionError
Source§impl From<FileError> for StoreDeletionError
impl From<FileError> for StoreDeletionError
Source§impl From<KeyError> for StoreDeletionError
impl From<KeyError> for StoreDeletionError
Source§impl From<Shutdown> for StoreDeletionError
impl From<Shutdown> for StoreDeletionError
Source§impl From<StoreLockError> for StoreDeletionError
impl From<StoreLockError> for StoreDeletionError
Source§fn from(error: StoreLockError) -> Self
fn from(error: StoreLockError) -> Self
Source§impl From<SyncError> for StoreDeletionError
impl From<SyncError> for StoreDeletionError
Source§impl From<TaskFailed> for StoreDeletionError
impl From<TaskFailed> for StoreDeletionError
Source§fn from(failed: TaskFailed) -> Self
fn from(failed: TaskFailed) -> Self
Auto Trait Implementations§
impl Freeze for StoreDeletionError
impl !RefUnwindSafe for StoreDeletionError
impl Send for StoreDeletionError
impl Sync for StoreDeletionError
impl Unpin for StoreDeletionError
impl UnsafeUnpin for StoreDeletionError
impl !UnwindSafe for StoreDeletionError
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
§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>
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