From 80aaa6049be55bbe3e112e1f4c7554d1b17f6d41 Mon Sep 17 00:00:00 2001 From: chenshijun <csj_sky@126.com> Date: 星期一, 15 四月 2019 17:16:32 +0800 Subject: [PATCH] 增加一些注释 --- QiaoJiaSystem/StructureApp/AppPipeController.cpp | 7 - QiaoJiaSystem/DataManagerServer/http_configserver.cpp | 20 ++++ QiaoJiaSystem/RapidStructureApp/TriggerElement.cpp | 10 +- QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp | 13 ++ QiaoJiaSystem/StructureApp/PerimeterElement.cpp | 13 +-- syncDBTool/ErlangDbTool.h | 19 +++- QiaoJiaSystem/DataManagerServer/http_configserver.h | 40 ++++++++++ QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp | 28 ------ syncDBTool/ErlangDbTool.cpp | 52 +++++++------ 9 files changed, 124 insertions(+), 78 deletions(-) diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp index 52adf80..bfb927c 100644 --- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp +++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp @@ -1773,25 +1773,32 @@ //#todo nodes have counter? //#todo nodeName Automatic generated? //#todo devId+num + // 鐢熸垚鑺傜偣id - uuid std::string uuid = GetUUId::getUUID(); + // 鑾峰彇褰撳墠鏈哄櫒ip unsigned char ip_old[15] = {0}; std::string str_netIfName = appConfig.getStringProperty("netIfName"); GetIpAddress(str_netIfName.c_str(), ip_old); std::string str_ip((char *) ip_old); + // 鑺傜偣鍚嶇О std::string nodeName = uuid.append("@" + str_ip); std::string cookie = value["cookie"].asString(); + // 寮曞鑺傜偣 std::string FatherNodeName = value["fatherNodeName"].asString(); //#todo ClusterID ClusterName + // 闆嗙兢id std::string clusterID = value["culID"].asString(); + // 涓虹┖鍒欑敓鎴�,鍚﹀垯鐩存帴浣跨敤 clusterID = clusterID.size() > 0 ? clusterID : GetUUId::getUUID(); std::string clusterName = value["culName"].asString(); + std::string devID = value["devID"].asString(); std::string devName = value["devName"].asString(); - + // erlang鑺傜偣淇濆瓨璺緞/opt/erlang/${uuid} std::string path = std::string("/opt/erlang/").append(nodeName.substr(0, nodeName.find("@"))); if (erlangDbTool != nullptr) { //gaunbi node @@ -1803,6 +1810,7 @@ if (cookie.size() > 0 && (clusterID.size() > 0 || clusterName.size() > 0)) { // erlangDbTool = new ErlangTool::ErlangDbTool(path, nodeName, cookie); + // #todo 杩涚▼鍚� -> get from argv[0] string str_tmp = "DataWebserver"; erlangDbTool = new ErlangTool::ErlangDbTool(path, nodeName, cookie, clusterID, clusterName, str_tmp); bool ret = erlangDbTool->initErlang(); @@ -1811,6 +1819,7 @@ ret = erlangDbTool->startNodeDb(FatherNodeName, devID); if (ret) { + //濡傛灉鎴愬姛鍒欐洿鏂伴厤缃枃浠� appConfig.setStringProperty("erlNode", nodeName); appConfig.setStringProperty("erlCookie", cookie); appConfig.setStringProperty("erlPath", path); @@ -1823,6 +1832,7 @@ runAllApp(); // sleep(4); } else { + // 鍚﹀垯鍒欑疆绌洪厤缃枃浠� appConfig.setStringProperty("erlNode", ""); appConfig.setStringProperty("erlCookie", ""); appConfig.setStringProperty("erlPath", ""); @@ -1855,6 +1865,7 @@ ret = erlangDbTool->removeNode(); + // 缃┖閰嶇疆鏂囦欢 appConfig.setStringProperty("erlNode", ""); appConfig.setStringProperty("erlCookie", ""); appConfig.setStringProperty("erlPath", ""); @@ -1972,15 +1983,20 @@ std::string Uuid = value["uuid"].asString(); std::string TableType = value["TableType"].asString(); std::string TableName = value["TableName"].asString(); + // 闆嗙兢鍐呭悓姝� int SyncType = atoi(value["SyncType"].asCString()); std::string BwType = value["BwType"].asString(); std::string StartTime = value["StartTime"].asString(); std::string EndTime = value["EndTime"].asString(); + // 鏄惁涓婁紶 std::string UploadFlag = value["IsSync"].asString(); UploadFlag = UploadFlag.empty() ? "0" : UploadFlag; + + // 搴曞簱闃堝�� std::string CmpThreshold = value["threshold"].asString(); CmpThreshold = CmpThreshold.empty() ? "60" : CmpThreshold; + // 鏄惁鍚敤 std::string Enabled = value["enabled"].asString(); Enabled = Enabled.empty() ? "1" : Enabled; @@ -2050,7 +2066,7 @@ // Enabled); // } - + // send message to other CNode erlangDbTool->sendMessage(); std::string str_result = std::string("{\"result\":").append("\"" + std::to_string(ret) + "\"}"); return str_result; diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.h b/QiaoJiaSystem/DataManagerServer/http_configserver.h index cec426b..00fff1c 100644 --- a/QiaoJiaSystem/DataManagerServer/http_configserver.h +++ b/QiaoJiaSystem/DataManagerServer/http_configserver.h @@ -78,16 +78,56 @@ std::string netconfig_show(std::string ip, unsigned int port, std::string content, PResponse &response); + /*** + * 鍒涘缓闆嗙兢鑺傜偣 + * @param ip + * @param port + * @param content + * @param response + * @return + */ std::string addNode(std::string ip, unsigned int port, std::string content, PResponse &response); + /*** + * 鏌ヨ鍦ㄧ嚎鑺傜偣 + * @param ip + * @param port + * @param content + * @param response + * @return + */ std::string searchNode(std::string ip, unsigned int port, std::string content, PResponse &response); std::string modifyCluName(std::string ip, unsigned int port, std::string content, PResponse &response); + /*** + * 閫�鍑洪泦缇� + * @param ip + * @param port + * @param content + * @param response + * @return + */ std::string removeNode(std::string ip, unsigned int port, std::string content, PResponse &response); + /** + *鍒涘缓鏁版嵁搴曞簱 + * @param ip + * @param port + * @param content + * @param response + * @return + */ std::string createDatabase(std::string ip, unsigned int port, std::string content, PResponse &response); + /** + * + * @param ip + * @param port + * @param content + * @param response + * @return + */ std::string deleteDatabase(std::string ip, unsigned int port, std::string content, PResponse &response); std::string updateDatabase(std::string ip, unsigned int port, std::string content, PResponse &response); diff --git a/QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp b/QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp index 2524d1d..9712880 100644 --- a/QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp +++ b/QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.cpp @@ -100,7 +100,6 @@ p_this->m_image.copyTo(copyMat); p_this->m_pManager->SaveImageToRedis(p_this->m_chanPubID, imageName, copyMat); } - /*********/ p_this->submit(); } @@ -167,6 +166,7 @@ //鍏抽棴ffmpeg瑙g爜妯″潡 p_this->m_fFmpegDecoderJPG.stopThd(); //鍚姩ffmpeg瑙g爜妯″潡 + DBG("m_chanPubID:"<<p_this->m_chanPubID << " m_fps:" << p_this->m_fps); p_this->m_fFmpegDecoderJPG.startThd(p_this->m_chanPubID, p_this->m_fps, p_this->m_gpuIdx); continue; } @@ -234,32 +234,6 @@ } void BASICGB28181::VideoCaptureElementWithRtp::threadFunc() { -// { -// if (m_publishVideoRet) { -// if (videoPublishElement == nullptr) { -// string path = appConfig.getStringProperty("srsAddr") + "cam" + m_chanPubID + ".flv"; -// cv::Size size_(appConfig.getIntProperty("pulish.width"), appConfig.getIntProperty("pulish.height")); -// int gupIdx = appPref.getIntData("gpu.index"); -// DBG("videoPublishpath:" << path << " h:" << size_.height << " w:" << size_.width); -// videoPublishElement = new ffmpeg::VideoPublishElement(path, size_, "flv", 25, gupIdx); -// videoPublishElement->start(); -// } else { -// if (!m_image.empty()) { -// videoPublishElement->setImage(m_image); -// } else { -// ERR("m_image.empty()"); -// } -// } -// } else { -// if (videoPublishElement != nullptr) { -// DBG("videoPublishElement->stop()"); -// videoPublishElement->stop(); -// videoPublishElement->wait(); -// delete videoPublishElement; -// videoPublishElement = nullptr; -// } -// } -// } fireConnectors(); } diff --git a/QiaoJiaSystem/RapidStructureApp/TriggerElement.cpp b/QiaoJiaSystem/RapidStructureApp/TriggerElement.cpp index 11233ce..541c29f 100644 --- a/QiaoJiaSystem/RapidStructureApp/TriggerElement.cpp +++ b/QiaoJiaSystem/RapidStructureApp/TriggerElement.cpp @@ -5,7 +5,7 @@ // TimerElement(1), triggerState(false), tolerance(tolerance), delay(delay), - triggerType(DOWN), triggerTimes(0),lastDown(0),lastUp(0) { + triggerType(DOWN), triggerTimes(0), lastDown(0), lastUp(0) { } @@ -78,12 +78,12 @@ lastDown = 0; triggerType = DOWN; } -void TriggerElement::resetTriggerState() -{ + +void TriggerElement::resetTriggerState() { //state=false; - triggerState=false; - triggerTimes=0; + triggerState = false; + triggerTimes = 0; } void TriggerElement::timerFunc() { diff --git a/QiaoJiaSystem/StructureApp/AppPipeController.cpp b/QiaoJiaSystem/StructureApp/AppPipeController.cpp index 320f461..aa0cbf5 100644 --- a/QiaoJiaSystem/StructureApp/AppPipeController.cpp +++ b/QiaoJiaSystem/StructureApp/AppPipeController.cpp @@ -87,7 +87,7 @@ perHubElement(ruleMap[PerHubSdk]), leftJudgment(ruleMap[KeepRightSdk]), rightJudgment(ruleMap[KeepRightSdk]), - bRecordVideoEnable(RecordVideoEnable), +// bRecordVideoEnable(RecordVideoEnable), m_sdkRuleMap(ruleMap), m_bSetWH(false) { DBG("camId" << camId); @@ -256,9 +256,8 @@ videoCaptureElement.registerConnector([&] { std::string imgKey; - m_hiredisTool.listRpop(m_camId,imgKey); - if(imgKey.empty()) - { + m_hiredisTool.listRpop(m_camId, imgKey); + if (imgKey.empty()) { // ERR("CamId "<<m_camId<<" No ImgKey"); return; } diff --git a/QiaoJiaSystem/StructureApp/PerimeterElement.cpp b/QiaoJiaSystem/StructureApp/PerimeterElement.cpp index 957297f..7276844 100644 --- a/QiaoJiaSystem/StructureApp/PerimeterElement.cpp +++ b/QiaoJiaSystem/StructureApp/PerimeterElement.cpp @@ -25,8 +25,7 @@ m_bIsMask(true), m_bSetWH(false), pointArray(nullptr), - m_rpcClient("RtspAnalysServer", "127.0.0.1",appPref.getIntData("RpcVTIMPort"),"tcp") -{ + m_rpcClient("RtspAnalysServer", "127.0.0.1", appPref.getIntData("RpcVTIMPort"), "tcp") { pManagerEsDB = new EsDBTool(appPref.getStringData("ipAdd"), appPref.getIntData("ipPort")); } @@ -36,8 +35,7 @@ delete pManagerEsDB; pManagerEsDB = nullptr; } - if(pointArray) - { + if (pointArray) { // delete[] pointArray[0]; delete[] pointArray; } @@ -62,7 +60,7 @@ m_recVec.clear(); // DBG("Objs="<<mObjs.size()<<" fSensitivity="<<m_sdkRule.fSensitivity<<" nThreshold"<<m_sdkRule.nThreshold); - for (auto obj:mObjs) { + for (auto &obj:mObjs) { if (obj.score < m_sdkRule.fSensitivity)continue; @@ -74,9 +72,8 @@ // DBG("picDate="<<picDate); } - if(imgKey.empty()) - { - imgKey =obj.properties["imgKey"]; + if (imgKey.empty()) { + imgKey = obj.properties["imgKey"]; } if (m_sdkRule.nSdkType == PerimeterSdk) { diff --git a/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp b/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp index ef06eb9..a0bac2a 100644 --- a/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp +++ b/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp @@ -104,7 +104,13 @@ //#todo 浣跨敤绛栫暐妯″紡?鍙戦�佺澶氫釜鎸囦护绱Н鍚庡彂閫�? if (itor_json->isString() && reader.parse(itor_json->asString(), cfg_val)) { if (itor_json.name() == "cam_edit" || itor_json.name() == "editSdkRule") { - string cam_idx = cfg_val["str_cam_dev_id"].asString(); + string cam_idx = ""; + if(itor_json.name() == "cam_edit"){ + cam_idx = cfg_val["str_cam_dev_id"].asString(); + } else { + cam_idx = cfg_val["strCamId"].asString(); + } + if (pthis->controllers.find(cam_idx) != pthis->controllers.end()) { if (pthis->m_GB28181_Enable) { auto lst = pthis->m_lDBTool->searchCamDevTableByType(1); @@ -257,8 +263,9 @@ rule.second.weekRuleVec = m_lDBTool->searchCameraWeekRuleByCamId(item.str_cam_dev_id, rule.first); if (rule.second.nSdkType == PerStaticSdk) { - float temp = 1 - (float) (rule.second.nThreshold) / 100; - rule.second.fSensitivity = (75 + 25 * temp) / 100; + float temp = (float)1 - (float) (rule.second.nThreshold) / 100; + rule.second.fSensitivity = (temp * 50 + 50) / 100; +// rule.second.fSensitivity = (temp * 25 + 75) / 100; } else if (rule.second.nSdkType != FaceSdk) { float temp = 1 - (float) (rule.second.nThreshold) / 100; diff --git a/syncDBTool/ErlangDbTool.cpp b/syncDBTool/ErlangDbTool.cpp index b3cdeea..b42a94b 100755 --- a/syncDBTool/ErlangDbTool.cpp +++ b/syncDBTool/ErlangDbTool.cpp @@ -71,6 +71,7 @@ return true; } +// 妫�娴嬭繑鍥炵殑鏁版嵁鐨勬暟鎹被鍨� static int ErlangTool::checkETERMType(ETERM *elemen) { if (elemen == NULL) { return -1; @@ -187,9 +188,9 @@ g_syncDbFile.setDatabaseName(str_SyncDbFile.c_str()); g_syncDbFile.open(); + // c erlang init erl_init(NULL, 0); struct in_addr addr; - //#todo addr.s_addr = inet_addr("127.0.0.1"); m_pName.append(std::to_string((int) getpid())); @@ -198,6 +199,8 @@ t_cNodeName.append("@127.0.0.1"); m_cNodeName.swap(t_cNodeName); //m_pName + //int erl_connect_init(number, cookie, creation)int erl_connect_xinit(host, alive, node, addr, cookie, creation) + // https://cloud.tencent.com/developer/section/1123179 if (erl_connect_xinit(const_cast<char *>(m_pName.c_str()), const_cast<char *>(m_pName.c_str()), const_cast<char *>(m_cNodeName.c_str()), &addr, const_cast<char *>(m_cookie.c_str()), 0) == -1) { @@ -214,15 +217,18 @@ ERR("m_nodeName is null "); return 3; } + // 鍒ゆ柇鑺傜偣鏄惁鍚姩 m_ret = pingNode(m_nodeName, m_cookie); if (!m_ret) { if (dir_file_exists(m_path, true)) { + // 鍚姩erlang鑺傜偣鐨刡ash鍛戒护 std::string cmd = std::string("cd " + m_path + " && erl -name " + m_nodeName + " -setcookie " + m_cookie + " -mnesia dir '\"" + m_path + "\"' -detached -noshell");// >>log std::cout << cmd << std::endl; system(cmd.c_str()); std::cout << m_ret << std::endl; + // 鍒ゆ柇鑺傜偣鏄惁鍚姩鎴愬姛 m_ret = waitNode(); resetConn(); return m_ret; @@ -264,7 +270,7 @@ } ErlMessage emsg; /* Incoming message */ - //hanshu canshu + // 鎷兼帴鍑芥暟鍙傛暟 ETERM *arrlist[5]; arrlist[0] = erl_mk_atom(m_nodeName.c_str()); arrlist[1] = erl_mk_atom(FatherNodeName.c_str()); @@ -282,6 +288,8 @@ //erl_close_connection(m_fd); // m_mutex.unlock(); if (ret == ERL_MSG) { + // 娑堟伅瑙f瀽 + // 娑堟伅浣撲负閾捐〃缁撴瀯 std::map<std::string, std::string> t_results; ETERM *key, *value; ETERM *tuplep[6]; @@ -313,7 +321,7 @@ INFO("item is " << item.first << " " << item.second); } } - }//ret == ERL_MSG end + } //ret == ERL_MSG end else { ERR(" ret is " << ret); @@ -329,18 +337,14 @@ // m_mutex.lock(); m_ret = resetConn(); if (!m_ret) { - //#todo error message - std::cout << __FILE__ << __FUNCTION__ << __LINE__ << " error " << m_ret << " " << m_fd << std::endl; + ERR(" error " << m_ret << " " << m_fd); return false; } int ret = -1; ErlMessage emsg; /* Incoming message */ - //hanshu canshu -// ETERM *arrlist[1]; -// arrlist[0] = erl_mk_atom(m_nodeName.c_str()); + ETERM *list = erl_mk_empty_list();// (arrlist, 0); -// std::cout << __FILE__ << __FUNCTION__ <<__LINE__ << " " << m_fd << std::endl; ret = erl_rpc_to(m_fd, "syncDB", "removeNode", list); if (ret == ERL_TICK) { ret = erl_rpc_from(m_fd, TIMEOUT, &emsg); @@ -364,7 +368,7 @@ break; } default: - printf("error add case todo \n\r"); + ERR("error add case todo \n\r"); } auto it = t_results.find("atomic"); if (t_results.size() > 0 && t_results.end() != it && it->second == "ok") { @@ -471,9 +475,7 @@ map_DevDataCache devDataCache; int ret = -1; ErlMessage emsg; /* Incoming message */ - //hanshu canshu -// ETERM *arrlist[0]; -// arrlist[0] = erl_mk_atom(m_nodeName.c_str()); + ETERM *list = erl_mk_empty_list();//erl_mk_list(arrlist, 0); ret = erl_rpc_to(m_fd, "syncDB", "findAllNode", list); @@ -534,7 +536,7 @@ erlangFreeEterm(3, key, value, tuplep[j]); } // printf("\none list end\n\n\n\n"); - // #todo this is have a bug + // #todo this is have a bug 鍐呭瓨娉勯湶?鎴栬�呭湴鍧�绌洪棿瓒婄晫? // device_info.create_by = ""; devDataCache.insert(std::make_pair(device_info.uuid, device_info)); erlangFreeEterm(1, tail_tuple); @@ -1619,6 +1621,7 @@ "Select a.uuid as id ,a.faceUrl as img,a.feature,b.idCard as idcard,b.enabled,b.monitorLevel from '" + str_tableUuid + "_fea' as a ,'" + str_tableUuid + "' as b where a.uuid = b.uuid and ( a.del_flag=0 AND b.del_flag=0);"); + //Select a.uuid as id ,a.faceUrl as img,a.feature,b.idCard as idcard,b.enabled,b.monitorLevel from '0cd82a8b-5285-5737-ab19-8c07247c797e_fea' as a ,'0cd82a8b-5285-5737-ab19-8c07247c797e' as b where a.uuid = b.uuid and ( a.del_flag=0 AND b.del_flag=0); QSqlQuery query(g_syncDbFile); query.prepare(sql); if (!query.exec()) { @@ -1686,13 +1689,14 @@ bool ErlangTool::ErlangDbTool::resetConn() { //#todo if (m_pName.size() <= 0) { + // 鏍规嵁褰撳墠鏃堕棿璁剧疆绉嶅瓙,绉掔骇 srand(time(0)); + // 鐢熸垚闅忔満鏁� m_loop = rand() % 1000; int ret = -1; erl_init(NULL, 0); -// m_loop %= 10; -// m_loop++; + // 鏍规嵁闅忔満鏁扮敓鎴恈鑺傜偣 ret = erl_connect_init(m_loop, const_cast<char *>(m_cookie.c_str()), 0); DBG("node name is " << m_loop); if (-1 == ret) { @@ -1700,26 +1704,22 @@ return false; } -// std::cout << __FILE__ << __FUNCTION__ <<__LINE__ << " " << m_fd << std::endl; + // 鍏抽棴涓婃閾炬帴鐨勬枃浠舵弿杩扮 #TODO 绗竴娆″垱寤鸿妭鐐规湁姒傜巼鍑虹幇鐭椂闂村唴鏃犳硶鏌ヨ鐨刡ug erl_close_connection(m_fd); -// std::cout << __FILE__ << __FUNCTION__ <<__LINE__ << " " << m_fd << std::endl; m_fd = erl_connect(const_cast<char *>(m_nodeName.c_str())); -// std::cout << __FILE__ << __FUNCTION__ <<__LINE__ << " " << m_fd << std::endl; if (0 > m_fd) { // erl_err_quit("erl_connect"); return false; } return true; } else { + // 璁剧疆浜� mPName erl_close_connection(m_fd); m_fd = erl_connect(const_cast<char *>(m_nodeName.c_str())); if (0 > m_fd) { -// erl_err_quit("erl_connect"); -// std::cout << __FILE__ << __FUNCTION__ <<__LINE__ << " error " << fd << std::endl; ERR("m_fd is " << m_fd << " m_nodeName is" << m_nodeName); return false; } -// std::cout << __FILE__ << __FUNCTION__ <<__LINE__ << " " << fd << std::endl; INFO("m_fd is " << m_fd << " m_nodeName is" << m_nodeName); return true; } @@ -1738,15 +1738,17 @@ loop++; } } - std::cout << "start waitNode" << std::endl; + INFO("start waitNode"); return m_ret; } void ErlangTool::ErlangDbTool::test(pthread_cond_t *t_pthcon, pthread_mutex_t *t_pthmut) { bool ret = setCNodeName(); { + // 鐩戝惉socket鐨勭嚎绋� std::thread th1([&] { int res; + // 澶栭儴浼犲叆鐨勪俊鍙峰拰閿� pthread_cond_t *t_pthCon = t_pthcon; pthread_mutex_t *t_pthMut = t_pthmut; @@ -1786,7 +1788,8 @@ } else if (got == ERL_ERROR) { if ((fd = erl_accept(listen, &conn)) == ERL_ERROR) erl_err_quit("erl_accept"); - INFO("Connected to " << conn.nodename); + else + INFO("Connected to " << conn.nodename); } else { if (emsg.type == ERL_REG_SEND) { @@ -1803,6 +1806,7 @@ pthread_cond_signal(t_pthCon); pthread_mutex_unlock(t_pthMut); //call back func + //#TODO 娑堟伅瑙f瀽 } else { ERR("message not is update"); } diff --git a/syncDBTool/ErlangDbTool.h b/syncDBTool/ErlangDbTool.h index 72cebcd..f738219 100755 --- a/syncDBTool/ErlangDbTool.h +++ b/syncDBTool/ErlangDbTool.h @@ -136,17 +136,18 @@ private: void initCNode(); + // 鍚慹rlang绔洿鎺ュ彂閫乻ql璇彞 bool getExecSqlResult(const std::string &strSql); public: - //#todo setCNodeName + // 灏哻鑺傜偣鍚嶇О璁剧疆缁檈rlang浣垮叾鍙互鍦ㄦ帴鏀跺埌娑堟伅鏃�,鑳介�氱煡鍒版湰鑺傜偣 bool setCNodeName(); + // 鍚慹rlang鍙戦�佹秷鎭�, #TODO 鐩墠浠呭疄鐜颁簡淇″彿,寰呭疄鐜版秷鎭綋 bool sendMessage(); - //#todo sendMessage - + // 璁剧疆鍖垮悕c鑺傜偣鎺ュ彈erlang鑺傜偣鍚慶鑺傜偣鍙戦�佺殑娑堟伅 void test(pthread_cond_t *, pthread_mutex_t *); /*** @@ -174,7 +175,12 @@ */ bool removeNode(); - + /** + * 淇敼闆嗙兢鍚嶇О + * @param CluId + * @param CluName + * @return + */ bool modifyCluName(std::string CluId, std::string CluName); @@ -303,7 +309,7 @@ std::string PerPicUrl, std::string PerFea); // private: /*** - * 閲嶆柊杩炴帴鑺傜偣 + * 涓轰簡闃叉杩囬暱鏃堕棿杩炴帴琚叧闂�,涓诲姩閲嶆柊杩炴帴鑺傜偣 * @return 杩炴帴鐘舵�� */ bool resetConn(); @@ -319,8 +325,11 @@ private: //瀛樺偍璺緞 std::string m_path; + // erlang 鑺傜偣鍚嶇О std::string m_nodeName; + // 绋嬪簭鍐呯殑c鑺傜偣鍚嶇О 杩涚▼鍚�+pid@127.0.0.1 std::string m_cNodeName; + // 杩涚▼鍚�+pid?#TODO std::string m_pName; std::string m_cookie; -- Gitblit v1.8.0