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

big refacting of communitation architect

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