pub trait PluginValidator: Send + Sync {
// Required methods
fn validate_manifest(
&self,
manifest: &PluginManifest,
) -> Result<Vec<ValidationWarning>>;
fn validate_wasm(&self, wasm_bytes: &[u8]) -> Result<Vec<ValidationWarning>>;
fn security_audit(
&self,
manifest: &PluginManifest,
wasm_bytes: &[u8],
) -> Result<SecurityAuditReport>;
fn benchmark(&self, plugin: &dyn WasmPlugin) -> Result<BenchmarkReport>;
}
Expand description
Plugin validation trait
Required Methods§
Sourcefn validate_manifest(
&self,
manifest: &PluginManifest,
) -> Result<Vec<ValidationWarning>>
fn validate_manifest( &self, manifest: &PluginManifest, ) -> Result<Vec<ValidationWarning>>
Validate plugin manifest
Sourcefn validate_wasm(&self, wasm_bytes: &[u8]) -> Result<Vec<ValidationWarning>>
fn validate_wasm(&self, wasm_bytes: &[u8]) -> Result<Vec<ValidationWarning>>
Validate WASM bytecode
Sourcefn security_audit(
&self,
manifest: &PluginManifest,
wasm_bytes: &[u8],
) -> Result<SecurityAuditReport>
fn security_audit( &self, manifest: &PluginManifest, wasm_bytes: &[u8], ) -> Result<SecurityAuditReport>
Security audit of plugin
Sourcefn benchmark(&self, plugin: &dyn WasmPlugin) -> Result<BenchmarkReport>
fn benchmark(&self, plugin: &dyn WasmPlugin) -> Result<BenchmarkReport>
Performance benchmark