Struct btlib::crypto::merkle_stream::MerkleStream
source · pub struct MerkleStream<T> { /* private fields */ }
Implementations§
source§impl<T: MetaReader> MerkleStream<T>
impl<T: MetaReader> MerkleStream<T>
sourcepub fn assert_root_integrity(&mut self) -> Result<()>
pub fn assert_root_integrity(&mut self) -> Result<()>
Asserts that the root merkle node contains the integrity value given by the inner stream.
source§impl<T: ReadAt + Size + Sectored> MerkleStream<T>
impl<T: ReadAt + Size + Sectored> MerkleStream<T>
sourcepub fn new(inner: T) -> Result<MerkleStream<T>>
pub fn new(inner: T) -> Result<MerkleStream<T>>
Reads a MerkleTree
from the end of the given stream and returns a stream which uses
it.
pub fn with_tree(inner: T, tree: VariantMerkleTree) -> Result<MerkleStream<T>>
Trait Implementations§
source§impl<U, T: AsMut<U>> AsMut<U> for MerkleStream<T>
impl<U, T: AsMut<U>> AsMut<U> for MerkleStream<T>
source§impl<U, T: AsRef<U>> AsRef<U> for MerkleStream<T>
impl<U, T: AsRef<U>> AsRef<U> for MerkleStream<T>
source§impl<T> Decompose<T> for MerkleStream<T>
impl<T> Decompose<T> for MerkleStream<T>
fn into_inner(self) -> T
source§impl<T: FlushMeta> FlushMeta for MerkleStream<T>
impl<T: FlushMeta> FlushMeta for MerkleStream<T>
source§fn flush_meta(&mut self) -> Result<()>
fn flush_meta(&mut self) -> Result<()>
Flushes metadata to persistent storage.
source§impl<T: ReadAt + Size> ReadAt for MerkleStream<T>
impl<T: ReadAt + Size> ReadAt for MerkleStream<T>
source§impl<T> Sectored for MerkleStream<T>
impl<T> Sectored for MerkleStream<T>
source§fn sector_sz64(&self) -> u64
fn sector_sz64(&self) -> u64
Returns the sector size as a
u64
.source§fn assert_sector_sz(&self, actual: usize) -> Result<()>
fn assert_sector_sz(&self, actual: usize) -> Result<()>
Returns
Err(Error::IncorrectSize)
if the given size is not equal to the sector size.source§impl<T> Size for MerkleStream<T>
impl<T> Size for MerkleStream<T>
source§impl<T: WriteInteg + Size> WriteAt for MerkleStream<T>
impl<T: WriteInteg + Size> WriteAt for MerkleStream<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for MerkleStream<T>where T: RefUnwindSafe,
impl<T> Send for MerkleStream<T>where T: Send,
impl<T> Sync for MerkleStream<T>where T: Sync,
impl<T> Unpin for MerkleStream<T>where T: Unpin,
impl<T> UnwindSafe for MerkleStream<T>where T: UnwindSafe,
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
§impl<T> Free for T
impl<T> Free for T
source§impl<T> MetaAccess for Twhere
T: AsMut<BlockMeta> + MetaReader + ?Sized,
impl<T> MetaAccess for Twhere T: AsMut<BlockMeta> + MetaReader + ?Sized,
fn mut_meta(&mut self) -> &mut BlockMeta
fn mut_meta_body(&mut self) -> &mut BlockMetaBody
source§impl<R> ReadBytesAtExt for Rwhere
R: ReadAt,
impl<R> ReadBytesAtExt for Rwhere R: ReadAt,
source§fn read_u8_at(&self, pos: u64) -> Result<u8, Error>
fn read_u8_at(&self, pos: u64) -> Result<u8, Error>
Reads an unsigned 8-bit integer at an offset.
source§fn read_i8_at(&self, pos: u64) -> Result<i8, Error>
fn read_i8_at(&self, pos: u64) -> Result<i8, Error>
Reads a signed 8-bit integer at an offset.
source§fn read_u16_at<T>(&self, pos: u64) -> Result<u16, Error>where
T: ByteOrder,
fn read_u16_at<T>(&self, pos: u64) -> Result<u16, Error>where T: ByteOrder,
Reads an unsigned 16-bit integer at an offset.
source§fn read_i16_at<T>(&self, pos: u64) -> Result<i16, Error>where
T: ByteOrder,
fn read_i16_at<T>(&self, pos: u64) -> Result<i16, Error>where T: ByteOrder,
Reads a signed 16-bit integer at an offset.
source§fn read_u32_at<T>(&self, pos: u64) -> Result<u32, Error>where
T: ByteOrder,
fn read_u32_at<T>(&self, pos: u64) -> Result<u32, Error>where T: ByteOrder,
Reads an unsigned 32-bit integer at an offset.
source§fn read_i32_at<T>(&self, pos: u64) -> Result<i32, Error>where
T: ByteOrder,
fn read_i32_at<T>(&self, pos: u64) -> Result<i32, Error>where T: ByteOrder,
Reads a signed 32-bit integer at an offset.
source§fn read_u64_at<T>(&self, pos: u64) -> Result<u64, Error>where
T: ByteOrder,
fn read_u64_at<T>(&self, pos: u64) -> Result<u64, Error>where T: ByteOrder,
Reads an unsigned 64-bit integer at an offset.
source§fn read_i64_at<T>(&self, pos: u64) -> Result<i64, Error>where
T: ByteOrder,
fn read_i64_at<T>(&self, pos: u64) -> Result<i64, Error>where T: ByteOrder,
Reads a signed 64-bit integer at an offset.
source§fn read_uint_at<T>(&self, pos: u64, nbytes: usize) -> Result<u64, Error>where
T: ByteOrder,
fn read_uint_at<T>(&self, pos: u64, nbytes: usize) -> Result<u64, Error>where T: ByteOrder,
Reads an unsigned
nbytes
-bit integer at an offset.source§fn read_int_at<T>(&self, pos: u64, nbytes: usize) -> Result<i64, Error>where
T: ByteOrder,
fn read_int_at<T>(&self, pos: u64, nbytes: usize) -> Result<i64, Error>where T: ByteOrder,
Reads a signed
nbytes
-bit integer at an offset.source§impl<T> ToHex for Twhere
T: AsRef<[u8]>,
impl<T> ToHex for Twhere T: AsRef<[u8]>,
source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere U: FromIterator<char>,
Encode the hex strict representing
self
into the result. Lower case
letters are used (e.g. f9b4ca
)source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere U: FromIterator<char>,
Encode the hex strict representing
self
into the result. Upper case
letters are used (e.g. F9B4CA
)source§impl<W> WriteBytesAtExt for Wwhere
W: WriteAt,
impl<W> WriteBytesAtExt for Wwhere W: WriteAt,
source§fn write_u8_at(&mut self, pos: u64, n: u8) -> Result<(), Error>
fn write_u8_at(&mut self, pos: u64, n: u8) -> Result<(), Error>
Writes an unsigned 8-bit integer to an offset.
source§fn write_i8_at(&mut self, pos: u64, n: i8) -> Result<(), Error>
fn write_i8_at(&mut self, pos: u64, n: i8) -> Result<(), Error>
Writes a signed 8-bit integer to an offset.
source§fn write_u16_at<T>(&mut self, pos: u64, n: u16) -> Result<(), Error>where
T: ByteOrder,
fn write_u16_at<T>(&mut self, pos: u64, n: u16) -> Result<(), Error>where T: ByteOrder,
Writes an unsigned 16-bit integer to an offset.
source§fn write_i16_at<T>(&mut self, pos: u64, n: i16) -> Result<(), Error>where
T: ByteOrder,
fn write_i16_at<T>(&mut self, pos: u64, n: i16) -> Result<(), Error>where T: ByteOrder,
Writes a signed 16-bit integer to an offset.
source§fn write_u32_at<T>(&mut self, pos: u64, n: u32) -> Result<(), Error>where
T: ByteOrder,
fn write_u32_at<T>(&mut self, pos: u64, n: u32) -> Result<(), Error>where T: ByteOrder,
Writes an unsigned 32-bit integer to an offset.
source§fn write_i32_at<T>(&mut self, pos: u64, n: i32) -> Result<(), Error>where
T: ByteOrder,
fn write_i32_at<T>(&mut self, pos: u64, n: i32) -> Result<(), Error>where T: ByteOrder,
Writes a signed 32-bit integer to an offset.
source§fn write_u64_at<T>(&mut self, pos: u64, n: u64) -> Result<(), Error>where
T: ByteOrder,
fn write_u64_at<T>(&mut self, pos: u64, n: u64) -> Result<(), Error>where T: ByteOrder,
Writes an unsigned 64-bit integer to an offset.
source§fn write_i64_at<T>(&mut self, pos: u64, n: i64) -> Result<(), Error>where
T: ByteOrder,
fn write_i64_at<T>(&mut self, pos: u64, n: i64) -> Result<(), Error>where T: ByteOrder,
Writes a signed 64-bit integer to an offset.
source§fn write_uint_at<T>(
&mut self,
pos: u64,
n: u64,
nbytes: usize
) -> Result<(), Error>where
T: ByteOrder,
fn write_uint_at<T>( &mut self, pos: u64, n: u64, nbytes: usize ) -> Result<(), Error>where T: ByteOrder,
Writes an unsigned
nbytes
-bit integer to an offset.source§fn write_int_at<T>(
&mut self,
pos: u64,
n: i64,
nbytes: usize
) -> Result<(), Error>where
T: ByteOrder,
fn write_int_at<T>( &mut self, pos: u64, n: i64, nbytes: usize ) -> Result<(), Error>where T: ByteOrder,
Writes a signed
nbytes
-bit integer to an offset.