Decouple client contracts and close private role registries
This commit is contained in:
parent
786049534d
commit
22325aa76a
1 changed files with 1041 additions and 321 deletions
30
crates/lazaret-runtime-supervisor/src/private_roles.rs
Normal file
30
crates/lazaret-runtime-supervisor/src/private_roles.rs
Normal 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
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue