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 persistence;
15pub mod series;
16pub mod station;
17pub mod subscription;
18
19// Modules moved from dig3-core (persistence/cache/cure/OB concerns belong in station)
20pub mod storage;
21pub mod orderbook;
22pub mod rest_cache;
23pub mod replay;
24pub mod cure;
25
26#[cfg(feature = "reconnect")]
27pub mod reconnect;
28
29pub use builder::StationBuilder;
30pub use cache::{ticker_cache, CacheConfig, TickerKey};
31pub use error::{Result, StationError};
32pub use persistence::PersistenceConfig;
33pub use series::{DataPoint, DiskStore, Kind, Series, SeriesKey, SharedSeriesMap};
34pub use station::Station;
35pub use subscription::{Event, Stream, SubscriptionHandle, SubscriptionSet};
36
37// Re-exports for moved modules (mirror what core used to expose)
38pub use storage::{EventLog, EventLogIter, EventRecord, StorageManager, StorageConfig, StreamKey};
39pub use replay::{ReplayHub, ReplayConfig, ReplayRate};
40pub use orderbook::{OrderBookTracker, OrderBookError};
41pub use rest_cache::RestCache;
42pub use cure::{
43    IntegrityChecker, IntegrityReport,
44    Deduper,
45    GapDetector, GapInfo,
46    RepairPipeline, RepairReport,
47};
48
49// Re-export common core types so consumers can build a SubscriptionSet without
50// pulling `digdigdig3` directly.
51pub use digdigdig3::core::types::{AccountType, ExchangeId};