Struct breez_sdk_core::lightning::util::ser::FixedLengthReader
pub struct FixedLengthReader<R>where
R: Read,{ /* private fields */ }
Expand description
Essentially std::io::Take
but a bit simpler and with a method to walk the underlying stream
forward to ensure we always consume exactly the fixed length specified.
This is not exported to bindings users as manual TLV building is not currently supported in bindings
Implementations§
§impl<R> FixedLengthReader<R>where
R: Read,
impl<R> FixedLengthReader<R>where
R: Read,
pub fn new(read: R, total_bytes: u64) -> FixedLengthReader<R> ⓘ
pub fn new(read: R, total_bytes: u64) -> FixedLengthReader<R> ⓘ
Returns a new FixedLengthReader
.
pub fn bytes_remain(&mut self) -> bool
pub fn bytes_remain(&mut self) -> bool
Returns whether some bytes are remaining or not.
pub fn eat_remaining(&mut self) -> Result<(), DecodeError>
pub fn eat_remaining(&mut self) -> Result<(), DecodeError>
Consumes the remaining bytes.
Trait Implementations§
§impl<R> Read for FixedLengthReader<R>where
R: Read,
impl<R> Read for FixedLengthReader<R>where
R: Read,
§fn read(&mut self, dest: &mut [u8]) -> Result<usize, Error>
fn read(&mut self, dest: &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 moreAuto Trait Implementations§
impl<R> Freeze for FixedLengthReader<R>where
R: Freeze,
impl<R> RefUnwindSafe for FixedLengthReader<R>where
R: RefUnwindSafe,
impl<R> Send for FixedLengthReader<R>where
R: Send,
impl<R> Sync for FixedLengthReader<R>where
R: Sync,
impl<R> Unpin for FixedLengthReader<R>where
R: Unpin,
impl<R> UnwindSafe for FixedLengthReader<R>where
R: UnwindSafe,
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any
.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any
.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
§impl<R> ReadBigEndian for R
impl<R> ReadBigEndian for R
§fn read_u16_be(&mut self) -> Result<u16, Error>
fn read_u16_be(&mut self) -> Result<u16, Error>
Read a big-endian u16
§fn read_u32_be(&mut self) -> Result<u32, Error>
fn read_u32_be(&mut self) -> Result<u32, Error>
Read a big-endian u32
§fn read_u64_be(&mut self) -> Result<u64, Error>
fn read_u64_be(&mut self) -> Result<u64, Error>
Read a big-endian u64