| | |
| | | # title of most generated pages and in a few other places. |
| | | # The default value is: My Project. |
| | | |
| | | PROJECT_NAME = "My Project" |
| | | PROJECT_NAME = "BHomeBusæ¥å£ææ¡£" |
| | | |
| | | # The PROJECT_NUMBER tag can be used to enter a project or revision number. This |
| | | # could be handy for archiving the generated documentation or if some version |
| | |
| | | # entered, it will be relative to the location where doxygen was started. If |
| | | # left blank the current directory will be used. |
| | | |
| | | OUTPUT_DIRECTORY = doxygen |
| | | OUTPUT_DIRECTORY = build/doc |
| | | |
| | | # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- |
| | | # directories (in 2 levels) under the output directory of each output format and |
| | |
| | | # shortest path that makes the file name unique will be used |
| | | # The default value is: YES. |
| | | |
| | | FULL_PATH_NAMES = YES |
| | | FULL_PATH_NAMES = NO |
| | | |
| | | # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. |
| | | # Stripping is only done if one of the specified strings matches the left-hand |
| | |
| | | # members will be omitted, etc. |
| | | # The default value is: NO. |
| | | |
| | | OPTIMIZE_OUTPUT_FOR_C = NO |
| | | OPTIMIZE_OUTPUT_FOR_C = YES |
| | | |
| | | # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or |
| | | # Python sources only. Doxygen will then generate output that is more tailored |
| | |
| | | # be included in the documentation. |
| | | # The default value is: NO. |
| | | |
| | | EXTRACT_PRIVATE = NO |
| | | EXTRACT_PRIVATE = YES |
| | | |
| | | # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal |
| | | # scope will be included in the documentation. |
| | |
| | | # included in the documentation. |
| | | # The default value is: NO. |
| | | |
| | | EXTRACT_STATIC = NO |
| | | EXTRACT_STATIC = YES |
| | | |
| | | # If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined |
| | | # locally in source files will be included in the documentation. If set to NO, |
| | |
| | | # scope will be hidden. |
| | | # The default value is: NO. |
| | | |
| | | HIDE_SCOPE_NAMES = NO |
| | | HIDE_SCOPE_NAMES = YES |
| | | |
| | | # If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will |
| | | # append additional text to a page's title, such as Class Reference. If set to |
| | |
| | | # name. If set to NO, the members will appear in declaration order. |
| | | # The default value is: YES. |
| | | |
| | | SORT_MEMBER_DOCS = YES |
| | | SORT_MEMBER_DOCS = NO |
| | | |
| | | # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief |
| | | # descriptions of file, namespace and class members alphabetically by member |
| | |
| | | # *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f, *.for, *.tcl, |
| | | # *.vhd, *.vhdl, *.ucf, *.qsf, *.as and *.js. |
| | | |
| | | FILE_PATTERNS = *.h |
| | | FILE_PATTERNS = *wrapper.h |
| | | |
| | | # The RECURSIVE tag can be used to specify whether or not subdirectories should |
| | | # be searched for input files as well. |
| | |
| | | # The default value is: YES. |
| | | # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. |
| | | |
| | | SEARCH_INCLUDES = YES |
| | | SEARCH_INCLUDES = NO |
| | | |
| | | # The INCLUDE_PATH tag can be used to specify one or more directories that |
| | | # contain include files that are not input files but should be processed by the |
| | |
| | | # The default value is: YES. |
| | | # This tag requires that the tag HAVE_DOT is set to YES. |
| | | |
| | | INCLUDE_GRAPH = YES |
| | | INCLUDE_GRAPH = NO |
| | | |
| | | # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are |
| | | # set to YES then doxygen will generate a graph for each documented file showing |
| | |
| | | # The default value is: YES. |
| | | # This tag requires that the tag HAVE_DOT is set to YES. |
| | | |
| | | INCLUDED_BY_GRAPH = YES |
| | | INCLUDED_BY_GRAPH = NO |
| | | |
| | | # If the CALL_GRAPH tag is set to YES then doxygen will generate a call |
| | | # dependency graph for every global function or class method. |
| | |
| | | # The default value is: YES. |
| | | # This tag requires that the tag HAVE_DOT is set to YES. |
| | | |
| | | DOT_CLEANUP = YES |
| | | DOT_CLEANUP = YES |
| | |
| | | |
| | | ## 1. BHomeBuså
å«çè§è² |
| | | - NetProxyServiceï¼ç½ç»ä»£çæå¡ï¼ï¼ è´è´£è·¨æºå¨è½¬ååå¸æè¯·æ±æ¶æ¯ |
| | | - BusServiceï¼ æ»çº¿æå¡ï¼: åå¸è®¢é
çè·¯ç±ï¼è´è´£è®°å½è®¢é
è
çæ¶æ¯å¹¶æåå¸è
åå¸çæ¶æ¯è½¬åç»æå
´è¶£ç订é
è
ã |
| | | - BusServiceï¼æ»çº¿æå¡ï¼: åå¸è®¢é
çè·¯ç±ï¼è´è´£è®°å½è®¢é
è
çæ¶æ¯å¹¶æåå¸è
åå¸çæ¶æ¯è½¬åç»æå
´è¶£ç订é
è
ã |
| | | - Pub/Sub Clientï¼åå¸è®¢é
客æ·ç«¯ï¼ï¼ åBusServiceå叿¶æ¯æè
å¨BusServiceä¸è®¢é
æå
´è¶£çæ¶æ¯ |
| | | - Request/Reply Client ï¼è¯·æ±åºç客æ·ç«¯ï¼ï¼åå
¶ä»æºå¨/è¿ç¨åéè¯·æ±æ¶æ¯æè
ä»å
¶ä»æºå¨/è¿ç¨æ¥ååºçæ¶æ¯ |
| | | |
| | |
| | | #include "shm_mm_wraper.h" |
| | | #include "shm_mm_wrapper.h" |
| | | #include "mem_pool.h" |
| | | #include "hashtable.h" |
| | | |
New file |
| | |
| | | /** |
| | | * @file |
| | | * |
| | | * @brief è´è´£å
±äº«å
åçå建ä¸éæ¯ |
| | | * |
| | | */ |
| | | |
| | | #ifndef __SHM_MM_H__ |
| | | #define __SHM_MM_H__ |
| | | |
| | | #ifdef __cplusplus |
| | | extern "C" { |
| | | #endif |
| | | |
| | | /** |
| | | * @brief å建并åå§åå
±äº«å
å |
| | | * @param size å
±äº«å
å大å°, åä½M |
| | | * @details å¨è¿å
¥mainæ¹æ³çæ¶åæ§è¡è¯¥æ¹æ³ï¼æ¯ä¸ªè¿ç¨åªéè¦è°ç¨ä¸æ¬¡ |
| | | */ |
| | | void shm_mm_wrapper_init(int size); |
| | | |
| | | /** |
| | | * @brief 鿝å
±äº«å
å |
| | | * @details æ´ä¸ªè¿ç¨éåºæ¶éè¦æ§è¡è¿ä¸ªæ¹æ³ï¼è¯¥æ¹æ³é¦å
伿£æ¥æ¯å¦è¿æå
¶ä»è¿ç¨å¨ä½¿ç¨è¯¥å
±äº«å
åï¼å¦æè¿æå
¶ä»è¿ç¨å¨ä½¿ç¨å°±åªæ¯detach,å¦ææ²¡æå
¶ä»è¿ç¨å¨ä½¿ç¨å鿝æ´åå
åã |
| | | */ |
| | | void shm_mm_wrapper_destroy(); |
| | | |
| | | |
| | | /** |
| | | * @brief åé
ä¸ä¸ªkeyç»ç³è¯·è
|
| | | * @return keyå¼ |
| | | */ |
| | | int shm_mm_wrapper_alloc_key(); |
| | | |
| | | |
| | | #ifdef __cplusplus |
| | | } |
| | | #endif |
| | | |
| | | #endif |
| | | |
| | |
| | | /** |
| | | * @file |
| | | * |
| | | * @brief æ»çº¿æå¡ã |
| | | * |
| | | * @details åå¸è®¢é
æå¡çè·¯ç±ï¼è´è´£è®°å½è®¢é
è
çæ¶æ¯å¹¶æåå¸è
åå¸çæ¶æ¯è½¬åç»æå
´è¶£ç订é
è
|
| | | */ |
| | | |
| | | |
| | | #ifndef _BUS_SERVER_SOCKET_WRAPPER_H_ |
| | | #define _BUS_SERVER_SOCKET_WRAPPER_H_ |
| | | |
| | |
| | | extern "C" { |
| | | #endif |
| | | |
| | | |
| | | /** |
| | | * å建 |
| | | * @brief å建 bus_server_socket |
| | | * @return bus_server_socket 奿 |
| | | */ |
| | | void * bus_server_socket_wrapper_open(); |
| | | |
| | | /** |
| | | * å
³é |
| | | * @brief 鿝 bus_server_socket |
| | | */ |
| | | void bus_server_socket_wrapper_close(void *_sockt); |
| | | |
| | | /** |
| | | * å¯å¨bus |
| | | * @brief å¯å¨bus |
| | | * |
| | | * @return 0 æåï¼ å
¶ä»å¼ 失败çé误ç |
| | | */ |
| | |
| | | |
| | | void *net_mod_server_socket_open(int port) { |
| | | printf("====net_mod_server_socket_open\n"); |
| | | net_mod_server_socket_t *sockt = (net_mod_server_socket_t *)malloc(sizeof(net_mod_server_socket_t)); |
| | | sockt->sockt = new NetModServerSocket(port); |
| | | NetModServerSocket *sockt = new NetModServerSocket(port); |
| | | return (void *)sockt; |
| | | } |
| | | |
| | | void net_mod_server_socket_close(void *_sockt) { |
| | | printf("====net_mod_server_socket_close\n"); |
| | | net_mod_server_socket_t *sockt = (net_mod_server_socket_t *)_sockt; |
| | | delete sockt->sockt; |
| | | free(sockt); |
| | | NetModServerSocket *sockt = (NetModServerSocket *)_sockt; |
| | | delete sockt; |
| | | |
| | | } |
| | | |
| | | int net_mod_server_socket_start(void *_sockt) { |
| | | net_mod_server_socket_t *sockt = (net_mod_server_socket_t *)_sockt; |
| | | return sockt->sockt->start(); |
| | | NetModServerSocket *sockt = (NetModServerSocket *)_sockt; |
| | | return sockt->start(); |
| | | } |
| | |
| | | /** |
| | | * @file |
| | | * |
| | | * @brief ç½ç»ä»£çæå¡ |
| | | * |
| | | * @details è´è´£è·¨æºå¨è½¬ååå¸æè¯·æ±æ¶æ¯ |
| | | */ |
| | | |
| | | #ifndef __NET_MOD_SERVER_SOCKET_H__ |
| | | #define __NET_MOD_SERVER_SOCKET_H__ |
| | | |
| | |
| | | #ifdef __cplusplus |
| | | extern "C" { |
| | | #endif |
| | | |
| | | struct net_mod_server_socket_t |
| | | { |
| | | NetModServerSocket *sockt; |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * å建 |
| | | * @brief å建net_mod_server_socket |
| | | * @param port 端å£å· |
| | | * @return net_mod_server_socket 奿 |
| | | */ |
| | | void *net_mod_server_socket_open(int port) ; |
| | | |
| | | /** |
| | | * å
³é |
| | | * @brief 鿝net_mod_server_socket |
| | | */ |
| | | void net_mod_server_socket_close(void *_sockt) ; |
| | | |
| | | /** |
| | | * å¯å¨ |
| | | * @brief å¯å¨æå¡ |
| | | * |
| | | * @return 0 success, å
¶ä» failture |
| | | */ |
| | | int net_mod_server_socket_start(void *_sockt); |
| | |
| | | */ |
| | | int force_bind( int key); |
| | | |
| | | |
| | | |
| | | /** |
| | | * å¦æå»ºç«è¿æ¥çèç¹æ²¡ææ¥åå°æ¶æ¯ä¼ä¸ç´çå¾
|
| | | * @brief å¦æå»ºç«è¿æ¥çèç¹æ²¡ææ¥åå°æ¶æ¯çå¾
timeoutçæ¶é´åè¿å |
| | | * |
| | | * ånode_arr ä¸çææç½ç»èç¹åéè¯·æ±æ¶æ¯ï¼èç¹çè¿åä¿¡æ¯æ±æ»å¹¶åå¨å¨recv_arrä¸ |
| | | * @node_arr ç½ç»èç¹ç», @node_arr_len该æ°ç»é¿åº¦.妿IP为空å为æ¬å°åéã |
| | | * @send_buf åéçæ¶æ¯ï¼@send_size è¯¥æ¶æ¯ä½çé¿åº¦ |
| | | * @recv_arr è¿åçåºçæ¶æ¯ç»ï¼@recv_arr_size 该æ°ç»é¿åº¦ |
| | | * @timeout çå¾
æ¶é´ï¼å使¯ååä¹ä¸ç§ |
| | | * @return æååéçèç¹çä¸ªæ° |
| | | * |
| | | * ä¼ç¹ï¼1æä¸ªèç¹çæ
éä¸ä¼é»å¡å
¶ä»èç¹ã2 æ§è½å¥½ã 3 éç¨thread localææ¯å³ä¿è¯äºçº¿ç¨å®å
¨ï¼åå¯ä»¥ä½¿ç¨è¿æ¥æ± ç¼åè¿æ¥ |
| | | */ |
| | | int sendandrecv(net_node_t *node_arr, int arrlen, void *send_buf, int send_size, |
| | | net_mod_recv_msg_t ** recv_arr, int *recv_arr_size) ; |
| | | |
| | | |
| | | /** |
| | | * å¦æå»ºç«è¿æ¥çèç¹æ²¡ææ¥åå°æ¶æ¯çå¾
timeoutçæ¶é´åè¿å |
| | | * ånode_arr ä¸çææç½ç»èç¹åéè¯·æ±æ¶æ¯ï¼èç¹çè¿åä¿¡æ¯æ±æ»å¹¶åå¨å¨recv_arrä¸ |
| | | * @node_arr ç½ç»èç¹ç», @node_arr_len该æ°ç»é¿åº¦.妿IP为空å为æ¬å°åéã |
| | | * @send_buf åéçæ¶æ¯ï¼@send_size è¯¥æ¶æ¯ä½çé¿åº¦ |
| | | * @recv_arr è¿åçåºçæ¶æ¯ç»ï¼@recv_arr_size 该æ°ç»é¿åº¦ |
| | | * @timeout çå¾
æ¶é´ï¼å使¯ååä¹ä¸ç§ |
| | | */ |
| | | * @return æååéçèç¹çä¸ªæ° |
| | | * ä¼ç¹ï¼1æä¸ªèç¹çæ
éä¸ä¼é»å¡å
¶ä»èç¹ã2 æ§è½å¥½ã 3 éç¨thread localææ¯å³ä¿è¯äºçº¿ç¨å®å
¨ï¼åå¯ä»¥ä½¿ç¨è¿æ¥æ± ç¼åè¿æ¥ |
| | | */ |
| | | int sendandrecv_timeout(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); |
| | | |
| | |
| | | */ |
| | | void * net_mod_socket_open() { |
| | | printf("=====net_mod_socket_open\n"); |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)malloc(sizeof(net_mod_socket_t)); |
| | | sockt->sockt = new NetModSocket; |
| | | NetModSocket *sockt = new NetModSocket; |
| | | return (void *)sockt; |
| | | } |
| | | |
| | |
| | | */ |
| | | void net_mod_socket_close(void *_socket) { |
| | | printf("====net_mod_socket_close\n"); |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | delete sockt->sockt; |
| | | free(sockt); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | delete sockt; |
| | | } |
| | | |
| | | |
| | |
| | | * @return 0 æåï¼ å
¶ä»å¼ 失败çé误ç |
| | | */ |
| | | int net_mod_socket_bind(void * _socket, int port){ |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->bind(port); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->bind(port); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return 0 æåï¼ å
¶ä»å¼ 失败çé误ç |
| | | */ |
| | | int net_mod_socket_force_bind(void * _socket, int port) { |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->force_bind(port); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->force_bind(port); |
| | | } |
| | | /** |
| | | * åéä¿¡æ¯ |
| | |
| | | * @return 0 æåï¼ å
¶ä»å¼ 失败çé误ç |
| | | */ |
| | | int net_mod_socket_sendto(void *_socket, const void *buf, const int size, const int port) { |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->sendto(buf, size, port); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->sendto(buf, size, port); |
| | | } |
| | | // åéä¿¡æ¯è¶
æ¶è¿åã @sec ç§ ï¼ @nsec çº³ç§ |
| | | int net_mod_socket_sendto_timeout(void *_socket, const void *buf, const int size, const int port, int sec, int nsec){ |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->sendto_timeout(buf, size, port, sec, nsec); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->sendto_timeout(buf, size, port, sec, nsec); |
| | | } |
| | | // åéä¿¡æ¯ç«å»è¿åã |
| | | int net_mod_socket_sendto_nowait(void *_socket, const void *buf, const int size, const int port){ |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->sendto_nowait(buf, size, port); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->sendto_nowait(buf, size, port); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return 0 æåï¼ å
¶ä»å¼ 失败çé误ç |
| | | */ |
| | | int net_mod_socket_recvfrom(void *_socket, void **buf, int *size, int *port){ |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->recvfrom(buf, size, port); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->recvfrom(buf, size, port); |
| | | } |
| | | // æ¥åä¿¡æ¯è¶
æ¶è¿åã @sec ç§ ï¼ @nsec çº³ç§ |
| | | int net_mod_socket_recvfrom_timeout(void *_socket, void **buf, int *size, int *port, int sec, int nsec){ |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->recvfrom_timeout(buf, size, port, sec, nsec); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->recvfrom_timeout(buf, size, port, sec, nsec); |
| | | } |
| | | int net_mod_socket_recvfrom_nowait(void *_socket, void **buf, int *size, int *port){ |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->recvfrom_nowait(buf, size, port); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->recvfrom_nowait(buf, size, port); |
| | | } |
| | | |
| | | |
| | |
| | | * ä¼ç¹ï¼1æä¸ªèç¹çæ
éä¸ä¼é»å¡å
¶ä»èç¹ã2æ§è½å¥½ |
| | | * 缺ç¹ï¼ä¸æ¯çº¿ç¨å®å
¨ç, å³ä¸è½æä¸¤ä¸ªä»¥ä¸ç线ç¨åæ¶ä½¿ç¨è¿ä¸ªå¯¹è±¡çæ¹æ³ |
| | | */ |
| | | |
| | | |
| | | //***************************************************************************** |
| | | // |
| | | //! \brief Write one byte to special register |
| | | //! |
| | | //! This function is to write one byte to LIS302DL register,one byte will be |
| | | //! writen in appointed address. |
| | | //! |
| | | //! \param node_arr specifies the target register address. |
| | | //! \param send_buf is the data written to target register. |
| | | //! |
| | | //! \return Indicate the status of operation which can be one of the following |
| | | //! value \b SUCCESS or \b FAILURE . |
| | | //! |
| | | //! \note This function is used by internal, user MUST NOT call it in your |
| | | //! Application. |
| | | // |
| | | //***************************************************************************** |
| | | 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_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->sendandrecv(node_arr, arrlen, send_buf, send_size, recv_arr, recv_arr_size); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->sendandrecv(node_arr, arrlen, send_buf, send_size, recv_arr, recv_arr_size); |
| | | } |
| | | /** |
| | | * å¦æå»ºç«è¿æ¥çèç¹æ²¡ææ¥åå°æ¶æ¯çå¾
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_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->sendandrecv_timeout(node_arr, arrlen, send_buf, send_size, recv_arr, recv_arr_size, timeout); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->sendandrecv_timeout(node_arr, arrlen, send_buf, send_size, recv_arr, recv_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_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->sendandrecv_nowait(node_arr, arrlen, send_buf, send_size, recv_arr, recv_arr_size); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->sendandrecv_nowait(node_arr, arrlen, send_buf, send_size, recv_arr, recv_arr_size); |
| | | } |
| | | |
| | | |
| | |
| | | * @return æååå¸çèç¹çä¸ªæ° |
| | | */ |
| | | int net_mod_socket_pub(void *_socket, net_node_t *node_arr, int node_arr_len, char *topic, int topic_size, void *content, int content_size) { |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->pub(node_arr, node_arr_len, topic, topic_size, content, content_size); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->pub(node_arr, node_arr_len, topic, topic_size, content, content_size); |
| | | } |
| | | int net_mod_socket_pub_timeout(void *_socket, net_node_t *node_arr, int node_arr_len, char *topic, int topic_size, void *content, int content_size, int msec){ |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->pub_timeout(node_arr, node_arr_len, topic, topic_size, content, content_size, msec); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->pub_timeout(node_arr, node_arr_len, topic, topic_size, content, content_size, msec); |
| | | } |
| | | int net_mod_socket_pub_nowait(void *_socket, net_node_t *node_arr, int node_arr_len, char *topic, int topic_size, void *content, int content_size){ |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->pub_nowait(node_arr, node_arr_len, topic, topic_size, content, content_size); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->pub_nowait(node_arr, node_arr_len, topic, topic_size, content, content_size); |
| | | } |
| | | |
| | | |
| | |
| | | * @port æ»çº¿ç«¯å£ |
| | | */ |
| | | int net_mod_socket_sub(void * _socket, void *topic, int size) { |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->sub((char *)topic, size, SHM_BUS_KEY); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->sub((char *)topic, size, SHM_BUS_KEY); |
| | | } |
| | | // è¶
æ¶è¿åã @sec ç§ ï¼ @nsec çº³ç§ |
| | | int net_mod_socket_sub_timeout(void * _socket, void *topic, int size, int sec, int nsec){ |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->sub_timeout((char *)topic, size, SHM_BUS_KEY, sec, nsec); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->sub_timeout((char *)topic, size, SHM_BUS_KEY, sec, nsec); |
| | | } |
| | | int net_mod_socket_sub_nowait(void * _socket, void *topic, int size){ |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->sub_nowait((char *)topic, size, SHM_BUS_KEY); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->sub_nowait((char *)topic, size, SHM_BUS_KEY); |
| | | } |
| | | |
| | | |
| | |
| | | * @port æ»çº¿ç«¯å£ |
| | | */ |
| | | int net_mod_socket_desub(void * _socket, void *topic, int size) { |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->desub((char *)topic, size, SHM_BUS_KEY); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->desub((char *)topic, size, SHM_BUS_KEY); |
| | | } |
| | | // è¶
æ¶è¿åã @sec ç§ ï¼ @nsec çº³ç§ |
| | | int net_mod_socket_desub_timeout(void * _socket, void *topic, int size, int sec, int nsec) { |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->desub_timeout((char *)topic, size, SHM_BUS_KEY, sec, nsec); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->desub_timeout((char *)topic, size, SHM_BUS_KEY, sec, nsec); |
| | | } |
| | | int net_mod_socket_desub_nowait(void * _socket, void *topic, int size){ |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->desub_nowait((char *)topic, size, SHM_BUS_KEY); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->desub_nowait((char *)topic, size, SHM_BUS_KEY); |
| | | } |
| | | |
| | | |
| | |
| | | * è·åsoket端å£å· |
| | | */ |
| | | int net_mod_socket_get_key(void * _socket) { |
| | | net_mod_socket_t *sockt = (net_mod_socket_t *)_socket; |
| | | return sockt->sockt->get_key(); |
| | | NetModSocket *sockt = (NetModSocket *)_socket; |
| | | return sockt->get_key(); |
| | | } |
| | | |
| | | |
| | |
| | | /** |
| | | * @file |
| | | * |
| | | * @brief åå¸è®¢é
å请æ±åºçç客æ·ç«¯ |
| | | * |
| | | * @details åBusServiceå叿¶æ¯æè
å¨BusServiceä¸è®¢é
æå
´è¶£çæ¶æ¯ |
| | | */ |
| | | |
| | | |
| | | |
| | | #ifndef __NET_MOD_SOCKET_H__ |
| | | #define __NET_MOD_SOCKET_H__ |
| | | |
| | |
| | | extern "C" { |
| | | #endif |
| | | |
| | | struct net_mod_socket_t |
| | | { |
| | | NetModSocket *sockt; |
| | | }; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /************************************************ |
| | | * å建 net_mod_socket |
| | | ***********************************************/ |
| | | /** |
| | | * @brief å建 net_mod_socket |
| | | * @return net_mod_socket 奿 |
| | | */ |
| | | void * net_mod_socket_open(); |
| | | |
| | | /************************************************ |
| | | * å
³é net_mod_socket |
| | | ***********************************************/ |
| | | /** |
| | | * @brief å
³é net_mod_socket |
| | | */ |
| | | void net_mod_socket_close(void *_sockt); |
| | | |
| | | |
| | | |
| | | /************************************************ |
| | | * ç»å®ç«¯å£å°socket, 妿ä¸ç»å®åç³»ç»èªå¨åé
ä¸ä¸ª |
| | | * @return 0 æåï¼ å
¶ä»å¼ 失败çé误ç |
| | | ***********************************************/ |
| | | /** |
| | | * @brief ç»å®ç«¯å£å°socket, 妿ä¸ç»å®åç³»ç»èªå¨åé
ä¸ä¸ª |
| | | * |
| | | * @param key ç»å®çkeyå¼ |
| | | * @return 0æ¯æåï¼å
¶ä»å¼æ¯å¤±è´¥çé误ç |
| | | */ |
| | | int net_mod_socket_bind(void * _socket, int key); |
| | | |
| | | /************************************************ |
| | | * 强å¶ç»å®ç«¯å£å°socket, éç¨äºç¨åºéæ£å¸¸å
³éçæ
åµä¸ï¼éå¯ç¨åºç»å®åæ¥è¿æ²¡éæ¾çkey |
| | | * @return 0 æåï¼ å
¶ä»å¼ 失败çé误ç |
| | | ***********************************************/ |
| | | /** |
| | | * @brief 强å¶ç»å®ç«¯å£å°socket, éç¨äºç¨åºéæ£å¸¸å
³éçæ
åµä¸ï¼éå¯ç¨åºç»å®åæ¥è¿æ²¡éæ¾çkey |
| | | * |
| | | * @return 0æ¯æåï¼ å
¶ä»å¼æ¯å¤±è´¥çé误ç |
| | | */ |
| | | int net_mod_socket_force_bind(void * _socket, int key); |
| | | |
| | | /************************************************ |
| | | * åéä¿¡æ¯,åé宿æè¿å |
| | | * @key åéç»è° |
| | | * @return 0 æåï¼ å
¶ä»å¼ 失败çé误ç |
| | | ***********************************************/ |
| | | /** |
| | | * @brief åéä¿¡æ¯,åé宿æè¿å |
| | | * |
| | | * @param buf æ¶æ¯åæ¾çç¼åå°å |
| | | * @param size æ¶æ¯é¿åº¦ |
| | | * @param param key åéç»è° |
| | | * |
| | | * @return 0æ¯æåï¼ å
¶ä»å¼æ¯å¤±è´¥çé误ç |
| | | */ |
| | | int net_mod_socket_sendto(void *_socket, const void *buf, const int size, const int key); |
| | | /************************************************ |
| | | * åéä¿¡æ¯ï¼ è¶
æ¶è¿åã @sec ç§ ï¼ @nsec çº³ç§ |
| | | ***********************************************/ |
| | | |
| | | /** |
| | | * @brief åéä¿¡æ¯ï¼å¨æå®æ¶é´å
没åé宿ä¹è¿åã |
| | | * |
| | | * @param buf æ¶æ¯åæ¾çç¼åå°å |
| | | * @param size æ¶æ¯é¿åº¦ |
| | | * @param param key åéç»è° |
| | | * @param sec ç§ |
| | | * @param nsec çº³ç§ |
| | | * |
| | | * @return 0æ¯æåï¼ å
¶ä»å¼æ¯å¤±è´¥çé误ç |
| | | */ |
| | | int net_mod_socket_sendto_timeout(void *_socket, const void *buf, const int size, const int key, int sec, int nsec); |
| | | /************************************************ |
| | | * åéä¿¡æ¯ç«å»è¿åã |
| | | ***********************************************/ |
| | | |
| | | /** |
| | | * @brief åéä¿¡æ¯ï¼æ 论æ¯å¦åé宿ç«å»è¿åã |
| | | * |
| | | * @param buf æ¶æ¯åæ¾çç¼åå°å |
| | | * @param size æ¶æ¯é¿åº¦ |
| | | * @param param key åéç»è° |
| | | * |
| | | * @return 0æ¯æåï¼ å
¶ä»å¼æ¯å¤±è´¥çé误ç |
| | | */ |
| | | int net_mod_socket_sendto_nowait(void *_socket, const void *buf, const int size, const int key); |
| | | |
| | | /************************************************ |
| | | * æ¥æ¶ä¿¡æ¯ |
| | | * @key ä»è°åªéæ¶å°çä¿¡æ¯ |
| | | * @return 0 æåï¼ å
¶ä»å¼ 失败çé误ç |
| | | ***********************************************/ |
| | | /** |
| | | * @brief çå¾
æ¥æ¶ä¿¡æ¯ï¼ç´å°ææ¶æ¯æ¥åå°æè¿å |
| | | * |
| | | * @param buf æ¥åå°çæ¶æ¯åæ¾çç¼åå°åï¼è¯¥buf使ç¨å®æåéè¦æå¨éæ¾ |
| | | * @param size æ¥åå°æ¶æ¯çé¿åº¦ |
| | | * @param key ä»è°åªéæ¶å°çä¿¡æ¯ |
| | | * |
| | | * @return 0æ¯æåï¼ å
¶ä»å¼æ¯å¤±è´¥çé误ç |
| | | */ |
| | | int net_mod_socket_recvfrom(void *_socket, void **buf, int *size, int *key); |
| | | // æ¥åä¿¡æ¯è¶
æ¶è¿åã @sec ç§ ï¼ @nsec çº³ç§ |
| | | /** |
| | | * @brief çå¾
æ¥æ¶ä¿¡æ¯ï¼å¨æå®çæ¶é´å
å³ä½¿æ²¡ææ¥åå°æ¶æ¯ä¹è¦è¿å |
| | | * |
| | | * @param buf æ¥åå°çæ¶æ¯åæ¾çç¼åå°åï¼è¯¥buf使ç¨å®æåéè¦æå¨éæ¾ |
| | | * @param size æ¥åå°æ¶æ¯çé¿åº¦ |
| | | * @param key ä»è°åªéæ¶å°çä¿¡æ¯ |
| | | * @param sec ç§ |
| | | * @param nsec çº³ç§ |
| | | * |
| | | * @return 0æ¯æåï¼ å
¶ä»å¼æ¯å¤±è´¥çé误ç |
| | | */ |
| | | int net_mod_socket_recvfrom_timeout(void *_socket, void **buf, int *size, int *key, int sec, int nsec); |
| | | |
| | | /** |
| | | * @brief çå¾
æ¥æ¶ä¿¡æ¯ï¼ç´å°ææ¶æ¯æ¥åå°æè¿å |
| | | * |
| | | * @param buf æ¥åå°çæ¶æ¯åæ¾çç¼åå°åï¼è¯¥buf使ç¨å®æåéè¦æå¨éæ¾ |
| | | * @param size æ¥åå°æ¶æ¯çé¿åº¦ |
| | | * @param key ä»è°åªéæ¶å°çä¿¡æ¯ |
| | | * |
| | | * @return 0æ¯æåï¼å
¶ä»å¼æ¯å¤±è´¥çé误ç |
| | | */ |
| | | int net_mod_socket_recvfrom_nowait(void *_socket, void **buf, int *size, int *key); |
| | | |
| | | /************************************************ |
| | | * å¦æå»ºç«è¿æ¥çèç¹æ²¡ææ¥åå°æ¶æ¯ä¼ä¸ç´çå¾
|
| | | /** |
| | | * @brief è·¨æºå¨åéæ¶æ¯å¹¶æ¥åè¿åçåºçæ¶æ¯ï¼ç´å°åé宿æè¿å |
| | | * |
| | | * ånode_arr ä¸çææç½ç»èç¹åéè¯·æ±æ¶æ¯ï¼èç¹çè¿åä¿¡æ¯æ±æ»å¹¶åå¨å¨recv_arrä¸ |
| | | * @node_arr ç½ç»èç¹ç», @node_arr_len该æ°ç»é¿åº¦.妿IP为空å为æ¬å°åéã |
| | | * @send_buf åéçæ¶æ¯ï¼@send_size è¯¥æ¶æ¯ä½çé¿åº¦ |
| | | * @recv_arr è¿åçåºçæ¶æ¯ç»ï¼@recv_arr_size 该æ°ç»é¿åº¦ |
| | | * @param node_arr ç½ç»èç¹ç», |
| | | * @param node_arr_len该æ°ç»é¿åº¦.妿IP为空å为æ¬å°åéã |
| | | * @param send_buf åéçæ¶æ¯ |
| | | * @param send_size è¯¥æ¶æ¯ä½çé¿åº¦ |
| | | * @param recv_arr è¿åçåºçæ¶æ¯æ°ç» |
| | | * @param recv_arr_size è¿åçåºçæ¶æ¯æ°ç»é¿åº¦ |
| | | * |
| | | * @return æååéçèç¹çä¸ªæ° |
| | | * ä¼ç¹ï¼1æä¸ªèç¹çæ
éä¸ä¼é»å¡å
¶ä»èç¹ã2 æ§è½å¥½ã 3 éç¨thread localææ¯å³ä¿è¯äºçº¿ç¨å®å
¨ï¼åå¯ä»¥ä½¿ç¨è¿æ¥æ± ç¼åè¿æ¥ |
| | | ***********************************************/ |
| | | int net_mod_socket_sendandrecv(void *_sockt, net_node_t *node_arr, int arrlen, void *send_buf, int send_size, |
| | | * |
| | | */ |
| | | extern int net_mod_socket_sendandrecv(void *_sockt, net_node_t *node_arr, int arrlen, void *send_buf, int send_size, |
| | | net_mod_recv_msg_t ** recv_arr, int *recv_arr_size) ; |
| | | /************************************************ |
| | | * å¦æå»ºç«è¿æ¥çèç¹æ²¡ææ¥åå°æ¶æ¯çå¾
timeoutçæ¶é´åè¿å |
| | | * @timeout çå¾
æ¶é´ï¼å使¯ååä¹ä¸ç§ |
| | | ***********************************************/ |
| | | |
| | | |
| | | /** |
| | | * @brief è·¨æºå¨åéæ¶æ¯å¹¶æ¥åè¿åçåºçæ¶æ¯ï¼å¨æå®æ¶é´å
å³ä½¿æ²¡æåé宿ä¹è¿å |
| | | * |
| | | * ånode_arr ä¸çææç½ç»èç¹åéè¯·æ±æ¶æ¯ï¼èç¹çè¿åä¿¡æ¯æ±æ»å¹¶åå¨å¨recv_arrä¸ |
| | | * @param node_arr ç½ç»èç¹ç», |
| | | * @param node_arr_len该æ°ç»é¿åº¦.妿IP为空å为æ¬å°åéã |
| | | * @param send_buf åéçæ¶æ¯ |
| | | * @param send_size è¯¥æ¶æ¯ä½çé¿åº¦ |
| | | * @param recv_arr è¿åçåºçæ¶æ¯æ°ç» |
| | | * @param recv_arr_size è¿åçåºçæ¶æ¯æ°ç»é¿åº¦ |
| | | * @param timeout çå¾
æ¶é´(豪ç§ï¼å³ååä¹ä¸ç§) |
| | | * |
| | | * @return æååéçèç¹çä¸ªæ° |
| | | * |
| | | */ |
| | | int net_mod_socket_sendandrecv_timeout(void *_sockt, 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); |
| | | |
| | | /************************************************ |
| | | * ä¸çå¾
ç«å³è¿å |
| | | ***********************************************/ |
| | | |
| | | /** |
| | | * @brief è·¨æºå¨åéæ¶æ¯å¹¶æ¥åè¿åçåºçæ¶æ¯ï¼ä¸ç®¡æ¯å¦åé宿ç«å»è¿å |
| | | * |
| | | * ånode_arr ä¸çææç½ç»èç¹åéè¯·æ±æ¶æ¯ï¼èç¹çè¿åä¿¡æ¯æ±æ»å¹¶åå¨å¨recv_arrä¸ |
| | | * @param node_arr ç½ç»èç¹ç», |
| | | * @param node_arr_len该æ°ç»é¿åº¦.妿IP为空å为æ¬å°åéã |
| | | * @param send_buf åéçæ¶æ¯ |
| | | * @param send_size è¯¥æ¶æ¯ä½çé¿åº¦ |
| | | * @param recv_arr è¿åçåºçæ¶æ¯æ°ç» |
| | | * @param recv_arr_size è¿åçåºçæ¶æ¯æ°ç»é¿åº¦ |
| | | * |
| | | * @return æååéçèç¹çä¸ªæ° |
| | | * |
| | | */ |
| | | int net_mod_socket_sendandrecv_nowait(void *_sockt, net_node_t *node_arr, int arrlen, void *send_buf, int send_size, |
| | | net_mod_recv_msg_t ** recv_arr, int *recv_arr_size) ; |
| | | |
| | | |
| | | |
| | | /************************************************ |
| | | * ånode_arr ä¸çææç½ç»èç¹å叿¶æ¯ |
| | | * @node_arr ç½ç»èç¹ç», @node_arr_len该æ°ç»é¿åº¦ |
| | | * @topic 主é¢ï¼@topic_size 该主é¢çé¿åº¦ |
| | | * @content å
容ï¼@content_size å
容é¿åº¦ |
| | | * @return æååå¸çèç¹çä¸ªæ° |
| | | ***********************************************/ |
| | | /** |
| | | * @brief ånode_arrä¸çææç½ç»èç¹å叿¶æ¯ |
| | | * |
| | | * @param node_arr ç½ç»èç¹ç», @node_arr_len该æ°ç»é¿åº¦ |
| | | * @param topic 主é¢ï¼ |
| | | * @param topic_size 该主é¢çé¿åº¦ |
| | | * @param content å
å®¹ï¼ |
| | | * @param content_size å
容é¿åº¦ |
| | | * |
| | | * @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); |
| | | /************************************************ |
| | | * å叿¶æ¯è¶
æ¶åè¿å |
| | | * @msec 毫ç§ï¼ååä¹ä¸ç§ï¼ |
| | | ***********************************************/ |
| | | |
| | | |
| | | /** |
| | | * @brief ånode_arrä¸çææç½ç»èç¹å叿¶æ¯ï¼å¨æå®æ¶é´å
å³ä½¿æ²¡æåå¸å®æä¹è¿å |
| | | * |
| | | * @param node_arr ç½ç»èç¹ç», @node_arr_len该æ°ç»é¿åº¦ |
| | | * @param topic 主é¢ï¼ |
| | | * @param topic_size 该主é¢çé¿åº¦ |
| | | * @param content å
å®¹ï¼ |
| | | * @param content_size å
容é¿åº¦ |
| | | * @param msec è¶
æ¶æ¶é´ï¼æ¯«ç§ï¼æ¢ååä¹ä¸ç§ï¼ |
| | | * |
| | | * @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); |
| | | /************************************************ |
| | | * å叿¶æ¯ä¸ç®¡æåä¸å¦ç«å»è¿å |
| | | * @msec 毫ç§ï¼ååä¹ä¸ç§ï¼ |
| | | ***********************************************/ |
| | | |
| | | |
| | | /** |
| | | * @brief ånode_arrä¸çææç½ç»èç¹å叿¶æ¯ï¼ä¸ç®¡æ¯å¦åå¸å®æç«å»è¿å |
| | | * |
| | | * @param node_arr ç½ç»èç¹ç», @node_arr_len该æ°ç»é¿åº¦ |
| | | * @param topic 主é¢ï¼ |
| | | * @param topic_size 该主é¢çé¿åº¦ |
| | | * @param content å
å®¹ï¼ |
| | | * @param content_size å
容é¿åº¦ |
| | | * |
| | | * @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); |
| | | |
| | | /************************************************ |
| | | * 订é
æå®ä¸»é¢ |
| | | * @topic ä¸»é¢ |
| | | * @size 主é¢é¿åº¦ |
| | | * @key æ»çº¿ç«¯å£ |
| | | ***********************************************/ |
| | | int net_mod_socket_sub(void * _socket, void *topic, int size); |
| | | /************************************************ |
| | | * 订é
æ¶æ¯ï¼è¶
æ¶è¿åã |
| | | * @sec ç§ ï¼ @nsec çº³ç§ |
| | | ***********************************************/ |
| | | int net_mod_socket_sub_timeout(void * _socket, void *topic, int size, int sec, int nsec); |
| | | /************************************************ |
| | | * 订é
æ¶æ¯ï¼ä¸ç®¡æåä¸å¦ç«å»è¿åã |
| | | /** |
| | | * @brief 订é
æå
´è¶£ä¸»é¢çæ¶æ¯ |
| | | * |
| | | ***********************************************/ |
| | | * @param topic ä¸»é¢ |
| | | * @param size 主é¢é¿åº¦ |
| | | * |
| | | * @return 0æ¯æåï¼å
¶ä»å¼æ¯å¤±è´¥çé误ç |
| | | * |
| | | */ |
| | | int net_mod_socket_sub(void * _socket, void *topic, int size); |
| | | |
| | | /** |
| | | * @brief 订é
æå
´è¶£ä¸»é¢çæ¶æ¯, 卿å®çæ¶é´å
å³ä½¿æªå®æè®¢é
ä¹è¿å |
| | | * |
| | | * @param topic ä¸»é¢ |
| | | * @param size 主é¢é¿åº¦ |
| | | * @param sec ç§ |
| | | * @param nsec çº³ç§ |
| | | * |
| | | * @return 0æ¯æåï¼å
¶ä»å¼æ¯å¤±è´¥çé误ç |
| | | */ |
| | | int net_mod_socket_sub_timeout(void * _socket, void *topic, int size, int sec, int nsec); |
| | | |
| | | |
| | | /** |
| | | * @brief 订é
æå
´è¶£ä¸»é¢çæ¶æ¯ï¼ä¸ç®¡æ¯å¦å®æè®¢é
ç«å»è¿å |
| | | * |
| | | * @param topic ä¸»é¢ |
| | | * @param size 主é¢é¿åº¦ |
| | | * |
| | | * @return 0æ¯æåï¼å
¶ä»å¼æ¯å¤±è´¥çé误ç |
| | | * |
| | | */ |
| | | int net_mod_socket_sub_nowait(void * _socket, void *topic, int size); |
| | | |
| | | |
| | | /************************************************ |
| | | * åæ¶è®¢é
æå®ä¸»é¢ |
| | | * @topic 主é¢,主é¢ä¸ºç©ºæ¶åæ¶å
¨é¨è®¢é
|
| | | * @size 主é¢é¿åº¦ |
| | | * @key æ»çº¿ç«¯å£ |
| | | ***********************************************/ |
| | | /** |
| | | * @brief åæ¶è®¢é
æå®ä¸»é¢ |
| | | * |
| | | * @param topic 主é¢,主é¢ä¸ºç©ºæ¶åæ¶å
¨é¨è®¢é
|
| | | * @param size 主é¢é¿åº¦ |
| | | * |
| | | * @return 0æ¯æåï¼å
¶ä»å¼æ¯å¤±è´¥çé误ç |
| | | */ |
| | | int net_mod_socket_desub(void * _socket, void *topic, int size); |
| | | /************************************************ |
| | | * åæ¶è®¢é
æå®ä¸»é¢ è¶
æ¶è¿åã |
| | | * @sec ç§ ï¼ @nsec çº³ç§ |
| | | ***********************************************/ |
| | | |
| | | |
| | | /** |
| | | * @brief åæ¶è®¢é
æå®ä¸»é¢ï¼å¨æå®æ¶é´å
å³ä½¿æªå®æåæ¶è®¢é
ä»»å¡ä¹è¿å |
| | | * |
| | | * @param topic 主é¢,主é¢ä¸ºç©ºæ¶åæ¶å
¨é¨è®¢é
|
| | | * @param size 主é¢é¿åº¦ |
| | | * @param sec ç§ |
| | | * @param nsec çº³ç§ |
| | | * |
| | | * @return 0æ¯æåï¼å
¶ä»å¼æ¯å¤±è´¥çé误ç |
| | | */ |
| | | int net_mod_socket_desub_timeout(void * _socket, void *topic, int size, int sec, int nsec); |
| | | /************************************************ |
| | | * åæ¶è®¢é
æå®ä¸»é¢ ä¸ç®¡æåä¸å¦ç«å»è¿åã |
| | | ***********************************************/ |
| | | |
| | | |
| | | /** |
| | | * @brief åæ¶è®¢é
æå®ä¸»é¢ï¼ä¸ç®¡æ¯å¦å®æåæ¶è®¢é
ä»»å¡é½è¦ç«å»è¿å |
| | | * |
| | | * @param topic 主é¢,主é¢ä¸ºç©ºæ¶åæ¶å
¨é¨è®¢é
|
| | | * @param size 主é¢é¿åº¦ |
| | | * |
| | | * @return 0æ¯æåï¼å
¶ä»å¼æ¯å¤±è´¥çé误ç |
| | | */ |
| | | int net_mod_socket_desub_nowait(void * _socket, void *topic, int size); |
| | | |
| | | |
| | | /************************************************ |
| | | * è·åsoket端å£å· |
| | | ***********************************************/ |
| | | /** |
| | | * @brief è·åsoketçkey |
| | | * @return key |
| | | */ |
| | | int net_mod_socket_get_key(void * _socket) ; |
| | | |
| | | |
| | | /************************************************ |
| | | * 鿝sendandrecvæ¹æ³è¿åçæ¶æ¯ç» |
| | | * @arr æ¶æ¯ç» |
| | | * @size æ¶æ¯ç»çé¿åº¦ |
| | | ***********************************************/ |
| | | /** |
| | | * @brief 鿝sendandrecvæ¹æ³è¿åçæ¶æ¯ç» |
| | | * |
| | | * @param arr æ¶æ¯ç» |
| | | * @param size æ¶æ¯ç»çé¿åº¦ |
| | | */ |
| | | void net_mod_socket_free_recv_msg_arr(net_mod_recv_msg_t * arr, int size); |
| | | |
| | | |
| | | /************************************************ |
| | | * éæ¾å卿¥æ¶ä¿¡æ¯çbuf |
| | | ***********************************************/ |
| | | /** |
| | | * @brief éæ¾å卿¥æ¶ä¿¡æ¯çbuf |
| | | */ |
| | | void net_mod_socket_free(void *buf) ; |
| | | |
| | | |
| | | /************************************************ |
| | | * å é¤key对åºçå
±äº«éåï¼å¹¶å¨buséå é¤è¯¥keyç订é
|
| | | ***********************************************/ |
| | | /** |
| | | * @brief å é¤key对åºçå
±äº«éåï¼å¹¶å¨buséå é¤è¯¥keyç订é
|
| | | * |
| | | * @return å é¤çkeyçæ°é |
| | | */ |
| | | int shm_mod_socket_remove_key(int key); |
| | | |
| | | /************************************************ |
| | | * æ¹éå é¤key对åºçå
±äº«éåï¼å¹¶å¨buséå é¤è¯¥keyç订é
|
| | | ***********************************************/ |
| | | /** |
| | | * @brief æ¹éå é¤key对åºçå
±äº«éåï¼å¹¶å¨buséå é¤è¯¥keyç订é
|
| | | * |
| | | * @return å é¤çkeyçæ°é |
| | | */ |
| | | int shm_mod_socket_remove_keys(int keys[], int length); |
| | | |
| | | #ifdef __cplusplus |