提交 96be1fd2 authored 作者: blu's avatar blu

init

上级 27c876b6
......@@ -77,6 +77,7 @@ private:
ret["time"] = chrono::duration_cast<chrono::seconds>(chrono::system_clock::now().time_since_epoch()).count();
spdlog::info(newConfig.dump());
try {
json deltaCfg = json();
if(newConfig.count("data") == 0 || newConfig["data"].size() == 0) {
ret["code"] = 1;
ret["msg"] = "evcloudsvc invalid config body received: " + newConfig.dump(4);
......@@ -190,7 +191,7 @@ private:
spdlog::info("evcloudsvc peer {} config diff:\n{}\n\norigin:\n{}", k, diff.dump(), this->peerData["config"][k].dump());
if(diff.size()!=0) {
// send config
sendConfig(v, k);
deltaCfg[k] = 1;
}
}else{
this->peerData["config"][k] = v;
......@@ -214,13 +215,11 @@ private:
this->configMap = oldConfigMap;
}
// save full config
for(auto &[k,v]: data.items()){
json j = getConfigForDevice(k);
if(j["code"] != 0) {
spdlog::error("evcloudsvc failed getConfigForDevice {}: {} ", k, j["msg"].dump());
}else{
this->peerData["fullcfg"][k] = j["data"];
// update config
for(auto &[x,y]: deltaCfg.items()){
json j = getConfigForDevice(x);
if(j["code"] == 0) {
sendConfig(j, x);
}
}
......
......@@ -48,6 +48,7 @@ class EvDaemon{
mutex cacheLock;
queue<string> eventQue;
mutex eventQLock;
mutex cfgLock;
/// module gid to process id
json mapModsToPids;
......@@ -81,6 +82,7 @@ class EvDaemon{
// apply config
try{
lock_guard<mutex> lock(cacheLock);
json &data = this->config;
string peerId;
pid_t pid;
......@@ -108,6 +110,7 @@ class EvDaemon{
}
// startup other submodules
spdlog::info("dump: {}", v.dump(4));
json &ipcs = v["ipcs"];
for(auto &ipc : ipcs) {
json &modules = ipc["modules"];
......@@ -292,10 +295,6 @@ class EvDaemon{
}
if(ret < 0) {
spdlog::error("evdaemon {} failed to update localconfig", devSn);
}
// event
json jEvt;
jEvt["type"] = EV_MSG_TYPE_CONN_STAT;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论