From fb441acc875725396d1d471079c6040b69109f6d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 27 May 2023 17:00:26 +0800 Subject: [PATCH] 1 --- server/robotserver/CMakeLists.txt | 6 +++--- server/robotserver/httpproxy.cc | 29 +++++++++++++++++++++++++++++ server/robotserver/httpproxy.h | 8 ++++++++ third_party/f8 | 2 +- 4 files changed, 41 insertions(+), 4 deletions(-) diff --git a/server/robotserver/CMakeLists.txt b/server/robotserver/CMakeLists.txt index b9cbd2a3..b5a7e392 100644 --- a/server/robotserver/CMakeLists.txt +++ b/server/robotserver/CMakeLists.txt @@ -14,11 +14,11 @@ endif() set(LIB_DIR "ubuntu20.04_g++-9") message(LIB_DIR: ${LIB_DIR} ) -set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g -std=gnu++1z -DGAME_ID=${GAME_ID} -DNDEBUG -DMAP3D -DDT_VIRTUAL_QUERYFILTER -DNEW_WEAPON_SYS=1 -DNEWBIE_ROOM=1") +set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g -std=gnu++1z -DGAME_ID=${GAME_ID} -DNDEBUG -DMAP3D -DDT_VIRTUAL_QUERYFILTER -DNEW_WEAPON_SYS=1 -DNEWBIE_ROOM=1 -DUSE_BOOST=1") if (${ASAN}) - set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -std=gnu++1z -DGAME_ID=${GAME_ID} -DDEBUG -DCXY -DSXY -DMAP3D -DDT_VIRTUAL_QUERYFILTER -DNEW_WEAPON_SYS=1 -DNEWBIE_ROOM=1 -fsanitize=address -fno-omit-frame-pointer") + set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -std=gnu++1z -DGAME_ID=${GAME_ID} -DDEBUG -DCXY -DSXY -DMAP3D -DDT_VIRTUAL_QUERYFILTER -DNEW_WEAPON_SYS=1 -DNEWBIE_ROOM=1 -fsanitize=address -fno-omit-frame-pointer -DUSE_BOOST=1") else() - set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -std=gnu++1z -DGAME_ID=${GAME_ID} -DDEBUG -DCXY -DSXY -DMAP3D -DDT_VIRTUAL_QUERYFILTER -DNEW_WEAPON_SYS=1 -DNEWBIE_ROOM=1") + set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -std=gnu++1z -DGAME_ID=${GAME_ID} -DDEBUG -DCXY -DSXY -DMAP3D -DDT_VIRTUAL_QUERYFILTER -DNEW_WEAPON_SYS=1 -DNEWBIE_ROOM=1 -DUSE_BOOST=1") endif() include_directories( diff --git a/server/robotserver/httpproxy.cc b/server/robotserver/httpproxy.cc index f6962b32..2b1ddfe1 100644 --- a/server/robotserver/httpproxy.cc +++ b/server/robotserver/httpproxy.cc @@ -2,6 +2,8 @@ #include #include +#include +#include #include #include @@ -22,6 +24,27 @@ struct HttpProxyRequest long long add_tick = 0; }; +class HttpProxyPromise : public a8::Promise +{ + public: + + HttpProxyPromise(const char* url, a8::XObject url_params) + { + url_ = url; + url_params_ = url_params; + } + +protected: + + virtual void DoAwait() override + { + } + + private: + std::string url_; + a8::XObject url_params_; +}; + static void _ProxyCallback(std::shared_ptr request) { #ifdef DEBUG @@ -138,3 +161,9 @@ void HttpProxy::DestoryRequest(std::shared_ptr request) { request_hash_.erase(request->req_id); } + +std::shared_ptr HttpProxy::CoHttpGet(const char* url, + a8::XObject url_params) +{ + return std::make_shared(url, url_params); +} diff --git a/server/robotserver/httpproxy.h b/server/robotserver/httpproxy.h index 789ed01a..1160ef8f 100644 --- a/server/robotserver/httpproxy.h +++ b/server/robotserver/httpproxy.h @@ -4,6 +4,11 @@ #include "f8/httpclientpool.h" +namespace a8 +{ + class Awaiter; +} + struct HttpProxyRequest; class HttpProxy : public a8::Singleton { @@ -25,6 +30,9 @@ class HttpProxy : public a8::Singleton std::shared_ptr GetRequest(const std::string& req_id); void DestoryRequest(std::shared_ptr request); + std::shared_ptr CoHttpGet(const char* url, + a8::XObject url_params); + private: std::string CreateRequestId(); diff --git a/third_party/f8 b/third_party/f8 index ff41657b..1a93316b 160000 --- a/third_party/f8 +++ b/third_party/f8 @@ -1 +1 @@ -Subproject commit ff41657bdf42cc0e43e161f3b19ef52f842b182c +Subproject commit 1a93316b3852e72c999331172e293083bb059fdb