| | |
| | | #include "shm_mod_socket.h" |
| | | #include "socket_io.h" |
| | | |
| | | #define GET(p) (*(uint32_t *)(p)) |
| | | #define PUT(p, val) (*(uint32_t *)(p) = (val)) |
| | | |
| | | #define NET_MODE_REQUEST_HEAD_LENGTH 16 |
| | | #define NET_MODE_RESPONSE_HEAD_LENGTH 4 |
| | | |
| | | struct net_node_t |
| | | { |
| | | const char *host; |
| | |
| | | uint32_t mod; |
| | | uint32_t key; |
| | | uint32_t content_length; |
| | | uint32_t topic_length; |
| | | }; |
| | | |
| | | struct net_mod_response_head_t { |
| | |
| | | public: |
| | | |
| | | NetModSocket(); |
| | | |
| | | int sendandrecv(net_node_t *node_arr, int arrlen, void *send_buf, int send_size, |
| | | net_mod_recv_msg_t ** resp_arr, int *resp_arr_size); |
| | | |
| | | int pub(net_node_t *node_arr, int arrlen, char *topic, int topic_size, void *content, int content_size); |
| | | |
| | | ~NetModSocket(); |
| | | |
| | | static void free_recv_msg_arr(net_mod_recv_msg_t * arr, size_t size); |
| | | static void free_recv_msg_arr(net_mod_recv_msg_t * arr, size_t size); |
| | | |
| | | static void * encode_request_head(net_mod_request_head_t & request); |
| | | static net_mod_request_head_t decode_request_head(void *headbs); |
| | | |
| | | static void * encode_response_head(net_mod_response_head_t & response); |
| | | static net_mod_response_head_t decode_response_head(void *_headbs); |
| | | }; |
| | | |
| | | |
| | | |
| | | |
| | | #endif |