#pragma once #include #include #include "llm_manager_types.h" class ModelManager; class ApiKeyAuth; class RateLimiterStore; class RequestRegistry; class MetricsRegistry; class Scheduler; namespace http = boost::beast::http; http::response handle_request( ModelManager &manager, const ManagerConfig &config, const ApiKeyAuth &auth, RateLimiterStore &rate_limiter, RequestRegistry ®istry, MetricsRegistry &metrics, Scheduler &scheduler, http::request &&req); void do_session( boost::asio::ip::tcp::socket socket, ModelManager &manager, const ManagerConfig &config, const ApiKeyAuth &auth, RateLimiterStore &rate_limiter, RequestRegistry ®istry, MetricsRegistry &metrics, Scheduler &scheduler);