wangzhengquan
2020-12-21 ab9d762e22875cec0cecf7783b9d76995562bebb
src/socket/shm_mod_socket.h
@@ -11,6 +11,16 @@
#include <set>
#include "socket_def.h"
#define BUS_HEAD_SIZE (64 + 2 * sizeof(uint32_t))
struct bus_head_t
{
   char action[64];
   uint32_t topic_size;
   uint32_t content_size;
};
class ShmModSocket {
private:
   shm_socket_t *shm_socket;
@@ -26,8 +36,17 @@
   int  _desub_( char *topic, int size, int key, struct timespec *timeout, int flags);
   static int get_bus_sendbuf(bus_head_t &request_head, void *topic_buf, int topic_size, void *content_buf, int content_size, void **retbuf);
public:
   static size_t remove_keys(int keys[], size_t length);
  // bus header 编码为网络传输的字节
  static void * encode_bus_head(bus_head_t & bushead);
  // 解码 bus  header
  static bus_head_t  decode_bus_head(void *headbs);
public:
   ShmModSocket();
   ~ShmModSocket();