wangzhengquan
2021-02-05 14c345b38d57fd814f217eb8465963a08ca79f7e
src/net/net_mod_socket_wrapper.h
@@ -18,6 +18,7 @@
#endif
 
typedef void (*recvandsend_callback_wrapper_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data);
@@ -28,12 +29,16 @@
 */
void * net_mod_socket_open();
/**
 * @brief 关闭 net_mod_socket
 */
void net_mod_socket_close(void *_sockt);
/**
 * @brief 停止 net_mod_socket
 */
int net_mod_socket_stop(void *_sockt);
/**
 * @brief 绑定端口到socket, 如果不绑定则系统自动分配一个
@@ -165,30 +170,24 @@
/**
 * @brief 接受消息,并把callback函数返回的数据发送回对方,一直等待完成
 *
 * @param recvbuf 接受到的消息存放的缓存地址,该buf使用完成后需要手动释放
 * @param recvsize 接受到消息的长度
 * @param key 从谁哪里收到的信息
 * @callback  void (*recvandsend_callback_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data)
 *                  @recvbuf 收到的数据
 * @callback  void (*recvandsend_callback_wrapper_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data)
 *                  @recvbuf 收到的数据, 该recvbuf使用完成后需要手动释放
 *                  @recvsize 收到的数据的大小
 *                  @key 接受数据并并发送数据的对象
 *                  @key 接受数据并发送数据的对象
 *                  @sendbuf 存储返回值的地址,表示返回的数据
 *                  @sendsize 存储返回值的地址, 返回数据的长度
 *
 * @return 0是成功, 其他值是失败的错误码
 */
int net_mod_socket_recvandsend(void *_socket,  recvandsend_callback_fn callback, void * user_data);
int net_mod_socket_recvandsend(void *_socket,  recvandsend_callback_wrapper_fn callback, void * user_data);
/**
 * @brief 接受消息,并把callback函数返回的数据发送回对方,在指定的时间内即使没有完成也返回
 *
 * @param recvbuf 接受到的消息存放的缓存地址,该buf使用完成后需要手动释放
 * @param recvsize 接受到消息的长度
 * @param key 从谁哪里收到的信息
 * @callback  void (*recvandsend_callback_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data)
 *                  @recvbuf 收到的数据
 * @callback  void (*recvandsend_callback_wrapper_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data)
 *                  @recvbuf 收到的数据, 该recvbuf使用完成后需要手动释放
 *                  @recvsize 收到的数据的大小
 *                  @key 接受数据并并发送数据的对象
 *                  @key 接受数据并发送数据的对象
 *                  @sendbuf 存储返回值的地址,表示返回的数据
 *                  @sendsize 存储返回值的地址, 返回数据的长度
 *
@@ -197,26 +196,23 @@
 *
 * @return 0是成功, 其他值是失败的错误码
 */
int net_mod_socket_recvandsend_timeout(void *_socket, recvandsend_callback_fn callback,
int net_mod_socket_recvandsend_timeout(void *_socket, recvandsend_callback_wrapper_fn callback,
                                       int sec, int nsec, void * user_data ) ;
/**
 * @brief 接受消息,并把callback函数返回的数据发送回对方,无论成功与否立刻返回
 *
 * @param recvbuf 接受到的消息存放的缓存地址,该buf使用完成后需要手动释放
 * @param recvsize 接受到消息的长度
 * @param key 从谁哪里收到的信息
 * @callback  void (*recvandsend_callback_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data)
 *                  @recvbuf 收到的数据
 * @callback  void (*recvandsend_callback_wrapper_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data)
 *                  @recvbuf 收到的数据, 该recvbuf使用完成后需要手动释放
 *                  @recvsize 收到的数据的大小
 *                  @key 接受数据并并发送数据的对象
 *                  @key 接受数据并发送数据的对象
 *                  @sendbuf 存储返回值的地址,表示返回的数据
 *                  @sendsize 存储返回值的地址, 返回数据的长度
 *
 * @return 0是成功, 其他值是失败的错误码
 */
int net_mod_socket_recvandsend_nowait(void *_socket, recvandsend_callback_fn callback, void * user_data) ;
int net_mod_socket_recvandsend_nowait(void *_socket, recvandsend_callback_wrapper_fn callback, void * user_data) ;
/**