// ===== node_registry:多节点账本注册表(blueprint: moonactor A9 件移植)=====
// 职责:node 名→NodeAccount 注册/按名取——单连接单账的上层组装件。
// 真源对位:net_kernel/sys_dist ets 表(node→connection);get_conn(Node) 按名取。
///|
/// 节点注册表(多节点多账组装)
pub struct NodeRegistry {
priv nodes : Array[String] // 节点名册(注册序)
priv accounts : Array[NodeAccount] // 与 nodes 同位对齐
}
///|
pub fn NodeRegistry::new() -> NodeRegistry {
{ nodes: [], accounts: [], }
}
///|
/// 注册节点账(重名=幂等跳过——sys_dist ets insert 覆盖语义对位);
/// 返回该节点账(新或既有)
pub fn NodeRegistry::register(
self : NodeRegistry,
node : String,
) -> NodeAccount {
for i in 0.. NodeAccount? {
for i in 0.. Int32 {
self.nodes.length()
}
///|
/// 全账清(节点全下线面——逐账 on_conn_lost;遍历序=注册序)
pub fn NodeRegistry::on_all_lost(
self : NodeRegistry,
events : &NodeEvents,
) -> Unit {
for i in 0..