Skip to main content

digdigdig3_station/
lib.rs

1//! `digdigdig3-station` — Layer 2 of the digdigdig3 workspace.
2//!
3//! High-level consumer-facing builder over [`digdigdig3::connector_manager::ExchangeHub`].
4//! See `docs/plans/station-architecture.md` for design, `docs/plans/station-phase-1-plan.md`
5//! for the phase-by-phase implementation roadmap.
6//!
7//! Phase 1 scope (current): skeleton only. Modules below are stubs.
8
9pub mod backfill;
10pub mod builder;
11pub mod cache;
12pub mod data;
13pub mod error;
14pub mod gap_heal;
15pub mod persistence;
16pub mod series;
17pub mod station;
18pub mod subscription;
19
20// Modules moved from dig3-core (persistence/cache/cure/OB concerns belong in station)
21pub mod storage;
22pub mod orderbook;
23pub mod rest_cache;
24pub mod replay;
25pub mod cure;
26
27#[cfg(feature = "reconnect")]
28pub mod reconnect;
29
30pub use builder::StationBuilder;
31pub use cache::{ticker_cache, CacheConfig, TickerKey};
32pub use error::{Result, StationError};
33pub use gap_heal::GapHealConfig;
34pub use persistence::PersistenceConfig;
35pub use series::{DataPoint, DiskStore, Kind, Series, SeriesKey, SharedSeriesMap};
36pub use station::Station;
37pub use subscription::{Event, Stream, SubscriptionHandle, SubscriptionSet};
38
39// Re-exports for moved modules (mirror what core used to expose)
40pub use storage::{EventLog, EventLogIter, EventRecord, StorageManager, StorageConfig, StreamKey};
41pub use replay::{ReplayHub, ReplayConfig, ReplayRate};
42pub use orderbook::{OrderBookTracker, OrderBookError};
43pub use rest_cache::RestCache;
44pub use cure::{
45    IntegrityChecker, IntegrityReport,
46    Deduper,
47    GapDetector, GapInfo,
48    RepairPipeline, RepairReport,
49};
50
51// Re-export common core types so consumers can build a SubscriptionSet without
52// pulling `digdigdig3` directly.
53pub use digdigdig3::core::types::{AccountType, ExchangeId};