breez_sdk_liquid::lightning_125::util::ser

Struct FixedLengthReader

pub struct FixedLengthReader<'a, 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<'a, R> FixedLengthReader<'a, R>
where R: Read,

pub fn new(read: &'a mut R, total_bytes: u64) -> FixedLengthReader<'a, R>

Returns a new FixedLengthReader.

pub fn bytes_remain(&mut self) -> bool

Returns whether some bytes are remaining or not.

pub fn eat_remaining(&mut self) -> Result<(), DecodeError>

Consumes the remaining bytes.

Trait Implementations§

§

impl<'a, R> Read for FixedLengthReader<'a, R>
where R: Read,

§

fn read(&mut self, dest: &mut [u8]) -> Result<usize, Error>

Reads bytes from source into buf.
§

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

Reads bytes from source until buf is full.
§

fn take(&mut self, limit: u64) -> Take<'_, Self>

Creates an adapter which will read at most limit bytes.
§

fn read_to_limit( &mut self, buf: &mut Vec<u8>, limit: u64, ) -> Result<usize, Error>

Attempts to read up to limit bytes from the reader, allocating space in buf as needed. Read more

Auto Trait Implementations§

§

impl<'a, R> Freeze for FixedLengthReader<'a, R>

§

impl<'a, R> RefUnwindSafe for FixedLengthReader<'a, R>
where R: RefUnwindSafe,

§

impl<'a, R> Send for FixedLengthReader<'a, R>
where R: Send,

§

impl<'a, R> Sync for FixedLengthReader<'a, R>
where R: Sync,

§

impl<'a, R> Unpin for FixedLengthReader<'a, R>

§

impl<'a, R> !UnwindSafe for FixedLengthReader<'a, R>

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
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<R> ReadExt for R
where R: Read + ?Sized,

§

fn read_u64(&mut self) -> Result<u64, Error>

Reads a 64-bit unsigned integer.
§

fn read_u32(&mut self) -> Result<u32, Error>

Reads a 32-bit unsigned integer.
§

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

Reads a 16-bit unsigned integer.
§

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

Reads a 64-bit signed integer.
§

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

Reads a 32-bit signed integer.
§

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

Reads a 16-bit signed integer.
§

fn read_u8(&mut self) -> Result<u8, Error>

Reads an 8-bit unsigned integer.
§

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

Reads an 8-bit signed integer.
§

fn read_bool(&mut self) -> Result<bool, Error>

Reads a boolean.
§

fn read_slice(&mut self, slice: &mut [u8]) -> Result<(), Error>

Reads a byte slice.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

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>,

Source§

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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> DartSafe for T

§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T

§

impl<T> TaskRetFutTrait for T
where T: Send,