Skip to main content

Array

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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

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 File

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 [u8]

Source§

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

Source§

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

Implementors§