pub trait VolumeProxyInterface: Send + Sync {
type GetInfoResponseFut: Future<Output = Result<BlockGetInfoResult, Error>> + Send;
type GetStatsResponseFut: Future<Output = Result<BlockGetStatsResult, Error>> + Send;
type ReadBlocksResponseFut: Future<Output = Result<BlockReadBlocksResult, Error>> + Send;
type WriteBlocksResponseFut: Future<Output = Result<BlockWriteBlocksResult, 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 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;
Show 13 methods
// 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 read_blocks(
&self,
vmo: Vmo,
length: u64,
dev_offset: u64,
vmo_offset: u64
) -> Self::ReadBlocksResponseFut;
fn write_blocks(
&self,
vmo: Vmo,
length: u64,
dev_offset: u64,
vmo_offset: u64
) -> Self::WriteBlocksResponseFut;
fn get_type_guid(&self) -> Self::GetTypeGuidResponseFut;
fn get_instance_guid(&self) -> Self::GetInstanceGuidResponseFut;
fn get_name(&self) -> Self::GetNameResponseFut;
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;
}