From 58c513f0a3abb45359972112913619fa9d613c95 Mon Sep 17 00:00:00 2001 From: pans <pans@454eff88-639b-444f-9e54-f578c98de674> Date: 星期一, 07 八月 2017 17:16:48 +0800 Subject: [PATCH] add RemoteServer(pthread) #todo add stop() --- VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 45 insertions(+), 0 deletions(-) diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.cpp index 72565ef..b8ee965 100644 --- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.cpp +++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.cpp @@ -2,3 +2,48 @@ // Created by pansen on 2017/8/4. // +#include "RemoteFunc.h" +#include <logger.h> + + +bool RemoteServer::start() { + LOG_INFO << "server_thd::start" << LOG_ENDL; + + if(running == true){ + LOG_INFO << "The server_thd is already running" << LOG_ENDL; + return false; + } + running = true; + pthread_mutex_init(&mutexSerevr, NULL); // 鍒濆鍖栦簰鏂ュ璞�,鍔ㄦ�佸姞閿侊紝鐢ㄤ簬server + + int retServer = pthread_create(&server_thd, NULL, RemoteServer::rServer_thd, this); + + if(retServer != 0) + { + LOGP(ERROR, "server_thd_create: %s/n", strerror(retServer)); + running = false; + return false; + } + return true; +} + +void RemoteServer::stop() { +// LOG_INFO << "server_thd::stop" << LOG_ENDL; +// if (!running) +// return; +// running = false; +// pthread_mutex_destroy(&mutexSerevr); + //#todo +} + +template <class T> +void *RemoteServer::rServer_thd(void *arg) { + LOG_INFO << "RemoteServer::rServer_thd start" << LOG_ENDL; + RemoteServer& rs = *(RemoteServer*)arg; + capnp::EzRpcServer trpcServer(kj::heap<T>(),rs.host, rs.port); + auto& serverLoop = trpcServer.getWaitScope(); + kj::NEVER_DONE.wait(serverLoop); + LOG_INFO << "RemoteServer::rServer_thd stop" << LOG_ENDL; +} + + -- Gitblit v1.8.0