[package] name = "trading_engine" 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] # Internal workspace crates common = { path = "../common" } # Core workspace dependencies - USE WORKSPACE DEFAULTS tokio = { workspace = true, features = ["process"] } serde.workspace = true serde_json.workspace = true uuid.workspace = true thiserror.workspace = true anyhow.workspace = true tracing.workspace = true async-trait.workspace = true # Financial and numerical types - USE WORKSPACE DEFAULTS rust_decimal.workspace = true chrono.workspace = true # High-performance data structures dashmap.workspace = true crossbeam-queue.workspace = true crossbeam-utils.workspace = true # Memory safety and concurrent data structures once_cell.workspace = true # System-level dependencies for CPU affinity and performance libc.workspace = true num_cpus.workspace = true # Validation and text processing regex.workspace = true # OpenTelemetry removed - not used in HFT performance code # Database integration and persistence layer - OPTIMIZED sqlx = { workspace = true, optional = true } redis.workspace = true influxdb = { version = "0.7", optional = true } clickhouse = { version = "0.11", optional = true } # Metrics and monitoring prometheus.workspace = true # OpenTelemetry REMOVED - too heavy for HFT, use simple logging instead # opentelemetry.workspace = true # opentelemetry-otlp.workspace = true # opentelemetry_sdk.workspace = true # Performance monitoring - USE WORKSPACE hdrhistogram.workspace = true parking_lot.workspace = true # Utilities lazy_static.workspace = true lru = "0.12" log = "0.4" # SIMD optimization (conditional) wide = { version = "0.7", features = ["serde"], optional = true } # Compression for event storage flate2.workspace = true # Networking reqwest = { workspace = true } url = { workspace = true } sha2 = { workspace = true } # AWS SDK removed - using S3 through storage crate tokio-util = { version = "0.7", features = ["io"], optional = true } [dev-dependencies] proptest.workspace = true [features] default = ["serde", "simd", "std", "brokers", "persistence"] profiling = [] serde = [] simd = ["wide"] packed-simd = ["simd"] avx2 = ["simd"] avx512 = ["simd", "avx2"] std = [] persistence = ["sqlx"] database-conversions = ["sqlx"] brokers = ["interactive-brokers", "icmarkets"] interactive-brokers = [] icmarkets = [] paper-trading = [] influxdb-support = ["influxdb"] clickhouse-support = ["clickhouse"] s3-archival = ["tokio-util"] python = [] unstable = [] [build-dependencies] autocfg = "1.1" [lints] workspace = true # Configuration for documentation [package.metadata.docs.rs] features = ["simd", "avx2", "database-conversions"] rustdoc-args = ["--cfg", "docsrs"]