pub struct StateEntry { /* private fields */ }
Expand description

Represents the data in a node in the state trie.

Trait Implementations§

source§

impl HasStateEntry for StateEntry

§

type Error = ()

§

type StateEntryData = ()

§

type StateEntryKey = ()

source§

fn move_to_start(&mut self)

Set the cursor to the beginning. Equivalent to .seek(SeekFrom::Start(0)) but can be implemented more efficiently.
source§

fn size(&self) -> Result<u32, Self::Error>

Get the current size of the entry. Returns an error if the entry does not exist.
source§

fn truncate(&mut self, new_size: u32) -> Result<(), Self::Error>

Truncate the entry to the given size. If the given size is more than the current size this operation does nothing. The new position is at most at the end of the stream. Returns an error if the entry does not exist.
source§

fn get_key(&self) -> &[u8]

Get a reference to the entry’s key.
source§

fn resize(&mut self, new_size: u32) -> Result<(), Self::Error>

Resize the entry to the given size. Returns an error if the entry does not exist.
source§

fn reserve(&mut self, len: u32) -> Result<(), Self::Error>

Make sure that the memory size is at least that many bytes in size. Returns Ok iff this was successful. The new bytes are initialized as 0. Returns an error if the entry does not exist.
source§

impl Read for StateEntry

source§

fn read_u64(&mut self) -> ParseResult<u64>

Read a u64 in little-endian format. This is optimized to not initialize a dummy value before calling an external function.

source§

fn read_u32(&mut self) -> ParseResult<u32>

Read a u32 in little-endian format. This is optimized to not initialize a dummy value before calling an external function.

source§

fn read_u8(&mut self) -> ParseResult<u8>

Read a u8 in little-endian format. This is optimized to not initialize a dummy value before calling an external function.

source§

fn read(&mut self, buf: &mut [u8]) -> ParseResult<usize>

Read a number of bytes into the provided buffer. The returned value is Ok(n) if a read was successful, and n bytes were read (n could be 0).
source§

fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), ParseError>

Read exactly the required number of bytes. If not enough bytes could be read the function returns Err(_), and the contents of the given buffer is unspecified.
source§

fn read_u16(&mut self) -> Result<u16, ParseError>

Read a u16 in little-endian format.
source§

fn read_i64(&mut self) -> Result<i64, ParseError>

Read a i64 in little-endian format.
source§

fn read_i32(&mut self) -> Result<i32, ParseError>

Read a i32 in little-endian format.
source§

fn read_i16(&mut self) -> Result<i16, ParseError>

Read a i16 in little-endian format.
source§

fn read_i8(&mut self) -> Result<i8, ParseError>

Read a i32 in little-endian format.
source§

fn read_array<const N: usize>(&mut self) -> Result<[u8; N], ParseError>

Load an array of the given size.
source§

impl Seek for StateEntry

§

type Err = ()

source§

fn seek(&mut self, pos: SeekFrom) -> Result<u32, Self::Err>

Seek to the new position. If successful, return the new position from the beginning of the stream.
source§

fn cursor_position(&self) -> u32

Get the cursor position counted from the beginning of the stream.
source§

impl Write for StateEntry

§

type Err = ()

source§

fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Err>

Try to write the given buffer into the output stream. If writes are successful returns the number of bytes written.
source§

fn write_all(&mut self, buf: &[u8]) -> Result<(), Self::Err>

Attempt to write the entirety of the buffer to the output by repeatedly calling write until either no more output can written, or writing fails.
source§

fn write_u8(&mut self, x: u8) -> Result<(), Self::Err>

Write a single byte to the output.
source§

fn write_u16(&mut self, x: u16) -> Result<(), Self::Err>

Write a u16 in little endian.
source§

fn write_u32(&mut self, x: u32) -> Result<(), Self::Err>

Write a u32 in little endian.
source§

fn write_u64(&mut self, x: u64) -> Result<(), Self::Err>

Write a u64 in little endian.
source§

fn write_i8(&mut self, x: i8) -> Result<(), Self::Err>

Write a i8 to the output.
source§

fn write_i16(&mut self, x: i16) -> Result<(), Self::Err>

Write a i16 in little endian.
source§

fn write_i32(&mut self, x: i32) -> Result<(), Self::Err>

Write a i32 in little endian.
source§

fn write_i64(&mut self, x: i64) -> Result<(), Self::Err>

Write a i64 in little endian.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<R, T> Get<T> for R
where R: Read, T: Deserial,

source§

fn get(&mut self) -> Result<T, ParseError>

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.