pub struct MmapStorage { /* private fields */ }Expand description
Memory-mapped storage backend.
Provides ultra-fast access to chain data via memory-mapped files. All data is persisted immediately (append-only) and can be accessed without deserialization overhead using rkyv.
Implementations§
Source§impl MmapStorage
impl MmapStorage
Sourcepub fn open_with_config<P: AsRef<Path>>(
path: P,
config: MmapConfig,
) -> Result<Self>
pub fn open_with_config<P: AsRef<Path>>( path: P, config: MmapConfig, ) -> Result<Self>
Open or create storage with custom configuration.
Sourcepub fn mmr_node_raw(&self, pos: u64) -> Option<[u8; 32]>
pub fn mmr_node_raw(&self, pos: u64) -> Option<[u8; 32]>
Get raw access to MMR node at position.
Trait Implementations§
Source§impl BlockStore for MmapStorage
impl BlockStore for MmapStorage
Source§fn get_header(&self, height: u64) -> Result<Option<BlockHeader>>
fn get_header(&self, height: u64) -> Result<Option<BlockHeader>>
Get a block header by height.
Source§impl ChainStore for MmapStorage
impl ChainStore for MmapStorage
Source§fn mmr_leaf_count(&self) -> Result<u64>
fn mmr_leaf_count(&self) -> Result<u64>
Get the MMR leaf count.
Source§impl EventStore for MmapStorage
impl EventStore for MmapStorage
Source§fn get_events_by_block(&self, _height: u64) -> Result<Vec<AuditEvent>>
fn get_events_by_block(&self, _height: u64) -> Result<Vec<AuditEvent>>
Get events by block height.
Auto Trait Implementations§
impl !Freeze for MmapStorage
impl !RefUnwindSafe for MmapStorage
impl Send for MmapStorage
impl Sync for MmapStorage
impl Unpin for MmapStorage
impl UnwindSafe for MmapStorage
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§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<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> 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>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.