pub enum StoreLockError {
AlreadyOpen(StoreId),
BootstrapPending(StoreId),
ReplacementUnfinished {
store: StoreId,
by: ReplacedBy,
},
DeletionUnfinished(StoreId),
WrongDirectory(StoreId),
File(FileError),
Bug(Bug),
}Expand description
A store in use is distinct from a filesystem failure.
Variants§
AlreadyOpen(StoreId)
A live instance or another process prevents the requested access. Async opens wait for a closing instance in this process to release it.
BootstrapPending(StoreId)
An unfinished first installation must be resumed by the call that began it: a restore or join with its code. A restore on a join’s installation, or a join on a recorded restore’s, is refused too (§13.4).
ReplacementUnfinished
A replacement of this device’s installation recorded itself, just before its fresh device registered, and did not finish. Only the call it names finishes it; the other is refused before anything changes. Deletion removes it instead (§19.3).
Fields
by: ReplacedByThe call that began the replacement.
DeletionUnfinished(StoreId)
This device is deleting the store and leaving it, and its deletion recorded itself, just before it journaled the device’s removal, and did not finish. Opening and replacing the store are refused before anything changes; only finishing the deletion, or discarding the store, ends it (E1).
WrongDirectory(StoreId)
A supplied lock protects a different directory.
File(FileError)
Opening or locking the lock file failed for another reason, or did
not run because its runtime is shutting down (FileError::Shutdown).
Bug(Bug)
Taking the lock panicked on the blocking pool: a bug, which the caller reports (E15).
Trait Implementations§
Source§impl CarriesBug for StoreLockError
impl CarriesBug for StoreLockError
Source§impl Debug for StoreLockError
impl Debug for StoreLockError
Source§impl Display for StoreLockError
impl Display for StoreLockError
Source§impl Error for StoreLockError
impl Error for StoreLockError
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 StoreLockError
impl From<Bug> for StoreLockError
Source§fn from(source: Bug) -> StoreLockError
fn from(source: Bug) -> StoreLockError
Source§impl From<FileError> for StoreLockError
impl From<FileError> for StoreLockError
Source§fn from(error: FileError) -> StoreLockError
fn from(error: FileError) -> StoreLockError
Source§impl From<StoreLockError> for BootstrapDirectoryError
impl From<StoreLockError> for BootstrapDirectoryError
Source§fn from(error: StoreLockError) -> BootstrapDirectoryError
fn from(error: StoreLockError) -> BootstrapDirectoryError
Source§impl From<StoreLockError> for BootstrapError
impl From<StoreLockError> for BootstrapError
Source§fn from(error: StoreLockError) -> Self
fn from(error: StoreLockError) -> Self
Source§impl From<StoreLockError> for CovenError
impl From<StoreLockError> for CovenError
Source§fn from(error: StoreLockError) -> Self
fn from(error: StoreLockError) -> Self
Source§impl From<StoreLockError> for DbError
impl From<StoreLockError> for DbError
Source§fn from(error: StoreLockError) -> DbError
fn from(error: StoreLockError) -> DbError
Source§impl From<StoreLockError> for FileReadError
impl From<StoreLockError> for FileReadError
Source§fn from(error: StoreLockError) -> FileReadError
fn from(error: StoreLockError) -> FileReadError
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<StoreLockError> for SyncError
impl From<StoreLockError> for SyncError
Source§fn from(error: StoreLockError) -> SyncError
fn from(error: StoreLockError) -> SyncError
Auto Trait Implementations§
impl Freeze for StoreLockError
impl !RefUnwindSafe for StoreLockError
impl Send for StoreLockError
impl Sync for StoreLockError
impl Unpin for StoreLockError
impl UnsafeUnpin for StoreLockError
impl !UnwindSafe for StoreLockError
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