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