Skip to main content

RuntimePlugin

Trait RuntimePlugin 

Source
pub trait RuntimePlugin:
    Send
    + Sync
    + 'static {
    // Required methods
    fn is_supported_app<'life0, 'async_trait>(
        &'life0 self,
        request: Request<IsSupportedAppRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<IsSupportedAppResponse>, Status>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
    fn parse_app<'life0, 'async_trait>(
        &'life0 self,
        request: Request<ParseAppRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<ParseAppResponse>, Status>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
    fn install_app<'life0, 'async_trait>(
        &'life0 self,
        request: Request<InstallAppRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<InstallAppResponse>, Status>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
    fn uninstall_app<'life0, 'async_trait>(
        &'life0 self,
        request: Request<UninstallAppRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<UninstallAppResponse>, Status>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
    fn pause_app<'life0, 'async_trait>(
        &'life0 self,
        request: Request<PauseAppRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<PauseAppResponse>, Status>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
    fn resume_app<'life0, 'async_trait>(
        &'life0 self,
        request: Request<ResumeAppRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<ResumeAppResponse>, Status>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
}
Expand description

Generated trait containing gRPC methods that should be implemented for use with RuntimePluginServer.

Required Methods§

Source

fn is_supported_app<'life0, 'async_trait>( &'life0 self, request: Request<IsSupportedAppRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<IsSupportedAppResponse>, Status>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Source

fn parse_app<'life0, 'async_trait>( &'life0 self, request: Request<ParseAppRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ParseAppResponse>, Status>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Source

fn install_app<'life0, 'async_trait>( &'life0 self, request: Request<InstallAppRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<InstallAppResponse>, Status>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Installs are also partially handled by Nirvati, but this lets the plugin know about it so it can also do something on its part if needed for the particular format

Source

fn uninstall_app<'life0, 'async_trait>( &'life0 self, request: Request<UninstallAppRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UninstallAppResponse>, Status>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Source

fn pause_app<'life0, 'async_trait>( &'life0 self, request: Request<PauseAppRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PauseAppResponse>, Status>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Source

fn resume_app<'life0, 'async_trait>( &'life0 self, request: Request<ResumeAppRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ResumeAppResponse>, Status>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Implementors§