Simulator Modes (Configuration)
This page documents the simulator_mode field in config.yaml. For the conceptual explanation of System-Wide and Per-Node topologies, see Architecture โ Simulator Modes.
System-Wide Mode (simulator_mode: 0)โ
A single NSBSimClient handles all message fetching and posting for the entire simulation. Only one simulator client can be connected to the daemon at a time.
- Best for top-down network simulators: ns-3, custom script-driven simulations
- The single simulator client fetches any message regardless of source
Constraint: Only one NSBSimClient may connect to the daemon at a time in this mode.
system:
simulator_mode: 0
Per-Node Mode (simulator_mode: 1)โ
Each simulated node has its own NSBSimClient. The client identifier must exactly match the corresponding NSBAppClient identifier.
- Best for bottom-up network simulators: OMNeT++, node-module-based simulators
NSBSimClient("node0").fetch()fetches only messages fromNSBAppClient("node0")NSBSimClient("node0").post(...)makes the payload available toNSBAppClientat the destination
Identifier matching rule: the simulator client's identifier string must exactly match its corresponding application client's identifier string.
system:
simulator_mode: 1
Go Deeperโ
- Architecture โ Simulator Modes โ internal routing behavior and topology diagrams
- Configuration Reference โ full field table including defaults
- Integrations โ System-Wide vs Per-Node โ choosing a mode for your simulator