mirror of
https://github.com/pjh456/OxideJS.git
synced 2026-10-24 18:51:13 +08:00
feat: server forge 子命令,四张共享 forge 状态查询加三行动旗标
This commit is contained in:
@@ -17,7 +17,8 @@ use oxide_kernel::kernel::KernelCore;
|
||||
use oxide_vm::vm_pool::{PoolCounters, VmPool};
|
||||
|
||||
use super::eval;
|
||||
use super::protocol::ServerResponse;
|
||||
use super::forge;
|
||||
use super::protocol::{ForgeTarget, ServerResponse};
|
||||
|
||||
/// worker 任务:执行请求加一次性回复通道。
|
||||
#[derive(Debug)]
|
||||
@@ -28,6 +29,14 @@ pub enum WorkerTask {
|
||||
max_steps: Option<u64>,
|
||||
reply: mpsc::Sender<ServerResponse>,
|
||||
},
|
||||
/// forge 查询:目标 forge 加三个行动旗标,一次性回复通道。
|
||||
ForgeQuery {
|
||||
target: ForgeTarget,
|
||||
gc: bool,
|
||||
clear_cache: bool,
|
||||
lookup: Option<String>,
|
||||
reply: mpsc::Sender<ServerResponse>,
|
||||
},
|
||||
}
|
||||
|
||||
/// worker 路由器:N 条独立任务通道的发送端加轮询计数。
|
||||
@@ -125,6 +134,16 @@ fn worker_loop(receiver: mpsc::Receiver<WorkerTask>, kernel: Arc<KernelCore>, po
|
||||
let response = eval::handle_eval(&code, max_steps, &kernel, &pool);
|
||||
let _ = reply.send(response);
|
||||
}
|
||||
WorkerTask::ForgeQuery {
|
||||
target,
|
||||
gc,
|
||||
clear_cache,
|
||||
lookup,
|
||||
reply,
|
||||
} => {
|
||||
let response = forge::handle_forge_query(target, gc, clear_cache, lookup, &kernel, &pool);
|
||||
let _ = reply.send(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user