File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 55
66from ix_operator .agents import AgentMessage
77from ix_operator .bus import ReceivedAgentMessage
8+ from ix_operator .diagnostics import NetworkSnapshot
89from ix_operator .identity import NodeIdentity
910from ix_operator .ix import ExecutionReport , IxProgram
1011from ix_operator .node import OperatorNode
@@ -50,6 +51,18 @@ def local(
5051 def hub (self ) -> LocalTransportHub :
5152 return self ._hub
5253
54+ def snapshot (self ) -> NetworkSnapshot :
55+ with self ._lock :
56+ peer_ids = tuple (sorted (self ._nodes .keys ()))
57+ node_snapshots = tuple (self ._nodes [peer_id ].snapshot () for peer_id in peer_ids )
58+
59+ snapshot = NetworkSnapshot (
60+ peer_ids = peer_ids ,
61+ node_snapshots = node_snapshots ,
62+ )
63+ snapshot .validate ()
64+ return snapshot
65+
5366 def add_node (self , identity : NodeIdentity ) -> OperatorNode :
5467 identity .validate ()
5568
You can’t perform that action at this time.
0 commit comments