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;
}

Required Associated Types§

source

type GetInfoResponseFut: Future<Output = Result<BlockGetInfoResult, Error>> + Send

source

type GetStatsResponseFut: Future<Output = Result<BlockGetStatsResult, Error>> + Send

source

type ReadBlocksResponseFut: Future<Output = Result<BlockReadBlocksResult, Error>> + Send

source

type WriteBlocksResponseFut: Future<Output = Result<BlockWriteBlocksResult, Error>> + Send

source

type GetTypeGuidResponseFut: Future<Output = Result<(i32, Option<Box<Guid>>), Error>> + Send

source

type GetInstanceGuidResponseFut: Future<Output = Result<(i32, Option<Box<Guid>>), Error>> + Send

source

type GetNameResponseFut: Future<Output = Result<(i32, Option<String>), Error>> + Send

source

type QuerySlicesResponseFut: Future<Output = Result<(i32, [VsliceRange; 16], u64), Error>> + Send

source

type GetVolumeInfoResponseFut: Future<Output = Result<(i32, Option<Box<VolumeManagerInfo>>, Option<Box<VolumeInfo>>), Error>> + Send

source

type ExtendResponseFut: Future<Output = Result<i32, Error>> + Send

source

type ShrinkResponseFut: Future<Output = Result<i32, Error>> + Send

source

type DestroyResponseFut: Future<Output = Result<i32, Error>> + Send

Required Methods§

source

fn get_info(&self) -> Self::GetInfoResponseFut

source

fn get_stats(&self, clear: bool) -> Self::GetStatsResponseFut

source

fn open_session(&self, session: ServerEnd<SessionMarker>) -> Result<(), Error>

source

fn read_blocks( &self, vmo: Vmo, length: u64, dev_offset: u64, vmo_offset: u64 ) -> Self::ReadBlocksResponseFut

source

fn write_blocks( &self, vmo: Vmo, length: u64, dev_offset: u64, vmo_offset: u64 ) -> Self::WriteBlocksResponseFut

source

fn get_type_guid(&self) -> Self::GetTypeGuidResponseFut

source

fn get_instance_guid(&self) -> Self::GetInstanceGuidResponseFut

source

fn get_name(&self) -> Self::GetNameResponseFut

source

fn query_slices(&self, start_slices: &[u64]) -> Self::QuerySlicesResponseFut

source

fn get_volume_info(&self) -> Self::GetVolumeInfoResponseFut

source

fn extend(&self, start_slice: u64, slice_count: u64) -> Self::ExtendResponseFut

source

fn shrink(&self, start_slice: u64, slice_count: u64) -> Self::ShrinkResponseFut

source

fn destroy(&self) -> Self::DestroyResponseFut

Implementors§

source§

impl VolumeProxyInterface for VolumeProxy

§

type GetInfoResponseFut = QueryResponseFut<Result<BlockInfo, i32>>

§

type GetStatsResponseFut = QueryResponseFut<Result<BlockStats, i32>>

§

type ReadBlocksResponseFut = QueryResponseFut<Result<(), i32>>

§

type WriteBlocksResponseFut = QueryResponseFut<Result<(), i32>>

§

type GetTypeGuidResponseFut = QueryResponseFut<(i32, Option<Box<Guid>>)>

§

type GetInstanceGuidResponseFut = QueryResponseFut<(i32, Option<Box<Guid>>)>

§

type GetNameResponseFut = QueryResponseFut<(i32, Option<String>)>

§

type QuerySlicesResponseFut = QueryResponseFut<(i32, [VsliceRange; 16], u64)>

§

type GetVolumeInfoResponseFut = QueryResponseFut<(i32, Option<Box<VolumeManagerInfo>>, Option<Box<VolumeInfo>>)>

§

type ExtendResponseFut = QueryResponseFut<i32>

§

type ShrinkResponseFut = QueryResponseFut<i32>

§

type DestroyResponseFut = QueryResponseFut<i32>