pub enum RegistryError {
NotFound(String),
BadSignature(String),
DigestMismatch(String),
AlreadyRegistered(String),
PublisherNotAllowed(String),
Storage(String),
Codec(String),
}Expand description
Failure modes for registry operations.
Variants§
NotFound(String)
No entry for the requested name@version.
BadSignature(String)
HMAC verification failed against the configured signing key.
DigestMismatch(String)
BLAKE3 of the PTX text does not match manifest.digest.
AlreadyRegistered(String)
A manifest with the same name@version already exists.
PublisherNotAllowed(String)
The manifest’s publisher field is not in the registry’s
configured allowlist. Only returned by the DiskRegistry when
it has been built with Some(publisher_allowlist); the
allowlist-less default and InMemoryRegistry never emit this.
The string carries the manifest name for parity with the other
rejection variants — the publisher itself is deliberately NOT
echoed back to avoid leaking the allowlist contents through
negative-result probing.
Storage(String)
The underlying on-disk artifact store rejected a put/get/list. The
inner String is the ArtifactError’s Display; we collapse to
a single variant because the registry layer treats every storage
failure as a transient backend error rather than re-deriving one
HTTP status per inner cause. Only emitted by DiskRegistry.
Codec(String)
bincode encode/decode of the on-disk manifest blob failed. The
disk format pairs a KernelManifest with its PTX text under a
single bincode envelope; a decode failure here usually means the
blob was written by an incompatible bincode version, not that
the bytes were tampered with (the artifact store’s HMAC catches
the latter). Only emitted by DiskRegistry.
Trait Implementations§
Source§impl Debug for RegistryError
impl Debug for RegistryError
Source§impl Display for RegistryError
impl Display for RegistryError
Source§impl Error for RegistryError
impl Error for RegistryError
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()
Auto Trait Implementations§
impl Freeze for RegistryError
impl RefUnwindSafe for RegistryError
impl Send for RegistryError
impl Sync for RegistryError
impl Unpin for RegistryError
impl UnsafeUnpin for RegistryError
impl UnwindSafe for RegistryError
Blanket Implementations§
impl<T> AnyError 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
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> 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