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 GetFlagsResponseFut: Future<Output = Result<PartitionGetFlagsResult, 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_flags(&self) -> Self::GetFlagsResponseFut;
    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 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 GetFlagsResponseFut: Future<Output = Result<PartitionGetFlagsResult, 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 get_type_guid(&self) -> Self::GetTypeGuidResponseFut

source

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

source

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

source

fn get_flags(&self) -> Self::GetFlagsResponseFut

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 GetTypeGuidResponseFut = QueryResponseFut<(i32, Option<Box<Guid>>)>

§

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

§

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

§

type GetFlagsResponseFut = QueryResponseFut<Result<u64, i32>>

§

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>