wangzhengquan
2021-01-15 0d6000e8e75e45d83dfc5718bd249a11fcce45a3
src/socket/shm_mod_socket.cpp
@@ -9,7 +9,6 @@
}
ShmModSocket::ShmModSocket() {
   mod = (socket_mod_t)0;
   shm_socket = shm_open_socket(SHM_SOCKET_DGRAM);
   bus_set = new std::set<int>;
}
@@ -54,20 +53,7 @@
int ShmModSocket::sendto_nowait( const void *buf, const int size, const int key){
   return shm_sendto(shm_socket, buf, size, key, NULL, (int)SHM_MSG_NOWAIT);
}
inline int ShmModSocket::_recvfrom_(void **buf, int *size, int *key,  struct timespec *timeout, int flags) {
   if(mod == BUS) {
      logger->error("Can not use method recvfrom in a Bus");
      exit(1);
   }
// printf("dgram_mod_recvfrom  before\n");
   int rv = shm_recvfrom(shm_socket, buf, size, key, timeout, flags);
// printf("dgram_mod_recvfrom  after\n");
   return rv;
}
/**
 * 接收信息
@@ -75,20 +61,20 @@
 * @return 0 成功, 其他值 失败的错误码
*/
int ShmModSocket::recvfrom(void **buf, int *size, int *key) {
   int rv =  _recvfrom_( buf, size, key, NULL, 0);
   // logger->error(rv, "ShmModSocket::recvfrom failed!");
   int rv =  shm_recvfrom(shm_socket, buf, size, key, NULL, 0);
  return rv;
}
// 接受信息超时返回。 @sec 秒 , @nsec 纳秒
int ShmModSocket::recvfrom_timeout( void **buf, int *size, int *key, struct timespec *timeout) {
   int rv =  _recvfrom_(buf, size, key, timeout, 0);
   int rv =  shm_recvfrom(shm_socket, buf, size, key, timeout, 0);
    return rv;
}
int ShmModSocket::recvfrom_nowait( void **buf, int *size, int *key){
   int rv =  _recvfrom_(buf, size, key, NULL, (int)SHM_MSG_NOWAIT);
   int rv =  shm_recvfrom(shm_socket, buf, size, key, NULL, (int)SHM_MSG_NOWAIT);
   // logger->error(rv, "ShmModSocket::recvfrom_nowait failed!");
  return rv;
}