@@ -33,11 +33,11 @@ flowchart TD
3333 subgraph EventBuses[Event Buses - Disruptor Ring Buffers]
3434 TB[TradeBus]
3535 BB[BookUpdateBus]
36- CB[CandleBus ]
36+ CB[BarBus ]
3737 end
3838
3939 subgraph Aggregators
40- CA[CandleAggregator ]
40+ CA[BarAggregator ]
4141 end
4242
4343 subgraph Strategies
@@ -102,10 +102,11 @@ All buses use the Disruptor pattern (see [The Disruptor Pattern](disruptor.md)):
102102|-----|------------|---------|
103103| `TradeBus` | `TradeEvent` | Individual trades |
104104| `BookUpdateBus` | `pool::Handle<BookUpdateEvent>` | Order book snapshots/deltas |
105- | `CandleBus ` | `CandleEvent ` | OHLCV candles |
105+ | `BarBus ` | `BarEvent ` | OHLCV bars |
106106| `OrderExecutionBus` | `OrderEvent` | Order state changes |
107107
108108Key characteristics:
109+
109110- Lock-free ring buffer
110111- Single producer, multiple consumers
111112- Consumers run in dedicated threads
@@ -127,6 +128,7 @@ public:
127128```
128129
129130Connectors:
131+
130132- Parse exchange-specific wire protocols
131133- Convert to FLOX event types
132134- Publish to event buses
@@ -145,11 +147,13 @@ public:
145147```
146148
147149From ` IMarketDataSubscriber ` :
150+
148151- ` onTrade(const TradeEvent&) `
149152- ` onBookUpdate(const BookUpdateEvent&) `
150- - ` onCandle (const CandleEvent &)`
153+ - ` onBar (const BarEvent &)`
151154
152155From ` ISubsystem ` :
156+
153157- ` start() `
154158- ` stop() `
155159
@@ -168,9 +172,10 @@ public:
168172```
169173
170174Subsystems include:
175+
171176- Event buses
172177- Strategies
173- - Aggregators (e.g., CandleAggregator )
178+ - Aggregators (e.g., BarAggregator )
174179- Execution trackers
175180- Custom components
176181
@@ -185,6 +190,7 @@ auto id = registry.getSymbolId("binance", "BTCUSDT");
185190```
186191
187192Benefits:
193+
188194- Fast comparison (integer vs string)
189195- Compact event structures
190196- Consistent across components
@@ -238,6 +244,7 @@ bus.setupOptimalConfiguration(EventBus::ComponentType::MARKET_DATA);
238244```
239245
240246This:
247+
241248- Pins consumer threads to isolated cores
242249- Sets real-time scheduling priority
243250- Enables NUMA-aware core assignment
0 commit comments