pub struct OpenSandboxRuntime { /* private fields */ }Implementations§
Trait Implementations§
Source§impl SandboxRuntime for OpenSandboxRuntime
impl SandboxRuntime for OpenSandboxRuntime
Source§fn create_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
spec: &'life1 SandboxSpec,
) -> Pin<Box<dyn Future<Output = CiabResult<SandboxInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
spec: &'life1 SandboxSpec,
) -> Pin<Box<dyn Future<Output = CiabResult<SandboxInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create a new sandbox from the given spec.
Source§fn get_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<SandboxInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<SandboxInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get info about a sandbox by ID.
Source§fn list_sandboxes<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
state: Option<SandboxState>,
provider: Option<&'life1 str>,
labels: &'life2 HashMap<String, String>,
) -> Pin<Box<dyn Future<Output = CiabResult<Vec<SandboxInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_sandboxes<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
state: Option<SandboxState>,
provider: Option<&'life1 str>,
labels: &'life2 HashMap<String, String>,
) -> Pin<Box<dyn Future<Output = CiabResult<Vec<SandboxInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
List all sandboxes, optionally filtered by state, provider, and labels.
Source§fn start_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn start_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Start a sandbox.
Source§fn stop_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn stop_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Stop a sandbox.
Source§fn pause_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn pause_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Pause a sandbox.
Source§fn resume_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn resume_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Resume a paused sandbox.
Source§fn terminate_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn terminate_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Terminate and remove a sandbox.
Source§fn exec<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
request: &'life2 ExecRequest,
) -> Pin<Box<dyn Future<Output = CiabResult<ExecResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn exec<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
request: &'life2 ExecRequest,
) -> Pin<Box<dyn Future<Output = CiabResult<ExecResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a command inside a sandbox.
Source§fn read_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
path: &'life2 str,
) -> Pin<Box<dyn Future<Output = CiabResult<Vec<u8>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn read_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
path: &'life2 str,
) -> Pin<Box<dyn Future<Output = CiabResult<Vec<u8>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Read a file from a sandbox.
Source§fn write_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
path: &'life2 str,
content: &'life3 [u8],
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn write_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
path: &'life2 str,
content: &'life3 [u8],
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Write a file to a sandbox.
Source§fn list_files<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
path: &'life2 str,
) -> Pin<Box<dyn Future<Output = CiabResult<Vec<FileInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_files<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
path: &'life2 str,
) -> Pin<Box<dyn Future<Output = CiabResult<Vec<FileInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
List files in a directory inside a sandbox.
Source§fn get_stats<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<ResourceStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_stats<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<ResourceStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get resource stats for a sandbox.
Source§fn stream_logs<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
options: &'life2 LogOptions,
) -> Pin<Box<dyn Future<Output = CiabResult<Receiver<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn stream_logs<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
options: &'life2 LogOptions,
) -> Pin<Box<dyn Future<Output = CiabResult<Receiver<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Stream logs from a sandbox.
Source§fn exec_streaming<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
request: &'life2 ExecRequest,
) -> Pin<Box<dyn Future<Output = Result<(Receiver<String>, JoinHandle<Result<ExecResult, CiabError>>), CiabError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn exec_streaming<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
request: &'life2 ExecRequest,
) -> Pin<Box<dyn Future<Output = Result<(Receiver<String>, JoinHandle<Result<ExecResult, CiabError>>), CiabError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Execute a command inside a sandbox, streaming stdout lines as they arrive.
Returns a receiver of output lines and a join handle for the final ExecResult. Read more
Source§fn exec_streaming_interactive<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
request: &'life2 ExecRequest,
) -> Pin<Box<dyn Future<Output = Result<(Receiver<String>, Sender<String>, JoinHandle<Result<ExecResult, CiabError>>), CiabError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn exec_streaming_interactive<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
request: &'life2 ExecRequest,
) -> Pin<Box<dyn Future<Output = Result<(Receiver<String>, Sender<String>, JoinHandle<Result<ExecResult, CiabError>>), CiabError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Execute a command with bidirectional streaming.
Returns (stdout lines receiver, stdin sender, join handle).
Send lines to the stdin sender to write to the process’s stdin.
Auto Trait Implementations§
impl Freeze for OpenSandboxRuntime
impl !RefUnwindSafe for OpenSandboxRuntime
impl Send for OpenSandboxRuntime
impl Sync for OpenSandboxRuntime
impl Unpin for OpenSandboxRuntime
impl UnsafeUnpin for OpenSandboxRuntime
impl !UnwindSafe for OpenSandboxRuntime
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