[package] name = "rtx-streaming" version = "1.0.0" edition = "2024" rust-version = "1.92" description = "Production-grade real-time model streaming with sub-millisecond latency" license = "MIT OR Apache-2.0" [dependencies] # Core async runtime tokio = { version = "1.40", features = ["full"] } tokio-tungstenite = "0.23" futures = "0.3" async-trait = "0.1" # WebSocket and networking tungstenite = "0.23" http = "1.1" bytes = "1.8" # gRPC support tonic = "0.13" prost = "0.13" # High-performance data structures dashmap = "6.1" crossbeam = "0.8" parking_lot = "0.12" # Serialization serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" bincode = "1.3" msgpack = { package = "rmp-serde", version = "1.3" } # Metrics and monitoring prometheus = { version = "0.13", optional = true } tracing = "0.1" tracing-subscriber = "0.3" # Message queue support rdkafka = { version = "0.36", features = ["tokio"] } # ML inference integration — token generation delegates to the real engine rtx-inference = { path = "../rtx-inference" } # Additional async utilities tokio-stream = "0.1" async-stream = "0.3" futures-util = "0.3" pin-project-lite = "0.2" # Additional concurrency crossbeam-channel = "0.5" flume = "0.11" rayon = "1.8" # Time handling chrono = { version = "0.4", features = ["serde"] } # Enhanced monitoring (simplified - commented for now) # metrics = "0.23" # Circuit breaker (implementing our own for now) # circuit-breaker = "0.5" # System utilities once_cell = "1.19" arc-swap = "1.7" num_cpus = "1.16" libc = "0.2" # Utilities uuid = { version = "1.10", features = ["v4", "serde"] } thiserror = "2" anyhow = "1.0" rand = "0.8" # Development dependencies [dev-dependencies] criterion = { version = "0.5", features = ["html_reports", "async_tokio"] } tokio-test = "0.4" proptest = "1.5" approx = "0.5" rtx-tensor = { path = "../../core/rtx-tensor" } [[bench]] name = "streaming_bench" harness = false [features] default = ["websocket", "grpc"] websocket = [] grpc = [] metrics = ["prometheus"] [lints] workspace = true