Struct rkyv::validation::validators::DefaultValidator
source · pub struct DefaultValidator<'a> { /* private fields */ }
Expand description
The default validator.
Implementations§
source§impl<'a> DefaultValidator<'a>
impl<'a> DefaultValidator<'a>
Trait Implementations§
source§impl<'a> ArchiveContext for DefaultValidator<'a>
impl<'a> ArchiveContext for DefaultValidator<'a>
§type PrefixRange = <ArchiveValidator<'a> as ArchiveContext>::PrefixRange
type PrefixRange = <ArchiveValidator<'a> as ArchiveContext>::PrefixRange
A prefix range from an archive context. Read more
§type SuffixRange = <ArchiveValidator<'a> as ArchiveContext>::SuffixRange
type SuffixRange = <ArchiveValidator<'a> as ArchiveContext>::SuffixRange
A suffix range from an archive context. Read more
source§unsafe fn bounds_check_ptr(
&mut self,
base: *const u8,
offset: isize,
) -> Result<*const u8, Self::Error>
unsafe fn bounds_check_ptr( &mut self, base: *const u8, offset: isize, ) -> Result<*const u8, Self::Error>
Checks that a relative pointer points to an address within the archive. Read more
source§unsafe fn bounds_check_layout(
&mut self,
data_address: *const u8,
layout: &Layout,
) -> Result<(), Self::Error>
unsafe fn bounds_check_layout( &mut self, data_address: *const u8, layout: &Layout, ) -> Result<(), Self::Error>
Checks that a given pointer can be dereferenced. Read more
source§unsafe fn bounds_check_subtree_ptr_layout(
&mut self,
data_address: *const u8,
layout: &Layout,
) -> Result<(), Self::Error>
unsafe fn bounds_check_subtree_ptr_layout( &mut self, data_address: *const u8, layout: &Layout, ) -> Result<(), Self::Error>
Checks that the given data address and layout is located completely within the subtree
range. Read more
source§unsafe fn push_prefix_subtree_range(
&mut self,
root: *const u8,
end: *const u8,
) -> Result<PrefixRange, Self::Error>
unsafe fn push_prefix_subtree_range( &mut self, root: *const u8, end: *const u8, ) -> Result<PrefixRange, Self::Error>
Pushes a new subtree range onto the validator and starts validating it. Read more
source§fn pop_prefix_range(&mut self, range: PrefixRange) -> Result<(), Self::Error>
fn pop_prefix_range(&mut self, range: PrefixRange) -> Result<(), Self::Error>
Pops the given range, restoring the original state with the pushed range removed. Read more
source§unsafe fn push_suffix_subtree_range(
&mut self,
start: *const u8,
root: *const u8,
) -> Result<SuffixRange, Self::Error>
unsafe fn push_suffix_subtree_range( &mut self, start: *const u8, root: *const u8, ) -> Result<SuffixRange, Self::Error>
Pushes a new subtree range onto the validator and starts validating it. Read more
source§fn pop_suffix_range(&mut self, range: SuffixRange) -> Result<(), Self::Error>
fn pop_suffix_range(&mut self, range: SuffixRange) -> Result<(), Self::Error>
Finishes the given range, restoring the original state with the pushed range removed. Read more
source§fn finish(&mut self) -> Result<(), Self::Error>
fn finish(&mut self) -> Result<(), Self::Error>
Verifies that all outstanding claims have been returned.
source§fn wrap_layout_error(error: LayoutError) -> Self::Error
fn wrap_layout_error(error: LayoutError) -> Self::Error
Wraps a layout error in an ArchiveContext error
source§unsafe fn check_ptr<T: LayoutRaw + Pointee + ?Sized>(
&mut self,
base: *const u8,
offset: isize,
metadata: T::Metadata,
) -> Result<*const T, Self::Error>
unsafe fn check_ptr<T: LayoutRaw + Pointee + ?Sized>( &mut self, base: *const u8, offset: isize, metadata: T::Metadata, ) -> Result<*const T, Self::Error>
Checks that the given relative pointer can be dereferenced. Read more
source§unsafe fn check_rel_ptr<T: ArchivePointee + LayoutRaw + ?Sized>(
&mut self,
rel_ptr: &RelPtr<T>,
) -> Result<*const T, Self::Error>
unsafe fn check_rel_ptr<T: ArchivePointee + LayoutRaw + ?Sized>( &mut self, rel_ptr: &RelPtr<T>, ) -> Result<*const T, Self::Error>
Checks that the given
RelPtr
can be dereferenced. Read moresource§unsafe fn bounds_check_subtree_ptr<T: LayoutRaw + ?Sized>(
&mut self,
ptr: *const T,
) -> Result<(), Self::Error>
unsafe fn bounds_check_subtree_ptr<T: LayoutRaw + ?Sized>( &mut self, ptr: *const T, ) -> Result<(), Self::Error>
Checks that the given pointer is located completely within the subtree range. Read more
source§unsafe fn check_subtree_ptr<T: LayoutRaw + Pointee + ?Sized>(
&mut self,
base: *const u8,
offset: isize,
metadata: T::Metadata,
) -> Result<*const T, Self::Error>
unsafe fn check_subtree_ptr<T: LayoutRaw + Pointee + ?Sized>( &mut self, base: *const u8, offset: isize, metadata: T::Metadata, ) -> Result<*const T, Self::Error>
Checks that the given relative pointer to a subtree can be dereferenced. Read more
source§unsafe fn check_subtree_rel_ptr<T: ArchivePointee + LayoutRaw + ?Sized>(
&mut self,
rel_ptr: &RelPtr<T>,
) -> Result<*const T, Self::Error>
unsafe fn check_subtree_rel_ptr<T: ArchivePointee + LayoutRaw + ?Sized>( &mut self, rel_ptr: &RelPtr<T>, ) -> Result<*const T, Self::Error>
Checks that the given
RelPtr
to a subtree can be dereferenced. Read moresource§unsafe fn push_prefix_subtree<T: LayoutRaw + ?Sized>(
&mut self,
root: *const T,
) -> Result<Self::PrefixRange, Self::Error>
unsafe fn push_prefix_subtree<T: LayoutRaw + ?Sized>( &mut self, root: *const T, ) -> Result<Self::PrefixRange, Self::Error>
Pushes a new subtree range onto the validator and starts validating it. Read more
source§impl<'a> Debug for DefaultValidator<'a>
impl<'a> Debug for DefaultValidator<'a>
source§impl<'a> Fallible for DefaultValidator<'a>
impl<'a> Fallible for DefaultValidator<'a>
§type Error = DefaultValidatorError
type Error = DefaultValidatorError
The error produced by any failing methods.
Registers the given
ptr
as a shared pointer with the given type. Read moreAuto Trait Implementations§
impl<'a> Freeze for DefaultValidator<'a>
impl<'a> RefUnwindSafe for DefaultValidator<'a>
impl<'a> Send for DefaultValidator<'a>
impl<'a> Sync for DefaultValidator<'a>
impl<'a> Unpin for DefaultValidator<'a>
impl<'a> UnwindSafe for DefaultValidator<'a>
Blanket Implementations§
source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.