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