Trait io_arrays::Array

source ·
pub trait Array {
    // Required methods
    fn metadata(&self) -> Result<Metadata>;
    fn advise(&self, offset: u64, len: u64, advice: Advice) -> Result<()>;
}
Expand description

A minimal base trait for array I/O. Defines operations common to all kinds of random-access devices that fit the “array” concept, including normal files, block devices, and in-memory buffers.

This is a base trait that ReadAt, WriteAt, and EditAt all share.

Required Methods§

source

fn metadata(&self) -> Result<Metadata>

Return the Metadata for the array. This is similar to std::fs::File::metadata, though it returns fewer fields since the underlying device may not be an actual filesystem inode.

source

fn advise(&self, offset: u64, len: u64, advice: Advice) -> Result<()>

Announce the expected access pattern of the data at the given offset.

This is purely a performance hint and has no semantic effect.

Implementations on Foreign Types§

source§

impl Array for &File

source§

fn metadata(&self) -> Result<Metadata>

source§

fn advise(&self, offset: u64, len: u64, advice: Advice) -> Result<()>

source§

impl Array for &mut Vec<u8>

source§

fn metadata(&self) -> Result<Metadata>

source§

fn advise(&self, offset: u64, len: u64, advice: Advice) -> Result<()>

source§

impl Array for &mut [u8]

source§

fn metadata(&self) -> Result<Metadata>

source§

fn advise(&self, _offset: u64, _len: u64, _advice: Advice) -> Result<()>

source§

impl Array for Vec<u8>

source§

fn metadata(&self) -> Result<Metadata>

source§

fn advise(&self, offset: u64, len: u64, advice: Advice) -> Result<()>

source§

impl Array for File

source§

fn metadata(&self) -> Result<Metadata>

source§

fn advise(&self, offset: u64, len: u64, advice: Advice) -> Result<()>

source§

impl Array for [u8]

source§

fn metadata(&self) -> Result<Metadata>

source§

fn advise(&self, _offset: u64, _len: u64, _advice: Advice) -> Result<()>

Implementors§