Skip to main content

DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/RPC/CocoonService/Task/
TerminateTask.rs

1//! Forward a task-termination request to Sky over
2//! `sky://task/terminate`.
3
4use serde_json::json;
5use tauri::Emitter;
6use tonic::{Response, Status};
7
8use crate::{
9	RPC::CocoonService::CocoonServiceImpl,
10	Vine::Generated::{Empty, TerminateTaskRequest},
11	dev_log,
12};
13
14pub async fn Fn(Service:&CocoonServiceImpl, Request:TerminateTaskRequest) -> Result<Response<Empty>, Status> {
15	dev_log!("cocoon", "[CocoonService] terminate_task: id={}", Request.task_id);
16
17	let _ = Service
18		.environment
19		.ApplicationHandle
20		.emit("sky://task/terminate", json!({ "id": Request.task_id }));
21
22	Ok(Response::new(Empty {}))
23}