[package] name = "foxhunt-core" version.workspace = true edition.workspace = true rust-version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true documentation.workspace = true publish.workspace = true keywords.workspace = true categories.workspace = true description = "Core performance infrastructure for Foxhunt HFT system" [dependencies] # Core workspace dependencies tokio = { workspace = true, features = ["full", "rt-multi-thread", "macros"] } serde = { workspace = true, features = ["derive"] } serde_json.workspace = true uuid = { workspace = true, features = ["v4", "fast-rng"] } thiserror.workspace = true anyhow.workspace = true tracing.workspace = true async-trait.workspace = true # Financial and numerical types rust_decimal = { workspace = true, features = ["std", "serde-with-str", "db-postgres"] } rust_decimal_macros = { workspace = true } chrono = { workspace = true, features = ["serde"] } rand = { workspace = true, features = ["std", "small_rng"] } rand_chacha.workspace = true # High-performance data structures dashmap.workspace = true crossbeam-queue.workspace = true # Memory safety and concurrent data structures once_cell.workspace = true # SIMD and vectorization (optional dependencies) packed_simd = { version = "0.3", optional = true } # System-level dependencies for CPU affinity and performance libc.workspace = true num_cpus.workspace = true # Validation and text processing regex.workspace = true # Database integration and persistence layer sqlx = { workspace = true, features = ["postgres", "runtime-tokio-rustls", "chrono", "uuid"], optional = true } redis = { version = "0.23", features = ["tokio-comp", "connection-manager"] } influxdb = { version = "0.7", optional = true } clickhouse = { version = "0.11", optional = true } # Metrics and monitoring prometheus.workspace = true # Utilities lazy_static.workspace = true # Compression for event storage flate2.workspace = true # Networking reqwest = { workspace = true } url = { workspace = true } sha2 = { workspace = true } [dev-dependencies] tokio-test.workspace = true proptest.workspace = true rstest.workspace = true tempfile.workspace = true mockall.workspace = true criterion = { workspace = true, features = ["html_reports"] } quickcheck.workspace = true [features] default = ["serde", "simd", "std", "brokers", "persistence"] profiling = [] serde = [] simd = ["wide"] packed-simd = ["packed_simd", "simd"] avx2 = ["simd"] avx512 = ["simd", "avx2", "packed-simd"] std = [] persistence = ["sqlx"] database-conversions = ["sqlx"] brokers = ["interactive-brokers", "icmarkets"] interactive-brokers = [] icmarkets = [] paper-trading = [] influxdb-support = ["influxdb"] clickhouse-support = ["clickhouse"] [build-dependencies] autocfg = "1.1" [lints] workspace = true # Configuration for documentation [package.metadata.docs.rs] features = ["simd", "avx2", "database-conversions"] rustdoc-args = ["--cfg", "docsrs"]