pub trait BlockProxyInterface: Send + Sync {
type GetInfoResponseFut: Future<Output = Result<BlockGetInfoResult, 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<BlockGetMetadataResult, 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 open_session(
&self,
session: ServerEnd<SessionMarker>,
) -> Result<(), Error>;
fn open_session_with_offset_map(
&self,
session: ServerEnd<SessionMarker>,
mapping: &BlockOffsetMapping,
) -> 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;
}Required Associated Types§
type GetInfoResponseFut: Future<Output = Result<BlockGetInfoResult, 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<BlockGetMetadataResult, 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 open_session(&self, session: ServerEnd<SessionMarker>) -> Result<(), Error>
fn open_session_with_offset_map( &self, session: ServerEnd<SessionMarker>, mapping: &BlockOffsetMapping, ) -> 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
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".