| | |
| | | typedef std::set<int, std::less<int>, SHM_STL_Allocator<int> > SHMKeySet; |
| | | typedef std::map<SHMString, SHMKeySet *, std::less<SHMString>, SHM_STL_Allocator<std::pair<const SHMString, SHMKeySet *> > > SHMTopicSubMap; |
| | | |
| | | |
| | | class BusServerSocket { |
| | | private: |
| | | shm_socket_t *shm_socket; |
| | |
| | | private: |
| | | int destroy(); |
| | | void _proxy_sub( char *topic, int key); |
| | | void _proxy_pub( char *topic, void *buf, size_t size, int key); |
| | | void *_run_proxy_(); |
| | | void _proxy_pub( char *topic, char *buf, size_t size, int key); |
| | | int _run_proxy_(); |
| | | // int parse_pubsub_topic(char *str, size_t size, char **_action, char **_topic, size_t *head_len ); |
| | | |
| | | void _proxy_desub( char *topic, int key); |
| | | void _proxy_desub_all(int key); |
| | | |
| | | static void foreach_subscripters(std::function<void(SHMKeySet *, int)> cb); |
| | | void _proxy_reg(const char *topic, size_t topic_size, const char *content, size_t content_size, int key, int flag); |
| | | |
| | | static void foreach_subscripters(std::function<void(SHMKeySet *, int)> cb); |
| | | // static bool include_in_keys(int key, int keys[], size_t length); |
| | | |
| | | public: |