[][src]Struct grin_chain::store::Batch

pub struct Batch<'a> { /* fields omitted */ }

An atomic batch in which all changes can be committed all at once or discarded on error.

Methods

impl<'a> Batch<'a>[src]

pub fn head(&self) -> Result<Tip, Error>[src]

The head.

pub fn tail(&self) -> Result<Tip, Error>[src]

The tail.

pub fn head_header(&self) -> Result<BlockHeader, Error>[src]

Header of the block at the head of the block chain (not the same thing as header_head).

pub fn header_head(&self) -> Result<Tip, Error>[src]

Head of the header chain (not the same thing as head_header).

pub fn get_sync_head(&self) -> Result<Tip, Error>[src]

Get "sync" head.

pub fn save_body_head(&self, t: &Tip) -> Result<(), Error>[src]

Save body head to db.

pub fn save_body_tail(&self, t: &Tip) -> Result<(), Error>[src]

Save body "tail" to db.

pub fn save_header_head(&self, t: &Tip) -> Result<(), Error>[src]

Save header_head to db.

pub fn save_sync_head(&self, t: &Tip) -> Result<(), Error>[src]

Save "sync" head to db.

pub fn reset_sync_head(&self) -> Result<(), Error>[src]

Reset sync_head to the current head of the header chain.

pub fn reset_header_head(&self) -> Result<(), Error>[src]

Reset header_head to the current head of the body chain.

pub fn get_block(&self, h: &Hash) -> Result<Block, Error>[src]

get block

pub fn block_exists(&self, h: &Hash) -> Result<bool, Error>[src]

Does the block exist?

pub fn save_block(&self, b: &Block) -> Result<(), Error>[src]

Save the block and the associated input bitmap. Note: the block header is not saved to the db here, assumes this has already been done.

pub fn migrate_block(
    &self,
    b: &Block,
    version: ProtocolVersion
) -> Result<(), Error>
[src]

Migrate a block stored in the db by serializing it using the provided protocol version. Block may have been read using a previous protocol version but we do not actually care.

pub fn delete_block(&self, bh: &Hash) -> Result<(), Error>[src]

Delete a full block. Does not delete any record associated with a block header.

pub fn save_block_header(&self, header: &BlockHeader) -> Result<(), Error>[src]

Save block header to db.

pub fn save_output_pos_height(
    &self,
    commit: &Commitment,
    pos: u64,
    height: u64
) -> Result<(), Error>
[src]

Save output_pos and block height to index.

pub fn get_output_pos(&self, commit: &Commitment) -> Result<u64, Error>[src]

Get output_pos from index. Note: - Original prefix 'COMMIT_POS_PREFIX' is not used for normal case anymore, refer to #2889 for detail. - To be compatible with the old callers, let's keep this function name but replace with new prefix 'COMMIT_POS_HGT_PREFIX'

pub fn get_output_pos_height(
    &self,
    commit: &Commitment
) -> Result<(u64, u64), Error>
[src]

Get output_pos and block height from index.

pub fn clear_output_pos(&self) -> Result<(), Error>[src]

Clear all entries from the output_pos index. (only for migration purpose)

pub fn clear_output_pos_height(&self) -> Result<(), Error>[src]

Clear all entries from the (output_pos,height) index (must be rebuilt after).

pub fn get_previous_header(
    &self,
    header: &BlockHeader
) -> Result<BlockHeader, Error>
[src]

Get the previous header.

pub fn get_block_header(&self, h: &Hash) -> Result<BlockHeader, Error>[src]

Get block header.

pub fn save_block_sums(&self, h: &Hash, sums: &BlockSums) -> Result<(), Error>[src]

Save block_sums for the block.

pub fn get_block_sums(&self, h: &Hash) -> Result<BlockSums, Error>[src]

Get block_sums for the block.

pub fn get_block_input_bitmap(&self, bh: &Hash) -> Result<Bitmap, Error>[src]

Get the block input bitmap from the db or build the bitmap from the full block from the db (if the block is found).

pub fn commit(self) -> Result<(), Error>[src]

Commits this batch. If it's a child batch, it will be merged with the parent, otherwise the batch is written to db.

pub fn child(&mut self) -> Result<Batch, Error>[src]

Creates a child of this batch. It will be merged with its parent on commit, abandoned otherwise.

pub fn blocks_iter(&self) -> Result<SerIterator<Block>, Error>[src]

An iterator to all block in db

Auto Trait Implementations

impl<'a> !Send for Batch<'a>

impl<'a> !Sync for Batch<'a>

impl<'a> Unpin for Batch<'a>

impl<'a> !UnwindSafe for Batch<'a>

impl<'a> !RefUnwindSafe for Batch<'a>

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> UnsafeAny for T where
    T: Any

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Erased for T

impl<T> SafeBorrow<T> for T where
    T: ?Sized

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,