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 Self: 'async_trait,
             'life0: '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 Self: 'async_trait,
             'life0: '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 Self: 'async_trait,
             'life0: '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 Self: 'async_trait,
             'life0: '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 Self: 'async_trait,
             'life0: '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 Self: 'async_trait,
             'life0: '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 Self: 'async_trait, 'life0: '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 Self: 'async_trait, 'life0: '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 Self: 'async_trait, 'life0: '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 Self: 'async_trait, 'life0: '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 Self: 'async_trait, 'life0: '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 Self: 'async_trait, 'life0: 'async_trait,

Implementors§