pub trait BlockProxyInterface: 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;
// 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;
}