Struct remote_block_device::RemoteBlockClient
source · pub struct RemoteBlockClient { /* private fields */ }
Expand description
RemoteBlockClient is a BlockClient that communicates with a real block device over FIDL.
Implementations§
source§impl RemoteBlockClient
impl RemoteBlockClient
sourcepub async fn new(remote: BlockProxy) -> Result<Self, Error>
pub async fn new(remote: BlockProxy) -> Result<Self, Error>
Returns a connection to a remote block device via the given channel.
Trait Implementations§
source§impl BlockClient for RemoteBlockClient
impl BlockClient for RemoteBlockClient
source§fn attach_vmo<'life0, 'life1, 'async_trait>(
&'life0 self,
vmo: &'life1 Vmo
) -> Pin<Box<dyn Future<Output = Result<VmoId, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn attach_vmo<'life0, 'life1, 'async_trait>( &'life0 self, vmo: &'life1 Vmo ) -> Pin<Box<dyn Future<Output = Result<VmoId, Error>> + 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<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn detach_vmo<'life0, 'async_trait>( &'life0 self, vmo_id: VmoId ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Detaches the given vmo-id from the device.
source§fn read_at<'life0, 'life1, 'async_trait>(
&'life0 self,
buffer_slice: MutableBufferSlice<'life1>,
device_offset: u64
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_at<'life0, 'life1, 'async_trait>( &'life0 self, buffer_slice: MutableBufferSlice<'life1>, device_offset: u64 ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 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<(), Error>> + 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<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Writes the data in |buffer_slice| to the device.
source§fn flush<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn flush<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 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<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn close<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Closes the fifo.
source§fn block_size(&self) -> u32
fn block_size(&self) -> u32
Returns the block size of the device.
source§fn block_count(&self) -> u64
fn block_count(&self) -> u64
Returns the size, in blocks, of the device.
source§fn is_connected(&self) -> bool
fn is_connected(&self) -> bool
Returns true if the remote fifo is still connected.