Decouple client contracts and close private role registries

This commit is contained in:
ms2k 2026-07-19 03:44:30 +09:00
commit 22325aa76a

View file

@ -0,0 +1,30 @@
use lazaret_ignored_workspace::{PRIVATE_ROUTER_ROLE, dispatch_private_router};
use lazaret_linux::private_role::{PrivateRole, PrivateRoleRegistry};
use lazaret_linux::process::{PRIVATE_PROCESS_ROLE, dispatch_private_process_role};
use crate::supervision::{PRIVATE_RUNTIME_ROLE, dispatch_private_runtime_role};
static ROLES: [PrivateRole; 3] = [
PrivateRole::new(PRIVATE_PROCESS_ROLE, dispatch_private_process_role),
PrivateRole::new(PRIVATE_ROUTER_ROLE, dispatch_private_router),
PrivateRole::new(PRIVATE_RUNTIME_ROLE, dispatch_private_runtime_role),
];
pub static REGISTRY: PrivateRoleRegistry = PrivateRoleRegistry::new(&ROLES);
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn runtime_supervisor_declares_exact_ordered_roles() {
assert_eq!(
REGISTRY.names(),
[
PRIVATE_PROCESS_ROLE,
PRIVATE_ROUTER_ROLE,
PRIVATE_RUNTIME_ROLE
]
);
}
}