From 489be34b462204071d81ba86644269e88e440bf5 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期四, 30 九月 2021 13:31:15 +0800
Subject: [PATCH] fix SendReply free
---
src/net/net_mod_socket_wrapper.cpp | 77 +++++++++++++++++++++++++-------------
1 files changed, 50 insertions(+), 27 deletions(-)
diff --git a/src/net/net_mod_socket_wrapper.cpp b/src/net/net_mod_socket_wrapper.cpp
index 6f9a66e..479b0d4 100644
--- a/src/net/net_mod_socket_wrapper.cpp
+++ b/src/net/net_mod_socket_wrapper.cpp
@@ -44,28 +44,33 @@
// return sockt->bind(key);
}
+int net_mod_socket_reg(void *_socket, void *pData, int len, void **buf, int *size, const int timeout_ms, int flag)
+{
+ NetModSocket *sockt = (NetModSocket *)_socket;
+
+ return sockt->reg(pData, len, buf, size, timeout_ms, flag);
+
+}
+
/**
* 鍙戦�佷俊鎭�
* @key 鍙戦�佺粰璋�
* @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
*/
-int net_mod_socket_sendto(void *_socket, const void *buf, const int size, const int key) {
+int net_mod_socket_sendto(void *_socket, const void *buf, const int size, const int key, int reset, int data_set) {
NetModSocket *sockt = (NetModSocket *)_socket;
- logger->debug("net_mod_socket_sendto: %d sendto %d", net_mod_socket_get_key(_socket), key);
- return sockt->sendto(buf, size, key);
+ return sockt->sendto(buf, size, key, reset, data_set);
}
// 鍙戦�佷俊鎭秴鏃惰繑鍥炪�� @sec 绉� 锛� @nsec 绾崇
-int net_mod_socket_sendto_timeout(void *_socket, const void *buf, const int size, const int key, int sec, int nsec){
+int net_mod_socket_sendto_timeout(void *_socket, const void *buf, const int size, const int key, int sec, int nsec, int reset, int data_set){
NetModSocket *sockt = (NetModSocket *)_socket;
- logger->debug("net_mod_socket_sendto: %d sendto %d", net_mod_socket_get_key(_socket), key);
- return sockt->sendto_timeout(buf, size, key, sec, nsec);
+ return sockt->sendto_timeout(buf, size, key, sec, nsec, reset, data_set);
// return sockt->sendto(buf, size, key);
}
// 鍙戦�佷俊鎭珛鍒昏繑鍥炪��
-int net_mod_socket_sendto_nowait(void *_socket, const void *buf, const int size, const int key){
+int net_mod_socket_sendto_nowait(void *_socket, const void *buf, const int size, const int key, int reset, int data_set){
NetModSocket *sockt = (NetModSocket *)_socket;
- logger->debug("net_mod_socket_sendto: %d sendto %d", net_mod_socket_get_key(_socket), key);
- return sockt->sendto_nowait(buf, size, key);
+ return sockt->sendto_nowait(buf, size, key, reset, data_set);
}
/**
@@ -73,32 +78,49 @@
* @port 浠庤皝鍝噷鏀跺埌鐨勪俊鎭�
* @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
*/
-int net_mod_socket_recvfrom(void *_socket, void **buf, int *size, int *key){
+int net_mod_socket_recvfrom(void *_socket, void **buf, int *size, int *key, int reset, int data_set){
int rv;
NetModSocket *sockt = (NetModSocket *)_socket;
- logger->debug(" %d net_mod_socket_recvfrom before", net_mod_socket_get_key(_socket));
- rv = sockt->recvfrom(buf, size, key);
- logger->debug(" %d net_mod_socket_recvfrom after. rv = %d", net_mod_socket_get_key(_socket), rv);
+ rv = sockt->recvfrom(buf, size, key, reset, data_set);
return rv;
}
// 鎺ュ彈淇℃伅瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇
-int net_mod_socket_recvfrom_timeout(void *_socket, void **buf, int *size, int *key, int sec, int nsec){
- NetModSocket *sockt = (NetModSocket *)_socket;
- // return sockt->recvfrom(buf, size, key);
- return sockt->recvfrom_timeout(buf, size, key, sec, nsec);
+int net_mod_socket_recvfrom_timeout(void *_socket, void **buf, int *size, int *key, int sec, int nsec, int reset, int data_set){
+ NetModSocket *sockt = (NetModSocket *)_socket;
+ return sockt->recvfrom_timeout(buf, size, key, sec, nsec, reset, data_set);
}
-int net_mod_socket_recvfrom_nowait(void *_socket, void **buf, int *size, int *key){
- NetModSocket *sockt = (NetModSocket *)_socket;
- return sockt->recvfrom_nowait(buf, size, key);
+int net_mod_socket_recvfrom_nowait(void *_socket, void **buf, int *size, int *key, int reset, int data_set){
+ NetModSocket *sockt = (NetModSocket *)_socket;
+ return sockt->recvfrom_nowait(buf, size, key, reset, data_set);
}
int net_mod_socket_sendandrecv(void *_socket, net_node_t *node_arr, int arrlen, void *send_buf, int send_size,
- net_mod_recv_msg_t ** recv_arr, int *recv_arr_size){
+ net_mod_recv_msg_t ** recv_arr, int *recv_arr_size, net_mod_err_t ** err_arr, int *err_arr_size){
NetModSocket *sockt = (NetModSocket *)_socket;
- return sockt->sendandrecv(node_arr, arrlen, send_buf, send_size, recv_arr, recv_arr_size);
+ return sockt->sendandrecv(node_arr, arrlen, send_buf, send_size, recv_arr, recv_arr_size, err_arr, err_arr_size, -1);
+}
+
+void net_mod_socket_int_set(void * _socket, int data) {
+ NetModSocket *sockt = (NetModSocket *)_socket;
+ sockt->int_set(data);
+}
+
+void net_mod_socket_svr_set(void * _socket, int data) {
+ NetModSocket *sockt = (NetModSocket *)_socket;
+ sockt->svr_set(data);
+}
+
+int net_mod_socket_int_get(void * _socket) {
+ NetModSocket *sockt = (NetModSocket *)_socket;
+ return sockt->int_get();
+}
+
+int net_mod_socket_svr_get(void * _socket) {
+ NetModSocket *sockt = (NetModSocket *)_socket;
+ return sockt->svr_get();
}
/**
@@ -106,16 +128,17 @@
* @timeout 绛夊緟鏃堕棿锛屽崟浣嶆槸鍗冨垎涔嬩竴绉�
*/
int net_mod_socket_sendandrecv_timeout(void *_socket, net_node_t *node_arr, int arrlen, void *send_buf, int send_size,
- net_mod_recv_msg_t ** recv_arr, int *recv_arr_size, int timeout){
+ net_mod_recv_msg_t ** recv_arr, int *recv_arr_size,
+ net_mod_err_t ** err_arr, int *err_arr_size, int timeout){
NetModSocket *sockt = (NetModSocket *)_socket;
- // return sockt->sendandrecv(node_arr, arrlen, send_buf, send_size, recv_arr, recv_arr_size);
- return sockt->sendandrecv_timeout(node_arr, arrlen, send_buf, send_size, recv_arr, recv_arr_size, timeout);
+ return sockt->sendandrecv(node_arr, arrlen, send_buf, send_size, recv_arr, recv_arr_size, err_arr, err_arr_size, timeout);
}
int net_mod_socket_sendandrecv_nowait(void *_socket, net_node_t *node_arr, int arrlen, void *send_buf, int send_size,
- net_mod_recv_msg_t ** recv_arr, int *recv_arr_size) {
+ net_mod_recv_msg_t ** recv_arr, int *recv_arr_size, net_mod_err_t ** err_arr, int *err_arr_size) {
+
NetModSocket *sockt = (NetModSocket *)_socket;
- return sockt->sendandrecv_nowait(node_arr, arrlen, send_buf, send_size, recv_arr, recv_arr_size);
+ return sockt->sendandrecv(node_arr, arrlen, send_buf, send_size, recv_arr, recv_arr_size, err_arr, err_arr_size, 0);
}
--
Gitblit v1.8.0