| | |
| | | #include "usg_common.h" |
| | | #include "usg_typedef.h" |
| | | #include "shm_queue.h" |
| | | #include "proc_def.h" |
| | | #include "lock_free_queue.h" |
| | | #include <functional> |
| | | |
| | |
| | | #define BUS_ACTION_STOP 1 |
| | | |
| | | typedef struct shm_packet_t { |
| | | int key; |
| | | int key; |
| | | |
| | | size_t size; |
| | | void * buf; |
| | | char uuid[64]; |
| | |
| | | |
| | | typedef struct shm_socket_t { |
| | | shm_socket_type_t socket_type; |
| | | // 本地key |
| | | int key; |
| | | char proc_id[MAX_STR_LEN]; |
| | | bool force_bind; |
| | | pthread_mutex_t mutex; |
| | | |
| | |
| | | int shm_socket_bind(shm_socket_t * socket, int key) ; |
| | | |
| | | int shm_socket_force_bind(shm_socket_t * socket, int key) ; |
| | | |
| | | |
| | | int shm_socket_bind_proc_id(shm_socket_t *sockt, const char *buf, int len); |
| | | /** |
| | | * @flags : BUS_NOWAIT_FLAG |
| | | */ |
| | |
| | | int shm_sendandrecv(shm_socket_t *socket, const void *send_buf, const int send_size, const int send_key, void **recv_buf, int *recv_size, |
| | | const struct timespec * timeout = NULL, int flags = 0); |
| | | |
| | | typedef std::set<int, std::less<int>, SHM_STL_Allocator<int> > SvrProc; |
| | | typedef std::map<SHMString, SvrProc *, std::less<SHMString>, SHM_STL_Allocator<std::pair<const SHMString, SvrProc *> > > SvrTcs; |
| | | typedef std::map<int, SHMString, std::less<int>, SHM_STL_Allocator<std::pair<int, const SHMString> > > ProcPartZone; |
| | | /** |
| | | * @callback void (*recvandsend_callback_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data) |
| | | * @recvbuf 收到的数据 |
| | |
| | | const struct timespec *timeout = NULL, int flag = 0, void * user_data = NULL); |
| | | |
| | | |
| | | |
| | | |
| | | void proc_copy(char *dst, void *src, int *count); |
| | | |
| | | #endif |