pub struct Freezer {
pub stopped: Arc<AtomicBool>,
/* private fields */
}
Expand description
Freezer is an memory mapped append-only database to store immutable chain data into flat files
Fields§
§stopped: Arc<AtomicBool>
stop flag
Implementations§
Source§impl Freezer
impl Freezer
Sourcepub fn open_in<P: AsRef<Path>>(path: P) -> Result<Freezer, Error>
pub fn open_in<P: AsRef<Path>>(path: P) -> Result<Freezer, Error>
Creates a freezer at temporary path
Sourcepub fn freeze<F>(
&self,
threshold: BlockNumber,
get_block_by_number: F,
) -> Result<BTreeMap<Byte32, (BlockNumber, u32)>, Error>
pub fn freeze<F>( &self, threshold: BlockNumber, get_block_by_number: F, ) -> Result<BTreeMap<Byte32, (BlockNumber, u32)>, Error>
Freeze background process that periodically checks the chain data for any import progress and moves ancient data from the kv-db into the freezer.
Sourcepub fn retrieve(&self, number: BlockNumber) -> Result<Option<Vec<u8>>, Error>
pub fn retrieve(&self, number: BlockNumber) -> Result<Option<Vec<u8>>, Error>
Retrieve an item with the given number
Sourcepub fn number(&self) -> BlockNumber
pub fn number(&self) -> BlockNumber
Return total item number in the freezer
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Freezer
impl !RefUnwindSafe for Freezer
impl Send for Freezer
impl Sync for Freezer
impl Unpin for Freezer
impl !UnwindSafe for Freezer
Blanket Implementations§
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