Enum tvix_store::proto::ValidatePathInfoError
source · pub enum ValidatePathInfoError {
InvalidReferenceDigestLen(usize, usize),
NoNodePresent,
InvalidRootNode(DirectoryError),
InvalidNodeName(Vec<u8>, Error),
InvalidNarSha256DigestLen(usize),
InconsistentNumberOfReferences(usize, usize),
InvalidNarinfoReferenceName(usize, String),
InconsistentNarinfoReferenceNameDigest(usize, [u8; 20], [u8; 20]),
InvalidDeriverField(Error),
NarInfoFieldMissing,
InvalidCaField(ConvertCAError),
InvalidSignature(usize, SignatureError),
}
Expand description
Errors that can occur during the validation of PathInfo messages.
Variants§
InvalidReferenceDigestLen(usize, usize)
Invalid length of a reference
NoNodePresent
No node present
InvalidRootNode(DirectoryError)
Node fails validation
InvalidNodeName(Vec<u8>, Error)
Invalid node name encountered. Root nodes in PathInfos have more strict name requirements
InvalidNarSha256DigestLen(usize)
The digest in narinfo.nar_sha256 has an invalid len.
InconsistentNumberOfReferences(usize, usize)
The number of references in the narinfo.reference_names field does not match the number of references in the .references field.
InvalidNarinfoReferenceName(usize, String)
A string in narinfo.reference_names does not parse to a store_path::StorePath.
InconsistentNarinfoReferenceNameDigest(usize, [u8; 20], [u8; 20])
The digest in the parsed .narinfo.reference_names[i]
does not match
the one in .references[i]
.`
InvalidDeriverField(Error)
The deriver field is invalid.
NarInfoFieldMissing
The narinfo field is missing
InvalidCaField(ConvertCAError)
The ca field is invalid
InvalidSignature(usize, SignatureError)
The signature at position is invalid
Trait Implementations§
source§impl Debug for ValidatePathInfoError
impl Debug for ValidatePathInfoError
source§impl Display for ValidatePathInfoError
impl Display for ValidatePathInfoError
source§impl Error for ValidatePathInfoError
impl Error for ValidatePathInfoError
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
source§impl PartialEq for ValidatePathInfoError
impl PartialEq for ValidatePathInfoError
source§fn eq(&self, other: &ValidatePathInfoError) -> bool
fn eq(&self, other: &ValidatePathInfoError) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for ValidatePathInfoError
Auto Trait Implementations§
impl !Freeze for ValidatePathInfoError
impl RefUnwindSafe for ValidatePathInfoError
impl Send for ValidatePathInfoError
impl Sync for ValidatePathInfoError
impl Unpin for ValidatePathInfoError
impl UnwindSafe for ValidatePathInfoError
Blanket Implementations§
source§impl<T> AsErrorSource for Twhere
T: Error + 'static,
impl<T> AsErrorSource for Twhere
T: Error + 'static,
source§fn as_error_source(&self) -> &(dyn Error + 'static)
fn as_error_source(&self) -> &(dyn Error + 'static)
For maximum effectiveness, this needs to be called as a method
to benefit from Rust’s automatic dereferencing of method
receivers.
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
Mutably borrows from an owned value. Read more
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
Converts
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>
Converts
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 moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request