MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / handle_delete_sandbox_inner

Function handle_delete_sandbox_inner

crates/openshell-server/src/grpc/sandbox.rs:496–518  ·  view source on GitHub ↗
(
    state: &Arc<ServerState>,
    request: Request<DeleteSandboxRequest>,
)

Source from the content-addressed store, hash-verified

494}
495
496async fn handle_delete_sandbox_inner(
497 state: &Arc<ServerState>,
498 request: Request<DeleteSandboxRequest>,
499) -> Result<Response<DeleteSandboxResponse>, Status> {
500 let name = request.into_inner().name;
501 if name.is_empty() {
502 return Err(Status::invalid_argument("name is required"));
503 }
504
505 let sandbox_id = state
506 .store
507 .get_message_by_name::<Sandbox>(&name)
508 .await
509 .ok()
510 .flatten()
511 .map(|sandbox| sandbox.object_id().to_string());
512 let deleted = state.compute.delete_sandbox(&name).await?;
513 if deleted && let Some(sandbox_id) = sandbox_id {
514 state.telemetry.end_sandbox_session(&sandbox_id);
515 }
516 info!(sandbox_name = %name, "DeleteSandbox request completed successfully");
517 Ok(Response::new(DeleteSandboxResponse { deleted }))
518}
519
520async fn sandbox_by_name(state: &Arc<ServerState>, name: &str) -> Result<Sandbox, Status> {
521 if name.is_empty() {

Callers 1

handle_delete_sandboxFunction · 0.85

Calls 4

object_idMethod · 0.80
end_sandbox_sessionMethod · 0.80
is_emptyMethod · 0.45
delete_sandboxMethod · 0.45

Tested by

no test coverage detected