fidl_fuchsia_hardware_block_volumeTrait VolumeProxyInterface
Source pub trait VolumeProxyInterface: Send + Sync {
type GetInfoResponseFut: Future<Output = Result<BlockGetInfoResult, Error>> + Send;
type GetStatsResponseFut: Future<Output = Result<BlockGetStatsResult, Error>> + Send;
type GetTypeGuidResponseFut: Future<Output = Result<(i32, Option<Box<Guid>>), Error>> + Send;
type GetInstanceGuidResponseFut: Future<Output = Result<(i32, Option<Box<Guid>>), Error>> + Send;
type GetNameResponseFut: Future<Output = Result<(i32, Option<String>), Error>> + Send;
type GetMetadataResponseFut: Future<Output = Result<PartitionGetMetadataResult, Error>> + Send;
type QuerySlicesResponseFut: Future<Output = Result<(i32, [VsliceRange; 16], u64), Error>> + Send;
type GetVolumeInfoResponseFut: Future<Output = Result<(i32, Option<Box<VolumeManagerInfo>>, Option<Box<VolumeInfo>>), Error>> + Send;
type ExtendResponseFut: Future<Output = Result<i32, Error>> + Send;
type ShrinkResponseFut: Future<Output = Result<i32, Error>> + Send;
type DestroyResponseFut: Future<Output = Result<i32, Error>> + Send;
// Required methods
fn get_info(&self) -> Self::GetInfoResponseFut;
fn get_stats(&self, clear: bool) -> Self::GetStatsResponseFut;
fn open_session(
&self,
session: ServerEnd<SessionMarker>,
) -> Result<(), Error>;
fn get_type_guid(&self) -> Self::GetTypeGuidResponseFut;
fn get_instance_guid(&self) -> Self::GetInstanceGuidResponseFut;
fn get_name(&self) -> Self::GetNameResponseFut;
fn get_metadata(&self) -> Self::GetMetadataResponseFut;
fn query_slices(&self, start_slices: &[u64]) -> Self::QuerySlicesResponseFut;
fn get_volume_info(&self) -> Self::GetVolumeInfoResponseFut;
fn extend(
&self,
start_slice: u64,
slice_count: u64,
) -> Self::ExtendResponseFut;
fn shrink(
&self,
start_slice: u64,
slice_count: u64,
) -> Self::ShrinkResponseFut;
fn destroy(&self) -> Self::DestroyResponseFut;
}