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§
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
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".