21 const std::optional<nlohmann::json>&)>;
23 const std::optional<nlohmann::json>&)>;
26 asio::any_io_executor executor,
27 std::shared_ptr<spdlog::logger> logger =
nullptr);
35 auto Logger() -> std::shared_ptr<spdlog::logger> {
46 -> asio::awaitable<std::optional<std::string>>;
49 auto DispatchSingleRequest(
Request request)
50 -> asio::awaitable<std::optional<Response>>;
52 auto DispatchBatchRequest(std::vector<Request> requests)
53 -> asio::awaitable<std::vector<Response>>;
55 std::unordered_map<std::string, MethodCallHandler> method_handlers_;
57 std::unordered_map<std::string, NotificationHandler> notification_handlers_;
59 asio::any_io_executor executor_;
61 std::shared_ptr<spdlog::logger> logger_;