Reader

Trait Reader 

Source
pub trait Reader: Clone {
Show 37 methods // Required methods fn len(&self) -> u64; fn uint64( &self, byte_offset: Option<u64>, little_endian: Option<bool>, ) -> u64; fn uint64_be(&self, byte_offset: Option<u64>) -> u64; fn uint64_le(&self, byte_offset: Option<u64>) -> u64; fn int64( &self, byte_offset: Option<u64>, little_endian: Option<bool>, ) -> i64; fn int64_be(&self, byte_offset: Option<u64>) -> i64; fn int64_le(&self, byte_offset: Option<u64>) -> i64; fn f64(&self, byte_offset: Option<u64>, little_endian: Option<bool>) -> f64; fn f64_be(&self, byte_offset: Option<u64>) -> f64; fn f64_le(&self, byte_offset: Option<u64>) -> f64; fn uint32( &self, byte_offset: Option<u64>, little_endian: Option<bool>, ) -> u32; fn uint32_be(&self, byte_offset: Option<u64>) -> u32; fn uint32_le(&self, byte_offset: Option<u64>) -> u32; fn int32( &self, byte_offset: Option<u64>, little_endian: Option<bool>, ) -> i32; fn int32_be(&self, byte_offset: Option<u64>) -> i32; fn int32_le(&self, byte_offset: Option<u64>) -> i32; fn f32(&self, byte_offset: Option<u64>, little_endian: Option<bool>) -> f32; fn f32_be(&self, byte_offset: Option<u64>) -> f32; fn f32_le(&self, byte_offset: Option<u64>) -> f32; fn uint16( &self, byte_offset: Option<u64>, little_endian: Option<bool>, ) -> u16; fn uint16_be(&self, byte_offset: Option<u64>) -> u16; fn uint16_le(&self, byte_offset: Option<u64>) -> u16; fn int16( &self, byte_offset: Option<u64>, little_endian: Option<bool>, ) -> i16; fn int16_be(&self, byte_offset: Option<u64>) -> i16; fn int16_le(&self, byte_offset: Option<u64>) -> i16; fn f16(&self, byte_offset: Option<u64>, little_endian: Option<bool>) -> f32; fn f16_be(&self, byte_offset: Option<u64>) -> f32; fn f16_le(&self, byte_offset: Option<u64>) -> f32; fn uint8(&self, byte_offset: Option<u64>) -> u8; fn int8(&self, byte_offset: Option<u64>) -> i8; fn tell(&self) -> u64; fn seek(&self, pos: u64); fn slice(&self, begin: Option<u64>, end: Option<u64>) -> Vec<u8> ; fn seek_slice(&self, size: usize) -> Vec<u8> ; fn parse_string( &self, byte_offset: Option<u64>, byte_length: Option<u64>, ) -> String; // Provided methods fn is_empty(&self) -> bool { ... } fn get_slice<'a>( &'a self, byte_offset: u64, byte_length: Option<u64>, ) -> impl Future<Output = Vec<u8>> + 'a { ... }
}
Expand description

Reader interface. Implemented to read data from either a buffer or a filesystem

Required Methods§

Source

fn len(&self) -> u64

Get the number of bytes in the reader

Source

fn uint64(&self, byte_offset: Option<u64>, little_endian: Option<bool>) -> u64

Get the unsigned 64 bit integer at the given byte offset and endian. Default to big-endian

Source

fn uint64_be(&self, byte_offset: Option<u64>) -> u64

Get the big-endian unsigned 64 bit integer at the given byte offset

Source

fn uint64_le(&self, byte_offset: Option<u64>) -> u64

Get the little-endian unsigned 64 bit integer at the given byte offset

Source

fn int64(&self, byte_offset: Option<u64>, little_endian: Option<bool>) -> i64

Get the signed 64 bit integer at the given byte offset and endian. Default to big-endian

Source

fn int64_be(&self, byte_offset: Option<u64>) -> i64

Get the big-endian signed 64 bit integer at the given byte offset

Source

fn int64_le(&self, byte_offset: Option<u64>) -> i64

Get the little-endian signed 64 bit integer at the given byte offset

Source

fn f64(&self, byte_offset: Option<u64>, little_endian: Option<bool>) -> f64

Get the 64 bit floating point at the given byte offset and endian. Default to big-endian

Source

fn f64_be(&self, byte_offset: Option<u64>) -> f64

Get the big-endian floating point 64 bit integer at the given byte offset

Source

fn f64_le(&self, byte_offset: Option<u64>) -> f64

Get the little-endian floating point 64 bit integer at the given byte offset

Source

fn uint32(&self, byte_offset: Option<u64>, little_endian: Option<bool>) -> u32

Get the unsigned 32 bit integer at the given byte offset and endian. Default to big-endian

Source

fn uint32_be(&self, byte_offset: Option<u64>) -> u32

Get the big-endian unsigned 32 bit integer at the given byte offset

Source

fn uint32_le(&self, byte_offset: Option<u64>) -> u32

Get the little-endian unsigned 32 bit integer at the given byte offset

Source

fn int32(&self, byte_offset: Option<u64>, little_endian: Option<bool>) -> i32

Get the signed 32 bit integer at the given byte offset and endian. Default to big-endian

Source

fn int32_be(&self, byte_offset: Option<u64>) -> i32

Get the big-endian signed 32 bit integer at the given byte offset

Source

fn int32_le(&self, byte_offset: Option<u64>) -> i32

Get the little-endian signed 32 bit integer at the given byte offset

Source

fn f32(&self, byte_offset: Option<u64>, little_endian: Option<bool>) -> f32

Get the 32 bit floating point at the given byte offset and endian. Default to big-endian

Source

fn f32_be(&self, byte_offset: Option<u64>) -> f32

Get the big-endian floating point 32 bit integer at the given byte offset

Source

fn f32_le(&self, byte_offset: Option<u64>) -> f32

Get the little-endian floating point 32 bit integer at the given byte offset

Source

fn uint16(&self, byte_offset: Option<u64>, little_endian: Option<bool>) -> u16

Get the unsigned 16 bit integer at the given byte offset and endian. Default to big-endian

Source

fn uint16_be(&self, byte_offset: Option<u64>) -> u16

Get the big-endian unsigned 16 bit integer at the given byte offset

Source

fn uint16_le(&self, byte_offset: Option<u64>) -> u16

Get the little-endian unsigned 16 bit integer at the given byte offset

Source

fn int16(&self, byte_offset: Option<u64>, little_endian: Option<bool>) -> i16

Get the signed 16 bit integer at the given byte offset and endian. Default to big-endian

Source

fn int16_be(&self, byte_offset: Option<u64>) -> i16

Get the big-endian signed 16 bit integer at the given byte offset

Source

fn int16_le(&self, byte_offset: Option<u64>) -> i16

Get the little-endian signed 16 bit integer at the given byte offset

Source

fn f16(&self, byte_offset: Option<u64>, little_endian: Option<bool>) -> f32

Get the 16 bit floating point at the given byte offset and endian. Default to big-endian

Source

fn f16_be(&self, byte_offset: Option<u64>) -> f32

Get the big-endian floating point 16 bit integer at the given byte offset

Source

fn f16_le(&self, byte_offset: Option<u64>) -> f32

Get the little-endian floating point 16 bit integer at the given byte offset

Source

fn uint8(&self, byte_offset: Option<u64>) -> u8

Get the unsigned 8 bit integer at the given byte offset

Source

fn int8(&self, byte_offset: Option<u64>) -> i8

Get the signed 8 bit integer at the given byte offset

Source

fn tell(&self) -> u64

Seek to the given byte offset

Source

fn seek(&self, pos: u64)

Seek to the given byte offset

Source

fn slice(&self, begin: Option<u64>, end: Option<u64>) -> Vec<u8>

Get a slice of the reader

Source

fn seek_slice(&self, size: usize) -> Vec<u8>

Get a slice of the reader at the current position

Source

fn parse_string( &self, byte_offset: Option<u64>, byte_length: Option<u64>, ) -> String

Parse a string from the reader

Provided Methods§

Source

fn is_empty(&self) -> bool

See if empty

Source

fn get_slice<'a>( &'a self, byte_offset: u64, byte_length: Option<u64>, ) -> impl Future<Output = Vec<u8>> + 'a

Fetch based mechanic. Defaults to slice mechanic

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Reader for BufferReader

Source§

impl Reader for FetchReader

Available on crate feature std or WebAssembly or crate feature wasm only.
Source§

impl Reader for FileReader

Available on crate feature std only.
Source§

impl Reader for MMapReader

Available on crate feature std only.