| | |
| | | #endif |
| | | |
| | | |
| | | typedef void (*recvandsend_callback_wrapper_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data); |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | 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, 如果不绑定则系统自动分配一个 |
| | |
| | | |
| | | |
| | | |
| | | /** |
| | | * @brief 接受消息,并把callback函数返回的数据发送回对方,一直等待完成 |
| | | * |
| | | * @param recvbuf 接受到的消息存放的缓存地址,该buf使用完成后需要手动释放 |
| | | * @param recvsize 接受到消息的长度 |
| | | * @param key 从谁哪里收到的信息 |
| | | * @callback void (*recv_callback_fn)(void **sendbuf, int *sendsize) |
| | | * sendbuf 和 sendsize是callbak_fn回调函数的返回值, 分别表示返回的数据,和返回数据的长度。 |
| | | * |
| | | * @return 0是成功, 其他值是失败的错误码 |
| | | */ |
| | | int net_mod_socket_recvandsend(void *_socket, void **recvbuf, int *recvsize, int *key, recv_callback_fn callback); |
| | | |
| | | /** |
| | | * @brief 接受消息,并把callback函数返回的数据发送回对方,在指定的时间内即使没有完成也返回 |
| | | * |
| | | * @param recvbuf 接受到的消息存放的缓存地址,该buf使用完成后需要手动释放 |
| | | * @param recvsize 接受到消息的长度 |
| | | * @param key 从谁哪里收到的信息 |
| | | * @callback void (*recv_callback_fn)(void **sendbuf, int *sendsize) |
| | | * sendbuf 和 sendsize是callbak_fn回调函数的返回值, 分别表示返回的数据,和返回数据的长度。 |
| | | * |
| | | * @param sec 秒 |
| | | * @param nsec 纳秒 |
| | | * |
| | | * @return 0是成功, 其他值是失败的错误码 |
| | | */ |
| | | int net_mod_socket_recvandsend_timeout(void *_socket, void **recvbuf, int *recvsize, int *key, recv_callback_fn callback, |
| | | int sec, int nsec ) ; |
| | | |
| | | |
| | | /** |
| | | * @brief 接受消息,并把callback函数返回的数据发送回对方,无论成功与否立刻返回 |
| | | * |
| | | * @param recvbuf 接受到的消息存放的缓存地址,该buf使用完成后需要手动释放 |
| | | * @param recvsize 接受到消息的长度 |
| | | * @param key 从谁哪里收到的信息 |
| | | * @callback void (*recv_callback_fn)(void **sendbuf, int *sendsize) |
| | | * sendbuf 和 sendsize是callbak_fn回调函数的返回值, 分别表示返回的数据,和返回数据的长度。 |
| | | * |
| | | * @return 0是成功, 其他值是失败的错误码 |
| | | */ |
| | | int net_mod_socket_recvandsend_nowait(void *_socket, void **recvbuf, int *recvsize, int *key, recv_callback_fn callback) ; |
| | | |
| | | |
| | | |
| | | /** |
| | | * @brief 跨机器发送消息并接受返回的应答消息,直到发送完成才返回 |
| | |
| | | net_mod_recv_msg_t ** recv_arr, int *recv_arr_size, int timeout); |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * @brief 接受消息,并把callback函数返回的数据发送回对方,一直等待完成 |
| | | * |
| | | * @callback void (*recvandsend_callback_wrapper_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data) |
| | | * @recvbuf 收到的数据, 该recvbuf使用完成后需要手动释放 |
| | | * @recvsize 收到的数据的大小 |
| | | * @key 接受数据并发送数据的对象 |
| | | * @sendbuf 存储返回值的地址,表示返回的数据 |
| | | * @sendsize 存储返回值的地址, 返回数据的长度 |
| | | * |
| | | * @return 0是成功, 其他值是失败的错误码 |
| | | */ |
| | | int net_mod_socket_recvandsend(void *_socket, recvandsend_callback_wrapper_fn callback, void * user_data); |
| | | |
| | | /** |
| | | * @brief 接受消息,并把callback函数返回的数据发送回对方,在指定的时间内即使没有完成也返回 |
| | | * |
| | | * @callback void (*recvandsend_callback_wrapper_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data) |
| | | * @recvbuf 收到的数据, 该recvbuf使用完成后需要手动释放 |
| | | * @recvsize 收到的数据的大小 |
| | | * @key 接受数据并发送数据的对象 |
| | | * @sendbuf 存储返回值的地址,表示返回的数据 |
| | | * @sendsize 存储返回值的地址, 返回数据的长度 |
| | | * |
| | | * @param sec 秒 |
| | | * @param nsec 纳秒 |
| | | * |
| | | * @return 0是成功, 其他值是失败的错误码 |
| | | */ |
| | | int net_mod_socket_recvandsend_timeout(void *_socket, recvandsend_callback_wrapper_fn callback, |
| | | int sec, int nsec, void * user_data ) ; |
| | | |
| | | |
| | | /** |
| | | * @brief 接受消息,并把callback函数返回的数据发送回对方,无论成功与否立刻返回 |
| | | * |
| | | * @callback void (*recvandsend_callback_wrapper_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data) |
| | | * @recvbuf 收到的数据, 该recvbuf使用完成后需要手动释放 |
| | | * @recvsize 收到的数据的大小 |
| | | * @key 接受数据并发送数据的对象 |
| | | * @sendbuf 存储返回值的地址,表示返回的数据 |
| | | * @sendsize 存储返回值的地址, 返回数据的长度 |
| | | * |
| | | * @return 0是成功, 其他值是失败的错误码 |
| | | */ |
| | | int net_mod_socket_recvandsend_nowait(void *_socket, recvandsend_callback_wrapper_fn callback, void * user_data) ; |
| | | |
| | | |
| | | /** |
| | | * @brief 跨机器发送消息并接受返回的应答消息,不管是否发送完成立刻返回 |
| | | * |
| | |
| | | * |
| | | * @return 成功发布的节点的个数 |
| | | */ |
| | | int net_mod_socket_pub(void *_sockt, net_node_t *node_arr, int node_arr_len, char *topic, int topic_size, void *content, int content_size); |
| | | int net_mod_socket_pub(void *_sockt, net_node_t *node_arr, int node_arr_len, const char *topic, int topic_size, const void *content, int content_size); |
| | | |
| | | |
| | | /** |
| | |
| | | * |
| | | * @return 成功发布的节点的个数 |
| | | */ |
| | | int net_mod_socket_pub_timeout(void *_sockt, net_node_t *node_arr, int node_arr_len, char *topic, int topic_size, void *content, int content_size, int msec); |
| | | int net_mod_socket_pub_timeout(void *_sockt, net_node_t *node_arr, int node_arr_len, const char *topic, int topic_size, const void *content, int content_size, int msec); |
| | | |
| | | |
| | | /** |
| | |
| | | * |
| | | * @return 成功发布的节点的个数 |
| | | */ |
| | | int net_mod_socket_pub_nowait(void *_sockt, net_node_t *node_arr, int node_arr_len, char *topic, int topic_size, void *content, int content_size); |
| | | int net_mod_socket_pub_nowait(void *_sockt, net_node_t *node_arr, int node_arr_len, const char *topic, int topic_size, const void *content, int content_size); |
| | | |
| | | /** |
| | | * @brief 订阅感兴趣主题的消息 |