Architecture¶
NetGraph is two layers. This page says what each does, what crosses between them, and what holds across them; How NetGraph computes explains the rules.
Two layers¶
NetGraph handles what the network means: physical topology, selectors, grouped demands, risk groups, scenarios and workflow questions. NetGraph-Core computes: graph searches, allocation, forwarding, tunnel holds and numerical results. A query names the engine model to run.
The pipeline¶
- Prepare: NetGraph resolves selectors and demands on a read-only view of the editable network, chooses the bandwidth unit
qand builds one immutable native graph. - Run: numerical analysis steps ask the Core their questions on the prepared graph.
BuildGraph,NetworkStatsandCostPowerread the prepared domain records; custom steps run their own code. Numerical results hold the engine's result objects, which the export writes out. - Export:
write_jsonwrites the native results and NetGraph's records as JSON.
Guarantees¶
- A call that fails publishes nothing: no partial analysis and no partial run.
- Returned results stay readable after the scenario, its network and the prepared scenario are deleted.
- Independent cases can run on worker threads. Drawing and output order do not depend on worker completion, and results are the same for any number of workers.