#include "usg_common.h" #include "dgram_mod_socket.h" #include "shm_socket.h" #include "shm_allocator.h" #include "mem_pool.h" #include "hashtable.h" #include "sem_util.h" #include "logger_factory.h" typedef struct dgram_mod_socket_t { socket_mod_t mod; shm_socket_t *shm_socket; // pthread_t recv_thread; // std::map * > *recv_queue_map; } dgram_mod_socket_t; void *dgram_mod_open_socket(int mod) { dgram_mod_socket_t * socket = (dgram_mod_socket_t *)calloc(1, sizeof(dgram_mod_socket_t)); socket->mod = (socket_mod_t)mod; // socket->recv_thread = 0; // socket->recv_queue_map = NULL; socket->shm_socket = shm_open_socket(SHM_SOCKET_DGRAM); return (void *)socket; } int dgram_mod_close_socket(void * _socket) { dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket; shm_close_socket(socket->shm_socket); free(_socket); } int dgram_mod_bind(void * _socket, int port){ dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket; return shm_socket_bind(socket->shm_socket, port); } int dgram_mod_sendto(void *_socket, const void *buf, const int size, const int port) { dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket; return shm_sendto(socket->shm_socket, buf, size, port); } int dgram_mod_recvfrom(void *_socket, void **buf, int *size, int *port) { dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket; return shm_recvfrom(socket->shm_socket, buf, size, port); } int dgram_mod_sendandrecv(void * _socket, const void *send_buf, const int send_size, const int send_port, void **recv_buf, int *recv_size) { dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket; return shm_sendandrecv(socket->shm_socket, send_buf, send_size, send_port, recv_buf, recv_size); }