feat: server forge 子命令,四张共享 forge 状态查询加三行动旗标

This commit is contained in:
2026-10-06 18:46:44 +00:00
parent 83e41e10ab
commit e199ebeaa1
12 changed files with 635 additions and 54 deletions
+20 -1
View File
@@ -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);
}
}
}
}