Trait BlockClient

Source
pub trait BlockClient: Send + Sync {
Show 16 methods // Required methods fn attach_vmo<'life0, 'life1, 'async_trait>( &'life0 self, vmo: &'life1 Vmo, ) -> Pin<Box<dyn Future<Output = Result<VmoId, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn detach_vmo<'life0, 'async_trait>( &'life0 self, vmo_id: VmoId, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn read_at_traced<'life0, 'life1, 'async_trait>( &'life0 self, buffer_slice: MutableBufferSlice<'life1>, device_offset: u64, trace_flow_id: u64, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn write_at_with_opts_traced<'life0, 'life1, 'async_trait>( &'life0 self, buffer_slice: BufferSlice<'life1>, device_offset: u64, opts: WriteOptions, trace_flow_id: u64, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn trim_traced<'life0, 'async_trait>( &'life0 self, device_range: Range<u64>, trace_flow_id: u64, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn flush_traced<'life0, 'async_trait>( &'life0 self, trace_flow_id: u64, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn close<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn block_size(&self) -> u32; fn block_count(&self) -> u64; fn block_flags(&self) -> BlockFlags; fn is_connected(&self) -> bool; // Provided methods fn read_at<'life0, 'life1, 'async_trait>( &'life0 self, buffer_slice: MutableBufferSlice<'life1>, device_offset: u64, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait { ... } fn write_at<'life0, 'life1, 'async_trait>( &'life0 self, buffer_slice: BufferSlice<'life1>, device_offset: u64, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait { ... } fn write_at_with_opts<'life0, 'life1, 'async_trait>( &'life0 self, buffer_slice: BufferSlice<'life1>, device_offset: u64, opts: WriteOptions, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait { ... } fn trim<'life0, 'async_trait>( &'life0 self, device_range: Range<u64>, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn flush<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... }
}
Expand description

Represents a client connection to a block device. This is a simplified version of the block.fidl interface. Most users will use the RemoteBlockClient instantiation of this trait.

Required Methods§

Source

fn attach_vmo<'life0, 'life1, 'async_trait>( &'life0 self, vmo: &'life1 Vmo, ) -> Pin<Box<dyn Future<Output = Result<VmoId, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Wraps AttachVmo from fuchsia.hardware.block::Block.

Source

fn detach_vmo<'life0, 'async_trait>( &'life0 self, vmo_id: VmoId, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Detaches the given vmo-id from the device.

Source

fn read_at_traced<'life0, 'life1, 'async_trait>( &'life0 self, buffer_slice: MutableBufferSlice<'life1>, device_offset: u64, trace_flow_id: u64, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn write_at_with_opts_traced<'life0, 'life1, 'async_trait>( &'life0 self, buffer_slice: BufferSlice<'life1>, device_offset: u64, opts: WriteOptions, trace_flow_id: u64, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn trim_traced<'life0, 'async_trait>( &'life0 self, device_range: Range<u64>, trace_flow_id: u64, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn flush_traced<'life0, 'async_trait>( &'life0 self, trace_flow_id: u64, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Sends a flush request to the underlying block device.

Source

fn close<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Closes the fifo.

Source

fn block_size(&self) -> u32

Returns the block size of the device.

Source

fn block_count(&self) -> u64

Returns the size, in blocks, of the device.

Source

fn block_flags(&self) -> BlockFlags

Returns the block flags reported by the device.

Source

fn is_connected(&self) -> bool

Returns true if the remote fifo is still connected.

Provided Methods§

Source

fn read_at<'life0, 'life1, 'async_trait>( &'life0 self, buffer_slice: MutableBufferSlice<'life1>, device_offset: u64, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Reads from the device at |device_offset| into the given buffer slice.

Source

fn write_at<'life0, 'life1, 'async_trait>( &'life0 self, buffer_slice: BufferSlice<'life1>, device_offset: u64, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Writes the data in |buffer_slice| to the device.

Source

fn write_at_with_opts<'life0, 'life1, 'async_trait>( &'life0 self, buffer_slice: BufferSlice<'life1>, device_offset: u64, opts: WriteOptions, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn trim<'life0, 'async_trait>( &'life0 self, device_range: Range<u64>, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Trims the given range on the block device.

Source

fn flush<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Implementors§