_block_server_c_rustc_static

Trait SessionManager

Source
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§

Source

fn on_attach_vmo( self: Arc<Self>, vmo: &Arc<Vmo>, ) -> impl Future<Output = Result<(), Status>> + Send

Source

fn open_session( self: Arc<Self>, stream: SessionRequestStream, block_size: u32, ) -> impl Future<Output = Result<(), Error>> + Send

Source

fn get_info( &self, ) -> impl Future<Output = Result<Cow<'_, PartitionInfo>, Status>> + Send

Called to get partition information for Partition::GetTypeGuid, etc.

Provided Methods§

Source

fn get_volume_info( &self, ) -> impl Future<Output = Result<(VolumeManagerInfo, VolumeInfo), Status>> + Send

Called to handle the GetVolumeInfo FIDL call.

Source

fn query_slices( &self, _start_slices: &[u64], ) -> impl Future<Output = Result<Vec<VsliceRange>, Status>> + Send

Called to handle the QuerySlices FIDL call.

Source

fn extend( &self, _start_slice: u64, _slice_count: u64, ) -> impl Future<Output = Result<(), Status>> + Send

Called to handle the Shrink FIDL call.

Source

fn shrink( &self, _start_slice: u64, _slice_count: u64, ) -> impl Future<Output = Result<(), Status>> + Send

Called to handle the Shrink 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.

Implementors§

Source§

impl SessionManager for _block_server_c_rustc_static::c_interface::SessionManager

Source§

impl<I: Interface> SessionManager for _block_server_c_rustc_static::async_interface::SessionManager<I>