pub struct ByteReaderWriterWrapper<RW: BlockReader + BlockWriter>(_);
Expand description

A wrapper struct that implements a byte-wise reader and writer atop a block-based reader and writer.

This ideally should be realized via automatic trait implementations, in which all types that implement BlockReader + BlockWriter also implement ByteReader + ByteWriter, but we cannot do that because Rust currently does not support specialization.

Example

Use the From implementation around a BlockReader + BlockWriter instance, such as:

// Assume `storage_dev` implements `BlockReader + BlockWriter`
let mut reader_writer = ByteReaderWriterWrapper::from(storage_dev); 
let bytes_read = reader_writer.read_at(...);
let bytes_written = reader_writer.write_at(...);

Trait Implementations

Returns the size in bytes of a single block (i.e., sector), the minimum granularity of I/O transfers. Read more

Reads blocks of data from this reader into the given buffer. Read more

Writes blocks of data from the given buffer to this writer. Read more

Flushes this entire writer’s output stream, ensuring all contents in intermediate buffers are fully written out. Read more

Reads bytes of data from this reader into the given buffer. Read more

Writes bytes of data from the given buffer to this writer. Read more

Flushes this writer’s output stream, ensuring all contents in intermediate buffers are fully written out. Read more

Converts to this type from the input type.

Returns the length (size in bytes) of this I/O stream or device.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Converts to this type from the input type.

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.