pub struct StableReader<M: StableMemory = CanisterStableMemory>(/* private fields */);๐Deprecated since 0.18.0: The
api::stable module has been moved to stable (crate root).Expand description
Keeps an offset and reads off stable memory consecutively.
Implementationsยง
Sourceยงimpl<M: StableMemory> StableReader<M>
impl<M: StableMemory> StableReader<M>
Sourcepub fn with_memory(memory: M, offset: u64) -> Self
๐Deprecated since 0.18.0: The api::stable module has been moved to stable (crate root).
pub fn with_memory(memory: M, offset: u64) -> Self
api::stable module has been moved to stable (crate root).Creates a new StableReader which reads from the selected memory
Sourcepub fn offset(&self) -> u64
๐Deprecated since 0.18.0: The api::stable module has been moved to stable (crate root).
pub fn offset(&self) -> u64
api::stable module has been moved to stable (crate root).Returns the offset of the reader
Sourcepub fn read(&mut self, buf: &mut [u8]) -> Result<usize, StableMemoryError>
๐Deprecated since 0.18.0: The api::stable module has been moved to stable (crate root).
pub fn read(&mut self, buf: &mut [u8]) -> Result<usize, StableMemoryError>
api::stable module has been moved to stable (crate root).Reads data from the stable memory location specified by an offset.
Note:
The stable memory size is cached on creation of the StableReader.
Therefore, in following scenario, it will get an OutOfBounds error:
- Create a StableReader
- Write some data to the stable memory which causes it grow
- call
read()to read the newly written bytes
Trait Implementationsยง
Sourceยงimpl<M: Debug + StableMemory> Debug for StableReader<M>
impl<M: Debug + StableMemory> Debug for StableReader<M>
Sourceยงimpl Default for StableReader
impl Default for StableReader
Sourceยงimpl<M: StableMemory> From<StableIO<M>> for StableReader<M>
impl<M: StableMemory> From<StableIO<M>> for StableReader<M>
Sourceยงimpl<M: StableMemory> Read for StableReader<M>
impl<M: StableMemory> Read for StableReader<M>
Sourceยงfn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>
fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>
Pull some bytes from this source into the specified buffer, returning
how many bytes were read. Read more
1.36.0 ยท Sourceยงfn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like
read, except that it reads into a slice of buffers. Read moreSourceยงfn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
๐ฌThis is a nightly-only experimental API. (
can_vector)1.0.0 ยท Sourceยงfn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
Reads all bytes until EOF in this source, placing them into
buf. Read more1.0.0 ยท Sourceยงfn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Reads all bytes until EOF in this source, appending them to
buf. Read more1.6.0 ยท Sourceยงfn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Reads the exact number of bytes required to fill
buf. Read moreSourceยงfn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
๐ฌThis is a nightly-only experimental API. (
read_buf)Pull some bytes from this source into the specified buffer. Read more
Sourceยงfn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
๐ฌThis is a nightly-only experimental API. (
read_buf)Reads the exact number of bytes required to fill
cursor. Read more1.0.0 ยท Sourceยงfn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a โby referenceโ adaptor for this instance of
Read. Read moreSourceยงimpl<M: StableMemory> Seek for StableReader<M>
impl<M: StableMemory> Seek for StableReader<M>
Sourceยงfn seek(&mut self, pos: SeekFrom) -> Result<u64>
fn seek(&mut self, pos: SeekFrom) -> Result<u64>
Seek to an offset, in bytes, in a stream. Read more
1.55.0 ยท Sourceยงfn rewind(&mut self) -> Result<(), Error>
fn rewind(&mut self) -> Result<(), Error>
Rewind to the beginning of a stream. Read more
Sourceยงfn stream_len(&mut self) -> Result<u64, Error>
fn stream_len(&mut self) -> Result<u64, Error>
๐ฌThis is a nightly-only experimental API. (
seek_stream_len)Returns the length of this stream (in bytes). Read more
Auto Trait Implementationsยง
impl<M> Freeze for StableReader<M>where
M: Freeze,
impl<M> RefUnwindSafe for StableReader<M>where
M: RefUnwindSafe,
impl<M> Send for StableReader<M>where
M: Send,
impl<M> Sync for StableReader<M>where
M: Sync,
impl<M> Unpin for StableReader<M>where
M: Unpin,
impl<M> UnwindSafe for StableReader<M>where
M: UnwindSafe,
Blanket Implementationsยง
Sourceยงimpl<R> BinReaderExt for R
impl<R> BinReaderExt for R
Sourceยงfn read_type<T>(&mut self, endian: Endian) -> Result<T, Error>where
T: BinRead,
fn read_type<T>(&mut self, endian: Endian) -> Result<T, Error>where
T: BinRead,
Read the given type from the reader using the given endianness.
Sourceยงfn read_be<T>(&mut self) -> Result<T, Error>where
T: BinRead,
fn read_be<T>(&mut self) -> Result<T, Error>where
T: BinRead,
Read the given type from the reader with big endian byteorder
Sourceยงfn read_le<T>(&mut self) -> Result<T, Error>where
T: BinRead,
fn read_le<T>(&mut self) -> Result<T, Error>where
T: BinRead,
Read the given type from the reader with little endian byteorder
Sourceยงfn read_ne<T>(&mut self) -> Result<T, Error>where
T: BinRead,
fn read_ne<T>(&mut self) -> Result<T, Error>where
T: BinRead,
Read the given type from the reader with the native byteorder
Sourceยงfn read_type_args<T>(
&mut self,
endian: Endian,
args: <T as BinRead>::Args,
) -> Result<T, Error>where
T: BinRead,
fn read_type_args<T>(
&mut self,
endian: Endian,
args: <T as BinRead>::Args,
) -> Result<T, Error>where
T: BinRead,
Read
T from the reader with the given byte order and arguments.Sourceยงfn read_be_args<T>(&mut self, args: <T as BinRead>::Args) -> Result<T, Error>where
T: BinRead,
fn read_be_args<T>(&mut self, args: <T as BinRead>::Args) -> Result<T, Error>where
T: BinRead,
Read
T from the reader, assuming big-endian byte order, using the
given arguments.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<R> ReadBytesExt for R
impl<R> ReadBytesExt for R
Sourceยงfn read_u8(&mut self) -> Result<u8, Error>
fn read_u8(&mut self) -> Result<u8, Error>
Reads an unsigned 8 bit integer from the underlying reader. Read more
Sourceยงfn read_i8(&mut self) -> Result<i8, Error>
fn read_i8(&mut self) -> Result<i8, Error>
Reads a signed 8 bit integer from the underlying reader. Read more
Sourceยงfn read_u16<T>(&mut self) -> Result<u16, Error>where
T: ByteOrder,
fn read_u16<T>(&mut self) -> Result<u16, Error>where
T: ByteOrder,
Reads an unsigned 16 bit integer from the underlying reader. Read more
Sourceยงfn read_i16<T>(&mut self) -> Result<i16, Error>where
T: ByteOrder,
fn read_i16<T>(&mut self) -> Result<i16, Error>where
T: ByteOrder,
Reads a signed 16 bit integer from the underlying reader. Read more
Sourceยงfn read_u24<T>(&mut self) -> Result<u32, Error>where
T: ByteOrder,
fn read_u24<T>(&mut self) -> Result<u32, Error>where
T: ByteOrder,
Reads an unsigned 24 bit integer from the underlying reader. Read more
Sourceยงfn read_i24<T>(&mut self) -> Result<i32, Error>where
T: ByteOrder,
fn read_i24<T>(&mut self) -> Result<i32, Error>where
T: ByteOrder,
Reads a signed 24 bit integer from the underlying reader. Read more
Sourceยงfn read_u32<T>(&mut self) -> Result<u32, Error>where
T: ByteOrder,
fn read_u32<T>(&mut self) -> Result<u32, Error>where
T: ByteOrder,
Reads an unsigned 32 bit integer from the underlying reader. Read more
Sourceยงfn read_i32<T>(&mut self) -> Result<i32, Error>where
T: ByteOrder,
fn read_i32<T>(&mut self) -> Result<i32, Error>where
T: ByteOrder,
Reads a signed 32 bit integer from the underlying reader. Read more
Sourceยงfn read_u48<T>(&mut self) -> Result<u64, Error>where
T: ByteOrder,
fn read_u48<T>(&mut self) -> Result<u64, Error>where
T: ByteOrder,
Reads an unsigned 48 bit integer from the underlying reader. Read more
Sourceยงfn read_i48<T>(&mut self) -> Result<i64, Error>where
T: ByteOrder,
fn read_i48<T>(&mut self) -> Result<i64, Error>where
T: ByteOrder,
Reads a signed 48 bit integer from the underlying reader. Read more
Sourceยงfn read_u64<T>(&mut self) -> Result<u64, Error>where
T: ByteOrder,
fn read_u64<T>(&mut self) -> Result<u64, Error>where
T: ByteOrder,
Reads an unsigned 64 bit integer from the underlying reader. Read more
Sourceยงfn read_i64<T>(&mut self) -> Result<i64, Error>where
T: ByteOrder,
fn read_i64<T>(&mut self) -> Result<i64, Error>where
T: ByteOrder,
Reads a signed 64 bit integer from the underlying reader. Read more
Sourceยงfn read_u128<T>(&mut self) -> Result<u128, Error>where
T: ByteOrder,
fn read_u128<T>(&mut self) -> Result<u128, Error>where
T: ByteOrder,
Reads an unsigned 128 bit integer from the underlying reader. Read more
Sourceยงfn read_i128<T>(&mut self) -> Result<i128, Error>where
T: ByteOrder,
fn read_i128<T>(&mut self) -> Result<i128, Error>where
T: ByteOrder,
Reads a signed 128 bit integer from the underlying reader. Read more
Sourceยงfn read_uint<T>(&mut self, nbytes: usize) -> Result<u64, Error>where
T: ByteOrder,
fn read_uint<T>(&mut self, nbytes: usize) -> Result<u64, Error>where
T: ByteOrder,
Reads an unsigned n-bytes integer from the underlying reader. Read more
Sourceยงfn read_int<T>(&mut self, nbytes: usize) -> Result<i64, Error>where
T: ByteOrder,
fn read_int<T>(&mut self, nbytes: usize) -> Result<i64, Error>where
T: ByteOrder,
Reads a signed n-bytes integer from the underlying reader. Read more
Sourceยงfn read_uint128<T>(&mut self, nbytes: usize) -> Result<u128, Error>where
T: ByteOrder,
fn read_uint128<T>(&mut self, nbytes: usize) -> Result<u128, Error>where
T: ByteOrder,
Reads an unsigned n-bytes integer from the underlying reader.
Sourceยงfn read_int128<T>(&mut self, nbytes: usize) -> Result<i128, Error>where
T: ByteOrder,
fn read_int128<T>(&mut self, nbytes: usize) -> Result<i128, Error>where
T: ByteOrder,
Reads a signed n-bytes integer from the underlying reader.
Sourceยงfn read_f32<T>(&mut self) -> Result<f32, Error>where
T: ByteOrder,
fn read_f32<T>(&mut self) -> Result<f32, Error>where
T: ByteOrder,
Reads a IEEE754 single-precision (4 bytes) floating point number from
the underlying reader. Read more
Sourceยงfn read_f64<T>(&mut self) -> Result<f64, Error>where
T: ByteOrder,
fn read_f64<T>(&mut self) -> Result<f64, Error>where
T: ByteOrder,
Reads a IEEE754 double-precision (8 bytes) floating point number from
the underlying reader. Read more
Sourceยงfn read_u16_into<T>(&mut self, dst: &mut [u16]) -> Result<(), Error>where
T: ByteOrder,
fn read_u16_into<T>(&mut self, dst: &mut [u16]) -> Result<(), Error>where
T: ByteOrder,
Reads a sequence of unsigned 16 bit integers from the underlying
reader. Read more
Sourceยงfn read_u32_into<T>(&mut self, dst: &mut [u32]) -> Result<(), Error>where
T: ByteOrder,
fn read_u32_into<T>(&mut self, dst: &mut [u32]) -> Result<(), Error>where
T: ByteOrder,
Reads a sequence of unsigned 32 bit integers from the underlying
reader. Read more
Sourceยงfn read_u64_into<T>(&mut self, dst: &mut [u64]) -> Result<(), Error>where
T: ByteOrder,
fn read_u64_into<T>(&mut self, dst: &mut [u64]) -> Result<(), Error>where
T: ByteOrder,
Reads a sequence of unsigned 64 bit integers from the underlying
reader. Read more
Sourceยงfn read_u128_into<T>(&mut self, dst: &mut [u128]) -> Result<(), Error>where
T: ByteOrder,
fn read_u128_into<T>(&mut self, dst: &mut [u128]) -> Result<(), Error>where
T: ByteOrder,
Reads a sequence of unsigned 128 bit integers from the underlying
reader. Read more
Sourceยงfn read_i8_into(&mut self, dst: &mut [i8]) -> Result<(), Error>
fn read_i8_into(&mut self, dst: &mut [i8]) -> Result<(), Error>
Reads a sequence of signed 8 bit integers from the underlying reader. Read more
Sourceยงfn read_i16_into<T>(&mut self, dst: &mut [i16]) -> Result<(), Error>where
T: ByteOrder,
fn read_i16_into<T>(&mut self, dst: &mut [i16]) -> Result<(), Error>where
T: ByteOrder,
Reads a sequence of signed 16 bit integers from the underlying
reader. Read more
Sourceยงfn read_i32_into<T>(&mut self, dst: &mut [i32]) -> Result<(), Error>where
T: ByteOrder,
fn read_i32_into<T>(&mut self, dst: &mut [i32]) -> Result<(), Error>where
T: ByteOrder,
Reads a sequence of signed 32 bit integers from the underlying
reader. Read more
Sourceยงfn read_i64_into<T>(&mut self, dst: &mut [i64]) -> Result<(), Error>where
T: ByteOrder,
fn read_i64_into<T>(&mut self, dst: &mut [i64]) -> Result<(), Error>where
T: ByteOrder,
Reads a sequence of signed 64 bit integers from the underlying
reader. Read more
Sourceยงfn read_i128_into<T>(&mut self, dst: &mut [i128]) -> Result<(), Error>where
T: ByteOrder,
fn read_i128_into<T>(&mut self, dst: &mut [i128]) -> Result<(), Error>where
T: ByteOrder,
Reads a sequence of signed 128 bit integers from the underlying
reader. Read more
Sourceยงfn read_f32_into<T>(&mut self, dst: &mut [f32]) -> Result<(), Error>where
T: ByteOrder,
fn read_f32_into<T>(&mut self, dst: &mut [f32]) -> Result<(), Error>where
T: ByteOrder,
Reads a sequence of IEEE754 single-precision (4 bytes) floating
point numbers from the underlying reader. Read more
Sourceยงfn read_f32_into_unchecked<T>(&mut self, dst: &mut [f32]) -> Result<(), Error>where
T: ByteOrder,
fn read_f32_into_unchecked<T>(&mut self, dst: &mut [f32]) -> Result<(), Error>where
T: ByteOrder,
๐Deprecated since 1.2.0: please use
read_f32_into insteadDEPRECATED. Read more