/* * ===================================================================================== * * Filename: pubsub.h * * Description: * * Version: 1.0 * Created: 2021年03月24日 18时44分36秒 * Revision: none * Compiler: gcc * * Author: Li Chao (), * Organization: * * ===================================================================================== */ #ifndef PUBSUB_4KGRA997 #define PUBSUB_4KGRA997 #include "socket.h" #include #include #include namespace bhome_shm { // publish/subcribe manager. class BusManager { SharedMemory &shm_; ShmSocket socket_; std::mutex mutex_; typedef std::set Clients; std::unordered_map records_; public: BusManager(SharedMemory &shm); BusManager(); ~BusManager() { Stop(); } bool Start(const int nworker = 2); bool Stop() { return socket_.Stop(); } }; } // namespace bhome_shm #endif // end of include guard: PUBSUB_4KGRA997