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