| | |
| | | shm_(shm) {} |
| | | SocketPublish() : |
| | | SocketPublish(BHomeShm()) {} |
| | | 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); |
| | | } |
| | | bool Publish(const std::string &proc_id, const Topic &topic, const void *data, const size_t size, const int timeout_ms); |
| | | }; |
| | | |
| | | // socket subscribe |
| | |
| | | SocketSubscribe(BHomeShm()) {} |
| | | ~SocketSubscribe() { Stop(); } |
| | | |
| | | typedef std::function<void(const Topic &topic, const std::string &data)> TopicDataCB; |
| | | typedef std::function<void(const std::string &proc_id, const Topic &topic, const std::string &data)> TopicDataCB; |
| | | bool StartRecv(const TopicDataCB &tdcb, int nworker = 2); |
| | | 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); |
| | | bool Subscribe(const std::string &proc_id, const std::vector<Topic> &topics, const int timeout_ms); |
| | | bool RecvSub(std::string &proc_id, Topic &topic, std::string &data, const int timeout_ms); |
| | | }; |
| | | |
| | | #endif // end of include guard: PUBSUB_4KGRA997 |