//! API Gateway for Foxhunt HFT Trading System //! //! Provides zero-copy gRPC proxying with: //! - RBAC authorization with sub-100ns cached permission checks //! - <10μs routing overhead //! - Connection pooling //! - Circuit breaker pattern //! - Health checking //! - Performance monitoring //! - Token bucket rate limiting with <50ns cache hits // Include generated protobuf code FIRST (needed by other modules) pub mod foxhunt { pub mod tli { tonic::include_proto!("foxhunt.tli"); } pub mod config_proto { tonic::include_proto!("foxhunt.config"); } } pub mod ml_training { tonic::include_proto!("ml_training"); } // Error module MUST come before modules that use it pub mod error; // Now other modules can use error types and proto definitions pub mod auth; pub mod config; pub mod grpc; pub mod metrics; pub mod routing; // Re-export error types pub use error::{ConfigError, ConfigResult}; // Re-export configuration management types pub use config::{ AuthzService, AuthzMetrics, PermissionResult, ConfigurationManager, ConfigurationServiceImpl, ConfigItem, ConfigValidator, }; // Re-export routing and rate limiting types pub use routing::{RateLimiter, RateLimitConfig, CacheStats}; // Re-export gRPC proxy types pub use grpc::{ TradingServiceProxy, HealthChecker, BacktestingServiceProxy, MlTrainingProxy, MlTrainingBackendConfig, setup_ml_training_proxy, setup_ml_training_client, };