Skip to main content

VmoProxyInterface

Trait VmoProxyInterface 

Source
pub trait VmoProxyInterface: Send + Sync {
    type CreateVmoResponseFut: Future<Output = Result<VmoCreateVmoResult, Error>> + Send;
    type ReadVmoResponseFut: Future<Output = Result<VmoReadVmoResult, Error>> + Send;
    type WriteVmoResponseFut: Future<Output = Result<VmoWriteVmoResult, Error>> + Send;
    type GetVmoSizeResponseFut: Future<Output = Result<VmoGetVmoSizeResult, Error>> + Send;
    type SetVmoSizeResponseFut: Future<Output = Result<VmoSetVmoSizeResult, Error>> + Send;
    type GetVmoStreamSizeResponseFut: Future<Output = Result<VmoGetVmoStreamSizeResult, Error>> + Send;
    type SetVmoStreamSizeResponseFut: Future<Output = Result<VmoSetVmoStreamSizeResult, Error>> + Send;

    // Required methods
    fn create_vmo(
        &self,
        size: u64,
        options: VmoOptions,
        handle: &NewHandleId,
    ) -> Self::CreateVmoResponseFut;
    fn read_vmo(
        &self,
        handle: &HandleId,
        offset: u64,
        size: u64,
    ) -> Self::ReadVmoResponseFut;
    fn write_vmo(
        &self,
        handle: &HandleId,
        offset: u64,
        data: &[u8],
    ) -> Self::WriteVmoResponseFut;
    fn get_vmo_size(&self, handle: &HandleId) -> Self::GetVmoSizeResponseFut;
    fn set_vmo_size(
        &self,
        handle: &HandleId,
        size: u64,
    ) -> Self::SetVmoSizeResponseFut;
    fn get_vmo_stream_size(
        &self,
        handle: &HandleId,
    ) -> Self::GetVmoStreamSizeResponseFut;
    fn set_vmo_stream_size(
        &self,
        handle: &HandleId,
        size: u64,
    ) -> Self::SetVmoStreamSizeResponseFut;
}

Required Associated Types§

Required Methods§

Source

fn create_vmo( &self, size: u64, options: VmoOptions, handle: &NewHandleId, ) -> Self::CreateVmoResponseFut

Source

fn read_vmo( &self, handle: &HandleId, offset: u64, size: u64, ) -> Self::ReadVmoResponseFut

Source

fn write_vmo( &self, handle: &HandleId, offset: u64, data: &[u8], ) -> Self::WriteVmoResponseFut

Source

fn get_vmo_size(&self, handle: &HandleId) -> Self::GetVmoSizeResponseFut

Source

fn set_vmo_size( &self, handle: &HandleId, size: u64, ) -> Self::SetVmoSizeResponseFut

Source

fn get_vmo_stream_size( &self, handle: &HandleId, ) -> Self::GetVmoStreamSizeResponseFut

Source

fn set_vmo_stream_size( &self, handle: &HandleId, size: u64, ) -> Self::SetVmoStreamSizeResponseFut

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§