Files
Renderive/web_server/app/Renderive_WebSocket_Controller.h
2026-08-18 11:57:43 +08:00

19 lines
863 B
C++

#pragma once
#include <asio/thread_pool.hpp>
#include <drogon/WebSocketController.h>
#include <memory>
namespace renderive::web {
class Renderive_WebSocket_Controller final : public drogon::WebSocketController<Renderive_WebSocket_Controller, false> {
public:
explicit Renderive_WebSocket_Controller(std::shared_ptr<asio::thread_pool> scene_pool);
void handleNewMessage(const drogon::WebSocketConnectionPtr& connection, std::string&& message, const drogon::WebSocketMessageType& type) override;
void handleNewConnection(const drogon::HttpRequestPtr& request, const drogon::WebSocketConnectionPtr& connection) override;
void handleConnectionClosed(const drogon::WebSocketConnectionPtr& connection) override;
WS_PATH_LIST_BEGIN
WS_PATH_ADD("/renderive");
WS_PATH_LIST_END
private:
std::shared_ptr<asio::thread_pool> scene_pool_;
};
}