From 4deeafbd502dc3c57dab8ad6ca601a38a9e7f074 Mon Sep 17 00:00:00 2001
From: lichao <lichao@aiotlink.com>
Date: 星期二, 06 四月 2021 19:10:49 +0800
Subject: [PATCH] add uni center.

---
 src/pubsub.h |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/pubsub.h b/src/pubsub.h
index cad9f61..3c3d4ad 100644
--- a/src/pubsub.h
+++ b/src/pubsub.h
@@ -33,8 +33,8 @@
 	    shm_(shm) {}
 	SocketPublish() :
 	    SocketPublish(BHomeShm()) {}
-	bool Publish(const std::string &topic, const void *data, const size_t size, const int timeout_ms);
-	bool Publish(const std::string &topic, const std::string &data, const int timeout_ms)
+	bool Publish(const Topic &topic, const void *data, const size_t size, const int timeout_ms);
+	bool Publish(const Topic &topic, const std::string &data, const int timeout_ms)
 	{
 		return Publish(topic, data.data(), data.size(), timeout_ms);
 	}
@@ -50,11 +50,13 @@
 	    Socket(shm, 64) {}
 	SocketSubscribe() :
 	    SocketSubscribe(BHomeShm()) {}
+	~SocketSubscribe() { Stop(); }
 
-	typedef std::function<void(const std::string &topic, const std::string &data)> TopicDataCB;
+	typedef std::function<void(const Topic &topic, const std::string &data)> TopicDataCB;
 	bool StartRecv(const TopicDataCB &tdcb, int nworker = 2);
-	bool Subscribe(const std::vector<std::string> &topics, const int timeout_ms);
-	bool RecvSub(std::string &topic, std::string &data, const int timeout_ms);
+	bool Stop() { return Socket::Stop(); }
+	bool Subscribe(const std::vector<Topic> &topics, const int timeout_ms);
+	bool RecvSub(Topic &topic, std::string &data, const int timeout_ms);
 };
 
 #endif // end of include guard: PUBSUB_4KGRA997

--
Gitblit v1.8.0