From 83cfdf5ea0259f1fdf4ee3ea6046a7b694134161 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 09 八月 2017 13:55:43 +0800
Subject: [PATCH] rtps server (not ok)

---
 VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.h |   79 ++++++++++++++++++++++++++++++---------
 1 files changed, 61 insertions(+), 18 deletions(-)

diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.h
index 487cd8d..422237d 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.h
@@ -1,18 +1,61 @@
-//
-// Created by pansen on 2017/8/4.
-//
-
-#ifndef RTSPNATIVECODEC_REMOTEFUNC_H
-#define RTSPNATIVECODEC_REMOTEFUNC_H
-
-#include <iostream>
-#include "RemoteMethod.proto.h"
-#include "CameraWrapperServer.h"
-
-class RemoteFunc{
-public:
-
-};
-
-#endif //RTSPNATIVECODEC_REMOTEFUNC_H
-
+//
+// Created by pansen on 2017/8/4.
+//
+
+#ifndef RTSPNATIVECODEC_REMOTEFUNC_H
+#define RTSPNATIVECODEC_REMOTEFUNC_H
+
+#include <iostream>
+#include <capnp/ez-rpc.h>
+#include <logger.h>
+
+template <class T> class RemoteServer{
+public:
+    RemoteServer(std::string host,int port):host(host),port(port){};
+    ~RemoteServer(){};
+
+    bool 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_thid, NULL, RemoteServer::rServer_thd, this);
+
+        if(retServer != 0)
+        {
+            LOGP(ERROR, "server_thd_create: %s/n", strerror(retServer));
+            running = false;
+            return false;
+        }
+        return true;
+    }
+    void stop(){
+//    LOG_INFO << "server_thd::stop" << LOG_ENDL;
+//    if (!running)
+//        return;
+//    running = false;
+//    pthread_mutex_destroy(&mutexSerevr);
+        //#todo
+    }
+
+    bool running;
+private:
+    std::string host;
+    int port;
+
+    static void *rServer_thd(void *arg) {
+        RemoteServer& rs = *(RemoteServer*)arg;
+        capnp::EzRpcServer trpcServer(kj::heap<T>(),rs.host, rs.port);
+        auto& serverLoop = trpcServer.getWaitScope();
+        kj::NEVER_DONE.wait(serverLoop);
+    }
+    pthread_t server_thid;
+    pthread_mutex_t mutexSerevr;
+};
+#endif //RTSPNATIVECODEC_REMOTEFUNC_H
+

--
Gitblit v1.8.0