Skip to main content

opendeviationbar_streaming/
lib.rs

1//! Real-time streaming engine for open deviation bar processing
2//!
3//! This module provides real-time streaming capabilities for processing
4//! open deviation bars from live data sources with support for replay.
5
6pub mod processor;
7pub mod replay_buffer;
8pub mod ring_buffer; // Issue #96 Task #9: Fixed-size ring buffer for streaming
9
10// Issue #178: Unified hot-path/cold-path engine (three-trait architecture)
11#[cfg(feature = "binance-integration")]
12pub mod engine;
13
14// Issue #91: Live bar engine for real-time streaming sidecar
15#[cfg(feature = "binance-integration")]
16pub mod live_engine;
17
18// Issue #257: Gap detection and fill infrastructure
19#[cfg(feature = "binance-integration")]
20pub mod gap;
21
22// Issue #161: StreamManager with rate-limited gap-fill and trade-ID continuity
23#[cfg(feature = "binance-integration")]
24pub mod stream_manager;
25
26// Issue #313: Arrow export for CompletedBar drain (v7.2 memory efficiency)
27#[cfg(all(feature = "binance-integration", feature = "arrow"))]
28pub mod arrow_export;
29
30#[cfg(feature = "binance-integration")]
31pub mod universal;
32
33// Re-export commonly used types
34pub use processor::StreamingProcessor;
35pub use replay_buffer::{ReplayBuffer, ReplayBufferStats};
36
37#[cfg(feature = "binance-integration")]
38pub use live_engine::{
39    CompletedBar, FormingBar, FormingBarWatches, LiveBarEngine, LiveEngineConfig,
40    LiveEngineMetrics, OuroborosMode, WsMode,
41};
42
43// Issue #257: Gap detection and fill re-exports
44#[cfg(feature = "binance-integration")]
45pub use gap::{
46    GapEvent, GapFillCommand, GapFillReceiver, GapFillResult, GapFillSender, TradeIdGapDetector,
47    gap_fill_channel,
48};
49
50// Issue #161: StreamManager re-exports
51#[cfg(feature = "binance-integration")]
52pub use stream_manager::{StreamManager, StreamManagerConfig, StreamManagerMetrics};
53
54#[cfg(feature = "binance-integration")]
55pub use universal::{StreamError, StreamMode, TradeStream, UniversalStream};
56
57// Issue #178: Unified engine re-exports
58#[cfg(feature = "binance-integration")]
59pub use engine::{
60    BarSink, BarSource, ChannelSink, EngineClock, HistoricalClock, LiveBarSource, LiveClock,
61    OdbEngine, SinkError, SourceCheckpoint,
62};