From d26e81c4213dfb04391c7b6692f243aede2e6895 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期一, 12 十月 2020 15:25:31 +0800 Subject: [PATCH] version --- src/socket/dgram_mod_socket.c | 50 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 41 insertions(+), 9 deletions(-) diff --git a/src/socket/dgram_mod_socket.c b/src/socket/dgram_mod_socket.c index e733ff6..3e0fd0c 100644 --- a/src/socket/dgram_mod_socket.c +++ b/src/socket/dgram_mod_socket.c @@ -1,11 +1,20 @@ #include "dgram_mod_socket.h" -#include "dmod_socket.h" +#include "shm_mod_socket.h" typedef struct dgram_mod_socket_t { - DModSocket *m_socket; + ShmModSocket *m_socket; } dgram_mod_socket_t; + +int dgram_mod_remove_keys(int keys[], int length){ + return ShmModSocket::remove_keys(keys, length); +} + +int dgram_mod_remove_key(int key){ + int keys[] = {key}; + return ShmModSocket::remove_keys(keys, 1); +} /** * 鍒涘缓socket * @return socket鍦板潃 @@ -13,7 +22,7 @@ void *dgram_mod_open_socket() { dgram_mod_socket_t * socket = (dgram_mod_socket_t *)calloc(1, sizeof(dgram_mod_socket_t)); // socket->mod = (socket_mod_t)mod; - socket->m_socket = new DModSocket; + socket->m_socket = new ShmModSocket; return (void *)socket; } @@ -128,17 +137,40 @@ */ int dgram_mod_sub(void * _socket, void *topic, int size, int port){ dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket; - return socket->m_socket->sub(topic, size, port); + return socket->m_socket->sub((char *)topic, size, port); } // 瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇 int dgram_mod_sub_timeout(void * _socket, void *topic, int size, int port, int sec, int nsec){ dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket; struct timespec timeout = {sec, nsec}; - return socket->m_socket->sub_timeout(topic, size, port, &timeout); + return socket->m_socket->sub_timeout((char *)topic, size, port, &timeout); } int dgram_mod_sub_nowait(void * _socket, void *topic, int size, int port){ dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket; - return socket->m_socket->sub_nowait(topic, size, port); + return socket->m_socket->sub_nowait((char *)topic, size, port); +} + + + +/** + * 鍙栨秷璁㈤槄鎸囧畾涓婚 + * @topic 涓婚 + * @size 涓婚闀垮害 + * @port 鎬荤嚎绔彛 + */ +int dgram_mod_desub(void * _socket, void *topic, int size, int port){ + dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket; + return socket->m_socket->desub((char *)topic, size, port); +} +// 瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇 +int dgram_mod_desub_timeout(void * _socket, void *topic, int size, int port, int sec, int nsec){ + dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket; + struct timespec timeout = {sec, nsec}; + return socket->m_socket->desub_timeout((char *)topic, size, port, &timeout); +} +int dgram_mod_desub_nowait(void * _socket, void *topic, int size, int port){ + dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket; + return socket->m_socket->desub_nowait((char *)topic, size, port); } @@ -151,17 +183,17 @@ */ int dgram_mod_pub(void * _socket, void *topic, int topic_size, void *content, int content_size, int port){ dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket; - return socket->m_socket->pub(topic, topic_size, content, content_size, port); + return socket->m_socket->pub((char *)topic, topic_size, content, content_size, port); } // 瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇 int dgram_mod_pub_timeout(void * _socket, void *topic, int topic_size, void *content, int content_size, int port, int sec, int nsec){ dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket; struct timespec timeout = {sec, nsec}; - return socket->m_socket->pub_timeout(topic, topic_size, content, content_size, port, &timeout); + return socket->m_socket->pub_timeout((char *)topic, topic_size, content, content_size, port, &timeout); } int dgram_mod_pub_nowait(void * _socket, void *topic, int topic_size, void *content, int content_size, int port){ dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket; - return socket->m_socket->pub_nowait(topic, topic_size, content, content_size, port); + return socket->m_socket->pub_nowait((char *)topic, topic_size, content, content_size, port); } -- Gitblit v1.8.0