From 70fec55c71f707358e6dba1b551d7836e93a5c78 Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期二, 06 四月 2021 19:30:50 +0800 Subject: [PATCH] refactor. --- src/center.cpp | 25 ++++++++++++++++++++++++- 1 files changed, 24 insertions(+), 1 deletions(-) diff --git a/src/center.cpp b/src/center.cpp index 809b6d1..d0e61a2 100644 --- a/src/center.cpp +++ b/src/center.cpp @@ -17,13 +17,36 @@ */ #include "center.h" #include "defs.h" +#include "pubsub_center.h" +#include "reqrep_center.h" #include "shm.h" using namespace bhome_shm; +typedef BHCenter::MsgHandler Handler; + +Handler Join(Handler h1, Handler h2) +{ + return [h1, h2](ShmSocket &socket, bhome_msg::MsgI &imsg, bhome::msg::BHMsg &msg) { + return h1(socket, imsg, msg) || h2(socket, imsg, msg); + }; +} SharedMemory &BHomeShm() { - static SharedMemory shm("bhome_default_shm_v0", 1024*1024*64); + static SharedMemory shm("bhome_default_shm_v0", 1024 * 1024 * 64); return shm; } +BHCenter::BHCenter(Socket::Shm &shm) : + socket_(shm, &BHUniCenter(), 1000) {} + +BHCenter::BHCenter() : + BHCenter(BHomeShm()) {} + +bool BHCenter::Start() +{ + auto onCenter = MakeReqRepCenter(); + auto onBus = MakeBusCenter(); + + socket_.Start(Join(onCenter, onBus)); +} \ No newline at end of file -- Gitblit v1.8.0