From 83085f2ce99cca05d40a19482151873a55e6393a Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期五, 02 四月 2021 19:32:21 +0800 Subject: [PATCH] refactor center; add async request no cb. --- src/socket.h | 13 ++++++++----- 1 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/socket.h b/src/socket.h index 20da7c0..1a3d47b 100644 --- a/src/socket.h +++ b/src/socket.h @@ -35,21 +35,24 @@ public: typedef bhome_shm::SharedMemory Shm; - typedef std::function<void(bhome_msg::BHMsg &msg)> RecvCB; - typedef std::function<void(bhome_msg::MsgI &imsg)> RecvRawCB; + typedef std::function<void(ShmSocket &sock, bhome_msg::MsgI &imsg, bhome_msg::BHMsg &msg)> RecvCB; + typedef std::function<void(bhome_msg::BHMsg &msg)> RecvBHMsgCB; + ShmSocket(Shm &shm, const void *id, const int len); ShmSocket(Shm &shm, const int len = 12); ~ShmSocket(); + Shm &shm() { return shm_; } // start recv. bool Start(const RecvCB &onData, int nworker = 1); - bool StartRaw(const RecvRawCB &onData, int nworker = 1); + bool Start(const RecvBHMsgCB &onData, int nworker = 1) + { + return Start([onData](ShmSocket &sock, bhome_msg::MsgI &imsg, bhome_msg::BHMsg &msg) { onData(msg); }, nworker); + } bool Stop(); size_t Pending() const { return mq_ ? mq_->Pending() : 0; } protected: - ShmSocket(Shm &shm, const void *id, const int len); - Shm &shm() { return shm_; } const Shm &shm() const { return shm_; } Queue &mq() { return *mq_; } // programmer should make sure that mq_ is valid. const Queue &mq() const { return *mq_; } -- Gitblit v1.8.0