pub struct PluginSandbox { /* private fields */ }Expand description
Plugin sandbox for secure execution
Implementations§
Source§impl PluginSandbox
impl PluginSandbox
Sourcepub fn new(config: PluginLoaderConfig) -> Self
pub fn new(config: PluginLoaderConfig) -> Self
Create a new plugin sandbox
Sourcepub async fn create_plugin_instance(
&self,
context: &PluginLoadContext,
) -> LoaderResult<PluginInstance>
pub async fn create_plugin_instance( &self, context: &PluginLoadContext, ) -> LoaderResult<PluginInstance>
Create a plugin instance in the sandbox
Sourcepub async fn execute_plugin_function(
&self,
plugin_id: &PluginId,
function_name: &str,
context: &PluginContext,
input: &[u8],
) -> LoaderResult<PluginResult<Value>>
pub async fn execute_plugin_function( &self, plugin_id: &PluginId, function_name: &str, context: &PluginContext, input: &[u8], ) -> LoaderResult<PluginResult<Value>>
Execute a plugin function in the sandbox
Sourcepub async fn get_plugin_health(
&self,
plugin_id: &PluginId,
) -> LoaderResult<PluginHealth>
pub async fn get_plugin_health( &self, plugin_id: &PluginId, ) -> LoaderResult<PluginHealth>
Get plugin health from sandbox
Sourcepub async fn destroy_sandbox(&self, plugin_id: &PluginId) -> LoaderResult<()>
pub async fn destroy_sandbox(&self, plugin_id: &PluginId) -> LoaderResult<()>
Destroy a plugin sandbox
Sourcepub async fn list_active_sandboxes(&self) -> Vec<PluginId>
pub async fn list_active_sandboxes(&self) -> Vec<PluginId>
List active sandboxes
Sourcepub async fn get_sandbox_resources(
&self,
plugin_id: &PluginId,
) -> LoaderResult<SandboxResources>
pub async fn get_sandbox_resources( &self, plugin_id: &PluginId, ) -> LoaderResult<SandboxResources>
Get sandbox resource usage
Sourcepub async fn check_sandbox_health(
&self,
plugin_id: &PluginId,
) -> LoaderResult<SandboxHealth>
pub async fn check_sandbox_health( &self, plugin_id: &PluginId, ) -> LoaderResult<SandboxHealth>
Check sandbox health
Auto Trait Implementations§
impl !Freeze for PluginSandbox
impl !RefUnwindSafe for PluginSandbox
impl Send for PluginSandbox
impl !Sync for PluginSandbox
impl Unpin for PluginSandbox
impl !UnwindSafe for PluginSandbox
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more