提交 c67db2c4 authored 作者: blu's avatar blu

big refacting of communitation architect

上级 79a7afbd
......@@ -452,19 +452,6 @@ class EvDaemon{
public:
void run(){
// setup cloud msg processor
thCloud = thread([this](){
while(true){
auto v = zmqhelper::z_recv_multiple(this->pDealer);
if(v.size() == 0) {
spdlog::error("evdaemon {} failed to receive msg {}", this->devSn, zmq_strerror(zmq_errno()));
}else{
handleCloudMsg(v);
}
}
});
thCloud.detach();
//setupSubSystems();
// get config
......@@ -579,6 +566,21 @@ class EvDaemon{
spdlog::error("evdaemon {} setup router: {}", this->devSn, addr);
exit(1);
}
// setup edge msg processor
thRouter = thread([this](){
while(true){
auto v = zmqhelper::z_recv_multiple(this->pRouter);
if(v.size() == 0) {
spdlog::error("evdaemon {} failed to receive msg {}", this->devSn, zmq_strerror(zmq_errno()));
}else{
handleEdgeMsg(v);
}
}
});
thRouter.detach();
spdlog::info("evdaemon {} edge message processor had setup {}", devSn, addr);
// dealer port
strEnv = getenv("CLOUD_ADDR");
......@@ -592,23 +594,24 @@ class EvDaemon{
spdlog::error("evdaemon {} failed to setup dealer", devSn);
exit(1);
}
this->thIdMain = this_thread::get_id();
// setup edge msg processor
thRouter = thread([this](){
spdlog::info("evdaemon {} connected to cloud {}", devSn, cloudAddr);
// setup cloud msg processor
thCloud = thread([this](){
while(true){
auto v = zmqhelper::z_recv_multiple(this->pRouter);
auto v = zmqhelper::z_recv_multiple(this->pDealer);
if(v.size() == 0) {
spdlog::error("evdaemon {} failed to receive msg {}", this->devSn, zmq_strerror(zmq_errno()));
}else{
handleEdgeMsg(v);
handleCloudMsg(v);
}
}
});
thRouter.detach();
thCloud.detach();
spdlog::info("evdaemon {} cloud message processor had setup {}", devSn, cloudAddr);
this->thIdMain = this_thread::get_id();
/// peerId -> value
peerData["status"] = json();
peerData["pids"] = json();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论