Files
RustAst/Cargo.toml
T
Brummel 38f657076b feat: Add data server for market data loading
This commit introduces a new data server module (`src/ast/data_server`)
designed for high-performance, thread-safe loading and caching of market
data.

Key components:
- `DataServer`: Manages symbol indexing and delegates loading/caching.
- `SymbolIndex`: Scans the data directory and maintains a sorted index
  of data files per symbol.
- `FileCache`: Implements a thread-safe cache using `RwLock` and a
  loading guard to prevent duplicate work.
- `loader`: Handles ZIP decompression and binary record parsing from
  `.bin` files.
- `records`: Defines raw and parsed data structures for M1 and tick
  data.
- `SymbolChunkIter`: Provides an iterator over pre-parsed data chunks,
  prefetching subsequent files.

This architecture allows multiple VM threads to access market data
concurrently without redundant I/O, mirroring the strategy used in the
original Delphi `TDataServer`.
2026-03-29 20:28:55 +02:00

21 lines
484 B
TOML

[package]
name = "myc"
version = "0.1.0"
edition = "2024"
default-run = "myc"
[dependencies]
eframe = "0.33.3"
clap = { version = "4.5", features = ["derive"] }
chrono = "0.4"
regex = "1.10"
fastrand = "2.3"
rmcp = { version = "1.2", features = ["server", "transport-io"] }
tokio = { version = "1", features = ["rt", "io-std", "macros"] }
serde = { version = "1", features = ["derive"] }
zip = "2"
[dev-dependencies]
insta = { version = "1.39", features = ["yaml"] }
tempfile = "3"