Trait BlockDevice

Source
pub trait BlockDevice: Device {
    // Required methods
    fn get_id(&self) -> usize;
    fn get_disk_name(&self) -> &'static str;
    fn get_disk_size(&self) -> usize;
    fn enqueue_request(&mut self, request: Box<BlockIORequest>);
    fn process_requests(&mut self) -> Vec<BlockIOResult>;
}
Expand description

Block device interface

This trait defines the interface for block devices. It provides methods for querying device information and handling I/O requests.

Required Methods§

Source

fn get_id(&self) -> usize

Get the device identifier

Source

fn get_disk_name(&self) -> &'static str

Get the disk name

Source

fn get_disk_size(&self) -> usize

Get the disk size in bytes

Source

fn enqueue_request(&mut self, request: Box<BlockIORequest>)

Enqueue a block I/O request

Source

fn process_requests(&mut self) -> Vec<BlockIOResult>

Process all queued requests

§Returns

A vector of results for all processed requests

Implementors§