wangzhengquan
2021-02-08 82841486c36288d73e95f3316e91dd7a522d8602
src/socket/shm_mod_socket.cpp
@@ -3,10 +3,15 @@
static Logger *logger = LoggerFactory::getLogger();
size_t ShmModSocket::remove_keys(int keys[], size_t length) {
   BusServerSocket::remove_subscripters(keys, length);
   return shm_socket_remove_keys(keys, length);
}
// size_t ShmModSocket::remove_keys(int keys[], size_t length) {
//    BusServerSocket::remove_subscripters(keys, length);
//    return shm_socket_remove_keys(keys, length);
// }
// size_t ShmModSocket::remove_keys_exclude(int keys[], size_t length) {
//    BusServerSocket::remove_subscripters(keys, length);
//    return shm_socket_remove_keys_exclude(keys, length);
// }
ShmModSocket::ShmModSocket() {
   shm_socket = shm_open_socket(SHM_SOCKET_DGRAM);
@@ -25,6 +30,11 @@
   shm_close_socket(shm_socket);
}
int ShmModSocket::stop() {
   return shm_socket_stop(shm_socket);
}
int ShmModSocket::bind(int key) {
   return  shm_socket_bind(shm_socket, key);
@@ -91,16 +101,9 @@
}
int ShmModSocket::recvandsend(void **recvbuf, int *recvsize, int *key, recv_callback_fn callback,
int ShmModSocket::recvandsend( recvandsend_callback_fn callback,
                    const struct timespec *timeout , int flag, void * user_data ) {
  int rv = shm_recvandsend(shm_socket, recvbuf, recvsize, key, callback, timeout, flag, user_data);
  if(rv == 0) {
    logger->debug("ShmModSocket::shm_recvandsend: success. key = %d\n", *key);
    return 0;
  }
  logger->debug("ShmModSocket::shm_recvandsend :  failed. %s", bus_strerror(rv));
  return rv;
  return shm_recvandsend(shm_socket, callback, timeout, flag, user_data);
}
 
// // 超时返回。 @sec 秒 , @nsec 纳秒