| | |
| | | #include "bus_error.h" |
| | | |
| | | static Logger *logger = LoggerFactory::getLogger(); |
| | | static pthread_mutex_t gMutex; |
| | | |
| | | list gLinkedList; |
| | | void BusServerSocket::foreach_subscripters(std::function<void(SHMKeySet *, int)> cb) { |
| | |
| | | int BusServerSocket::start(){ |
| | | int rv; |
| | | |
| | | topic_sub_map = shm_mm_attach<SHMTopicSubMap>(SHM_BUS_MAP_KEY); |
| | | |
| | | rv = _run_proxy_(); |
| | | topic_sub_map = shm_mm_attach<SHMTopicSubMap>(SHM_BUS_MAP_KEY); |
| | | |
| | | return rv; |
| | | pthread_mutex_init(&gMutex, NULL); |
| | | |
| | | rv = _run_proxy_(); |
| | | |
| | | return rv; |
| | | } |
| | | |
| | | |
| | |
| | | ProcDataZone *procQuePart = shm_mm_attach<ProcDataZone>(SHM_QUEUE_ST_SET); |
| | | ProcPartZone *procPart = shm_mm_attach<ProcPartZone>(SHM_BUS_PROC_PART_MAP_KEY); |
| | | if (flag == PROC_REG) { |
| | | pthread_mutex_lock(&gMutex); |
| | | if ((proc_iter = proc->find(key)) == proc->end()) { |
| | | proc->insert({key, Data_stru}); |
| | | } |
| | | pthread_mutex_unlock(&gMutex); |
| | | |
| | | if ((proc_part_iter = procPart->find(key)) == procPart->end()) { |
| | | procPart->insert({key, Data_stru.proc_id}); |
| | |
| | | SvrSub_ele->erase(key); |
| | | } |
| | | |
| | | pthread_mutex_lock(&gMutex); |
| | | if ((proc_iter = proc->find(key)) != proc->end()) { |
| | | |
| | | data1 = atoi((proc_iter->second).int_info); |
| | |
| | | proc->erase(key); |
| | | |
| | | } |
| | | pthread_mutex_unlock(&gMutex); |
| | | |
| | | if ((proc_part_iter = procPart->find(key)) != procPart->end()) { |
| | | |
| | |
| | | ProcZone::iterator proc_iter; |
| | | ProcZone *proc = shm_mm_attach<ProcZone>(SHM_BUS_PROC_MAP_KEY); |
| | | |
| | | pthread_mutex_lock(&gMutex); |
| | | if ((proc_iter = proc->find(val)) != proc->end()) { |
| | | pthread_mutex_unlock(&gMutex); |
| | | return true; |
| | | } |
| | | pthread_mutex_unlock(&gMutex); |
| | | |
| | | return false; |
| | | |