#[non_exhaustive]pub enum StoreError {
Index {
path: String,
message: String,
},
Io {
action: &'static str,
path: String,
message: String,
},
UnknownImage {
reference: String,
known: String,
},
LiveBoxes {
boxes: usize,
},
UnrecognisedEntry {
entry: String,
},
BaseOutsideStore {
path: String,
root: String,
},
}Expand description
What went wrong, in terms of what to do about it.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Index
The index could not be read. Without it nothing in the store has a name, so neither verb can proceed — see this module’s documentation.
Fields
Io
A filesystem operation failed.
Fields
UnknownImage
A per-image request named an image the store is not holding.
Carries what it is holding, because the likely cause is a tag written where the index has a digest reference, and a listing is the way forward.
Fields
LiveBoxes
A box is registered in the store, so something may be using these bytes.
boxlite takes an exclusive flock on <store>/.lock for the lifetime of
a runtime, which this crate cannot take back: unsafe_code = "forbid"
rules out the libc::flock call that acquires it. So the guard is the
evidence a lock would have protected — a registered box — and it is
checked rather than assumed absent.
UnrecognisedEntry
Something under the store root that this module does not recognise.
ADR-0014 v1.6’s limit, enforced rather than trusted: clear may drop what
a pinned digest re-obtains and may drop nothing else, and an unknown entry
is not known to be re-obtainable.
BaseOutsideStore
A base_disk row points outside the store root.
base_path is an absolute path recorded when the base was built, so it is
data rather than a derivation, and data can name anywhere. This is the
check that a row cannot aim deletion at a path outside the asset cache.
Trait Implementations§
Source§impl Debug for StoreError
impl Debug for StoreError
Source§impl Display for StoreError
impl Display for StoreError
Source§impl Error for StoreError
impl Error for StoreError
1.30.0 · 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
use the Display impl or to_string()