pub trait SessionManager: 'static {
// Required methods
fn on_attach_vmo(
self: Arc<Self>,
vmo: &Arc<Vmo>,
) -> impl Future<Output = Result<(), Status>> + Send;
fn open_session(
self: Arc<Self>,
stream: SessionRequestStream,
block_size: u32,
) -> impl Future<Output = Result<(), Error>> + Send;
fn get_info(
&self,
) -> impl Future<Output = Result<Cow<'_, PartitionInfo>, Status>> + Send;
// Provided methods
fn get_volume_info(
&self,
) -> impl Future<Output = Result<(VolumeManagerInfo, VolumeInfo), Status>> + Send { ... }
fn query_slices(
&self,
_start_slices: &[u64],
) -> impl Future<Output = Result<Vec<VsliceRange>, Status>> + Send { ... }
fn extend(
&self,
_start_slice: u64,
_slice_count: u64,
) -> impl Future<Output = Result<(), Status>> + Send { ... }
fn shrink(
&self,
_start_slice: u64,
_slice_count: u64,
) -> impl Future<Output = Result<(), Status>> + Send { ... }
}
Required Methods§
fn on_attach_vmo( self: Arc<Self>, vmo: &Arc<Vmo>, ) -> impl Future<Output = Result<(), Status>> + Send
fn open_session( self: Arc<Self>, stream: SessionRequestStream, block_size: u32, ) -> impl Future<Output = Result<(), Error>> + Send
Provided Methods§
Sourcefn get_volume_info(
&self,
) -> impl Future<Output = Result<(VolumeManagerInfo, VolumeInfo), Status>> + Send
fn get_volume_info( &self, ) -> impl Future<Output = Result<(VolumeManagerInfo, VolumeInfo), Status>> + Send
Called to handle the GetVolumeInfo FIDL call.
Sourcefn query_slices(
&self,
_start_slices: &[u64],
) -> impl Future<Output = Result<Vec<VsliceRange>, Status>> + Send
fn query_slices( &self, _start_slices: &[u64], ) -> impl Future<Output = Result<Vec<VsliceRange>, Status>> + Send
Called to handle the QuerySlices FIDL call.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.