28#include "../../include/srfm/engine/stream_engine.hpp"
35 if (running_.load(std::memory_order_acquire))
return;
41 running_.store(
true, std::memory_order_release);
47 if (!running_.load(std::memory_order_acquire))
return;
54 running_.store(
false, std::memory_order_release);
61 ++inject_dropped_invalid_;
64 if (!ring1_.push(std::move(tick))) {
65 ++inject_dropped_ring_full_;
93 std::int64_t bar_index)
noexcept {
94 return processor_.process_one(tick, bar_index);
stream::SignalConsumerCounters consumer_counters() const noexcept
bool inject(stream::OHLCVTick tick) noexcept
Inject a tick directly into Ring1, bypassing the TickSource.
stream::TickIngesterCounters ingester_counters() const noexcept
stream::SignalProcessorCounters processor_counters() const noexcept
void stop() noexcept
Stop all three pipeline threads.
void start() noexcept
Start all three pipeline threads.
stream::StreamRelativisticSignal process_sync(const stream::OHLCVTick &tick, std::int64_t bar_index) noexcept
Process one tick synchronously (no threads, no ring buffers).
void reset_processor_state() noexcept
Reset all signal-processor state (for test reuse).
SignalConsumerCounters counters() const noexcept
void start() noexcept
Launch the consumer thread. Idempotent.
void stop() noexcept
Stop the consumer thread and perform a final flush. Idempotent.
SignalProcessorCounters counters() const noexcept
void stop() noexcept
Stop and join the processing thread. Idempotent.
void start() noexcept
Launch the processing thread. Idempotent.
void reset_state() noexcept
Reset all signal-chain component state.
void stop() noexcept
Signal the ingestion thread to stop and wait for it to finish.
TickIngesterCounters counters() const noexcept
Snapshot of ingestion counters.
void start() noexcept
Launch the ingestion thread.
bool tick_is_valid(const OHLCVTick &t) noexcept
Validate all fields of an OHLCVTick.
Single OHLCV bar tick from the market data feed.
Diagnostic counters for the signal consumer thread.
Diagnostic counters for the signal-processing thread.
Fully-characterised relativistic signal for one processed tick.
Diagnostic counters for the ingestion thread.