Files
OxideJS-New/crates/oxide_cli/src/server/mod.rs
T

48 lines
3.0 KiB
Rust
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//! 持久 server 子系统:协议数据面、身份注册、执行路径、worker 池与 server 进程主体。
//!
//! 持久 server 是常驻进程,复用预热池、近零 spawn 成本;
//! 通信走 Unix socket + NDJSON(换行分隔 JSON)。
//! 模块分十一层:协议数据面(帧格式与 serde 结构体)、身份注册(sidecar 文件
//! 与 liveness 检查原语)、启动时 liveness 扫描(扫陈旧 sidecar 与 socket、
//! 僵尸态自动恢复)、控制客户端(读 sidecar、连接 server、发控制请求
//! 帧、读回响应帧、三分支错误)、执行请求路径(parse → compile → spawn →
//! run → format → drop 六段纯函数)、worker 池(固定 N 常驻 worker、各持
//! 自有 VM 池、mpsc 轮询路由)、server 进程主体(accept 循环、控制请求直接
//! 处理、执行请求路由、优雅退出)、日志读取(行级别解析、阈值加最后 N 行
//! 过滤、阻塞式跟踪)、forge 状态查询(读四张共享 forge 条目数与容量、执行
//! gc / clear-cache / lookup 三旗标)、spawn 与就绪探测(start、restart、
//! watchdog 三条路径共用的唯一共享入口)、watchdog(前台监控进程、三态裁决
//! 加崩溃预算、崩溃后自动重启)。
/// 人工兜底清理命令:扫 sidecar、探活、杀 PID、删孤儿文件。
pub mod cleanup;
/// 控制客户端:读 sidecar、连接 server、发一帧控制请求、读回一帧响应。
pub mod client;
/// 执行请求路径:parse → compile → spawn → run → format → drop 六段纯函数。
pub mod eval;
/// forge 状态查询:读四张共享 forge 条目数与容量,执行 gc / clear-cache /
/// lookup 三旗标。
pub mod forge;
/// 启动时 liveness 扫描:扫陈旧 sidecar 与 socket,僵尸态自动恢复。
pub mod liveness;
/// 日志读取:行级别解析、阈值加最后 N 行过滤、整文件读取、阻塞式跟踪。
pub mod log;
/// 协议数据面:NDJSON 帧格式与 serde 结构体。
pub mod protocol;
/// server 进程主体:accept 循环、控制请求分派、执行请求路由、信号处理
/// (SIGINT/SIGTERM 置位关闭标志)、版本管理(sidecar 记构建版本,启动时
/// 与存活 server 版本比对:匹配不交接、不匹配强制交接)、交接协议(向旧
/// server 发 yield 请求使其排空退出、新 server 接管 socket 路径)、--rm
/// 独立模式(进程唯一 socket 路径、不注册 sidecar、不碰全局路径、单连接、
/// 空闲超时或断开即退出)与优雅退出。
#[allow(clippy::module_inception)]
pub mod server;
/// 身份注册:sidecar 文件、liveness 检查与陈旧清理。
pub mod sidecar;
/// spawn 与就绪探测:start、restart、watchdog 三条路径共用的唯一共享入口。
pub mod spawn;
/// worker 池:固定 N 常驻 worker、各持自有 VM 池、mpsc 轮询路由。
pub mod workers;
/// watchdog:前台监控进程,三态裁决加崩溃预算,崩溃后自动重启。
pub mod watchdog;