From e26a5550539fa0cad91313bf9670df605199a324 Mon Sep 17 00:00:00 2001 From: pans <pans@454eff88-639b-444f-9e54-f578c98de674> Date: 星期二, 15 八月 2017 13:55:25 +0800 Subject: [PATCH] capnproto fix bug --- VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp | 104 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 82 insertions(+), 22 deletions(-) diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp index ad412e8..5d7a9a0 100644 --- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp +++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp @@ -2,46 +2,100 @@ // Created by pansen on 2017/8/4. // #include "AppConfig.h" -#include "RemoteFunc.h" #include "RemoteFuncServer.h" +#include "RemoteFunc.h" #include "RtspNativeCodecJNIServer.h" -RemoteServer<RtspFaceViewImpl> remoteServer("127.0.0.1", 8112); +#include <string> +#include <iostream> +using namespace std; + +//#todo 淇敼鏈嶅姟绾跨▼鏋勯�犲弬鏁颁紶鍏ユ柟寮� +RemoteServer<RtspFaceViewImpl> remoteServer("192.168.1.94", 8112); static RtspFaceDetectClient* rtspFaceDetectClient = nullptr; void startRemoteServer() { +; AppConfig config; config.loadConfig("data/config.cfg"); - remoteServer.start(); + remoteServer.start(); +// //#todo 璋冪敤浣嶇疆绉诲姩 +// try +// { +// RtspFaceDetectClient rtspFaceDetectClient = RtspFaceDetectClient(); +// RtspFaceDetect::Client& rClient = rtspFaceDetectClient.getClient(); +// +// auto& waitScope = rtspFaceDetectClient.getWaitScope(); +// auto request = rClient.fireFaceCountListenerRequest(); +// auto sendAct = request.send(); +// sendAct.wait(waitScope); +// } +// catch (const kj::Exception& e) +// { +// cout << e.getDescription().cStr() << endl; +// return; +// } + //#end } -RtspFaceDetectClient* getRtspFaceDetectClient() +RtspFaceDetectClient * getRtspFaceDetectClient() { - if (rtspFaceDetectClient != nullptr) - { - try - { - rtspFaceDetectClient = new RtspFaceDetectClient; - } - catch(...) - { - delete rtspFaceDetectClient; - rtspFaceDetectClient = nullptr; - LOG_ERROR << "aaaaaaaa"<<LOG_ENDL;//#todo - } - } - return rtspFaceDetectClient; + if(rtspFaceDetectClient == nullptr) + rtspFaceDetectClient = new RtspFaceDetectClient; + return rtspFaceDetectClient; } -//#todo +//#todo 鏋勯�犲嚱鏁颁慨鏀� RtspFaceDetectClient::RtspFaceDetectClient() : - rpcClient("127.0.0.1", 8111), RtspFaceDetect::Client(rpcClient.getMain<RtspFaceDetect>()) -{} + rpcClient(nullptr) +{ +} + +RtspFaceDetect::Client* RtspFaceDetectClient::getClient() +{ + LOG_INFO << "new client @ " << (int*)client << LOG_ENDL; + + if (client == nullptr) { + LOG_INFO << "new client 2" << LOG_ENDL; + try + { + client = new RtspFaceDetect::Client(getEzRpcClient()->getMain<RtspFaceDetect>()); + } + catch (const kj::Exception& e) + { + LOG_ERROR << "new client error" << LOG_ENDL; + delete client; + client = nullptr; + throw e; + } + } + return client; +} ::kj::WaitScope &RtspFaceDetectClient::getWaitScope() { - return rpcClient.getWaitScope(); + return getEzRpcClient()->getWaitScope(); +} + +capnp::EzRpcClient * RtspFaceDetectClient::getEzRpcClient() +{ + if (rpcClient == nullptr) { + try + { + //#todo ip test + //rpcClient = new capnp::EzRpcClient("192.168.1.89", 8111); + //client + rpcClient = new capnp::EzRpcClient("192.168.1.97", 8111); + } + catch (const kj::Exception& e) + { + delete rpcClient; + rpcClient = nullptr; + throw e; + } + } + return rpcClient; } ::kj::Promise<void> RtspFaceViewImpl::getFaceList(GetFaceListContext context) @@ -49,6 +103,8 @@ auto results = context.getResults(); remoteGetFaceList(context.getParams(), results); context.setResults(results); + LOG_ERROR <<"getFaceList : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL; + return kj::READY_NOW; } ::kj::Promise<void> RtspFaceViewImpl::getFaceImages(GetFaceImagesContext context) @@ -56,6 +112,8 @@ auto results = context.getResults(); remoteGetFaceListImage(context.getParams(), results); context.setResults(results); + LOG_ERROR <<"getFaceImages : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL; + return kj::READY_NOW; } ::kj::Promise<void> RtspFaceViewImpl::setFaceLabel(SetFaceLabelContext context) @@ -63,4 +121,6 @@ auto results = context.getResults(); remoteSetFaceLabel(context.getParams(), results); context.setResults(results); + LOG_ERROR <<"setFaceLabel : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL; + return kj::READY_NOW; } -- Gitblit v1.8.0