| | |
| | | |
| | | # 2. 接口说明 |
| | | |
| | | shm_mm.h |
| | | shm_mm_wraper.h |
| | | ``` |
| | | /** |
| | | * 初始化共享内存 |
| | | * @size 共享内存大小, 单位M |
| | | * |
| | | */ |
| | | void shm_init(int size); |
| | | void shm_mm_wrapper_init(int size); |
| | | |
| | | /** |
| | | * 销毁共享内存 |
| | | * 整个进程退出时需要执行这个方法,该方法首先会检查是否还有其他进程在使用该共享内存,如果还有其他进程在使用就只是detach,如果没有其他进程在使用则销毁整块内存。 |
| | | */ |
| | | void shm_destroy(); |
| | | void shm_mm_wrapper_destroy(); |
| | | ``` |
| | | |
| | | dgram_mod_socket.h |
| | |
| | | #include "dgram_mod_socket.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | #include "mm.h" |
| | | |
| | |
| | | |
| | | |
| | | int main(int argc, char *argv[]) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | int port; |
| | | if (argc < 3) { |
| | | fprintf(stderr, "Usage: %s %s|%s <PORT> ...\n", argv[0], "server", "client"); |
| | |
| | | * 适应于注册 |
| | | */ |
| | | #include "dgram_mod_socket.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | |
| | | void server(int port) { |
| | |
| | | } |
| | | |
| | | int main(int argc, char *argv[]) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | int port; |
| | | if (argc < 3) { |
| | | usage(); |
| | |
| | | */ |
| | | |
| | | #include "dgram_mod_socket.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | |
| | | void server(int port) { |
| | |
| | | |
| | | |
| | | int main(int argc, char *argv[]) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | int port; |
| | | if (argc < 3) { |
| | | fprintf(stderr, "Usage: reqrep %s|%s <PORT> ...\n", "server", "client"); |
| | |
| | | #include "shm_queue_wrapper.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | |
| | | // typedef struct message_t |
| | | // { |
| | |
| | | |
| | | |
| | | int main () { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | test1(); |
| | | |
| | | //整个进程退出时需要执行这个方法,该方法首先会检查是否还有其他进程在使用该共享内存,如果还有其他进程在使用就只是detach,如果没有其他进程在使用则销毁整块内存。 |
| | | shm_destroy(); |
| | | shm_mm_wrapper_destroy(); |
| | | return 0; |
| | | } |
| | |
| | | #include "mod_socket.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | int main(int argc, char *argv[]) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | int port; |
| | | if (argc < 3) { |
| | | fprintf(stderr, "Usage: reqrep %s|%s <PORT> ...\n", "server", "client"); |
| | |
| | | if (strcmp("client", argv[1]) == 0) |
| | | client(port); |
| | | |
| | | shm_destroy(); |
| | | shm_mm_wrapper_destroy(); |
| | | // fprintf(stderr, "Usage: reqrep %s|%s <URL> ...\n", "server", "client"); |
| | | return 0; |
| | | } |
| | |
| | | #include "mod_socket.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | |
| | | void server(int port) { |
| | |
| | | |
| | | |
| | | int main(int argc, char *argv[]) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | int port; |
| | | if (argc < 3) { |
| | | fprintf(stderr, "Usage: reqrep %s|%s <PORT> ...\n", "server", "client"); |
| | |
| | | * @size 共享内存大小, 单位M |
| | | * |
| | | */ |
| | | void shm_init(int size); |
| | | void shm_mm_wrapper_init(int size); |
| | | |
| | | /** |
| | | * 销毁共享内存 |
| | | * 整个进程退出时需要执行这个方法,该方法首先会检查是否还有其他进程在使用该共享内存,如果还有其他进程在使用就只是detach,如果没有其他进程在使用则销毁整块内存。 |
| | | */ |
| | | void shm_destroy(); |
| | | void shm_mm_wrapper_destroy(); |
| | | |
| | | int shm_alloc_key(); |
| | | int shm_mm_wrapper_alloc_key(); |
| | | |
| | | |
| | | #ifdef __cplusplus |
| | |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "mem_pool.h" |
| | | #include "hashtable.h" |
| | | |
| | | void shm_init(int size) { |
| | | void shm_mm_wrapper_init(int size) { |
| | | mem_pool_init(size); |
| | | } |
| | | |
| | | void shm_destroy() { |
| | | void shm_mm_wrapper_destroy() { |
| | | mem_pool_destroy(); |
| | | } |
| | | |
| | | int shm_alloc_key() { |
| | | int shm_mm_wrapper_alloc_key() { |
| | | return mm_alloc_key(); |
| | | } |
| | |
| | | #include "usg_typedef.h" |
| | | |
| | | |
| | | #ifdef __cplusplus |
| | | extern "C" { |
| | | #endif |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | void shmqueue_free(void *ptr); |
| | | |
| | | #ifdef __cplusplus |
| | | } |
| | | #endif |
| | | |
| | | |
| | | #endif |
| | |
| | | } dgram_mod_socket_t; |
| | | |
| | | |
| | | int dgram_mod_remove_keys(int keys[], int length){ |
| | | return ShmModSocket::remove_keys(keys, length); |
| | | } |
| | | |
| | | int dgram_mod_remove_key(int key){ |
| | | int keys[] = {key}; |
| | | return ShmModSocket::remove_keys(keys, 1); |
| | | } |
| | | /** |
| | | * 创建socket |
| | | * @return socket地址 |
| | |
| | | #include "usg_common.h" |
| | | #include "usg_typedef.h" |
| | | #include "hashtable.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | |
| | | int main() { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | hashtable_t hashtable; |
| | | |
| | | hashtable_init(&hashtable); |
| | |
| | | hashtable_foreach(&hashtable, [&](int key, void * value){ |
| | | printf("%d, %p\n", key, value); |
| | | }); |
| | | shm_destroy(); |
| | | shm_mm_wrapper_destroy(); |
| | | } |
| | |
| | | #include "usg_common.h" |
| | | #include "usg_typedef.h" |
| | | #include "dgram_mod_socket.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "mm.h" |
| | | #include <typeinfo> |
| | | #include "lock_free_queue.h" |
| | | |
| | | int main() { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | LockFreeQueue<int> * queue = new LockFreeQueue<int>(16); |
| | | void * tmp = (void *)queue; |
| | | std::cout << typeid(queue).name() << std::endl; |
| | |
| | | #include "net_mod_server_socket_wrapper.h" |
| | | #include "net_mod_socket_wrapper.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | #include <getopt.h> |
| | | |
| | |
| | | |
| | | |
| | | int main(int argc, char *argv[]) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | |
| | | argument_t opt = parse_args(argc, argv); |
| | | |
| | |
| | | |
| | | |
| | | int main () { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | test1(); |
| | | |
| | | //整个进程退出时需要执行这个方法,该方法首先会检查是否还有其他进程在使用该共享内存,如果还有其他进程在使用就只是detach,如果没有其他进程在使用则销毁整块内存。 |
| | | shm_destroy(); |
| | | shm_mm_wrapper_destroy(); |
| | | return 0; |
| | | } |
| | |
| | | |
| | | |
| | | int main () { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | client(); |
| | | |
| | | //整个进程退出时需要执行这个方法,该方法首先会检查是否还有其他进程在使用该共享内存,如果还有其他进程在使用就只是detach,如果没有其他进程在使用则销毁整块内存。 |
| | | shm_destroy(); |
| | | shm_mm_wrapper_destroy(); |
| | | return 0; |
| | | } |
| | |
| | | #include "dgram_mod_socket.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | #include "mm.h" |
| | | |
| | |
| | | |
| | | |
| | | int main(int argc, char *argv[]) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | int key; |
| | | if (argc < 3) { |
| | | fprintf(stderr, "Usage: %s %s|%s|rmkey <key> ...\n", argv[0], "server", "client"); |
| | |
| | | #include "dgram_mod_socket.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | #include "lock_free_queue.h" |
| | | |
| | |
| | | |
| | | |
| | | int main(int argc, char *argv[]) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | int port; |
| | | if (argc < 3) { |
| | | fprintf(stderr, "Usage: reqrep %s|%s <PORT> ...\n", "server", "client"); |
| | |
| | | port = atoi(argv[2]); |
| | | |
| | | if (strcmp("server", argv[1]) == 0) { |
| | | // int temp = shm_alloc_key(); |
| | | // int temp = shm_mm_wrapper_alloc_key(); |
| | | // printf("tmp=%d\n", temp); |
| | | server(port); |
| | | } else if (strcmp("mclient", argv[1]) == 0) { |
| | |
| | | #include "dgram_mod_socket.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | |
| | | |
| | |
| | | void sigint_handler(int sig) { |
| | | //dgram_mod_close_socket(server_socket); |
| | | printf("===Catch sigint======================\n"); |
| | | shm_destroy(); |
| | | shm_mm_wrapper_destroy(); |
| | | exit(0); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | int main(int argc, char *argv[]) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | int port; |
| | | if (argc < 3) { |
| | | fprintf(stderr, "Usage: reqrep %s|%s <PORT> ...\n", "server", "client"); |
| | |
| | | if (strcmp("client", argv[1]) == 0) |
| | | client(port); |
| | | |
| | | shm_destroy(); |
| | | shm_mm_wrapper_destroy(); |
| | | return 0; |
| | | } |
| | |
| | | #include "shm_socket.h" |
| | | #include "usg_common.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | |
| | | #include "shm_socket.h" |
| | | #include "usg_common.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | typedef struct Targ { |
| | | int port; |
| | | int id; |
| | |
| | | } |
| | | |
| | | int main(int argc, char *argv[]) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | int port; |
| | | if (argc < 3) { |
| | | fprintf(stderr, "Usage: reqrep %s|%s <PORT> ...\n", "server", "client"); |
| | |
| | | |
| | | |
| | | |
| | | shm_destroy(); |
| | | shm_mm_wrapper_destroy(); |
| | | // fprintf(stderr, "Usage: reqrep %s|%s <URL> ...\n", "server", "client"); |
| | | return 0; |
| | | } |
| | |
| | | |
| | | |
| | | int main () { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | server(); |
| | | |
| | | //整个进程退出时需要执行这个方法,该方法首先会检查是否还有其他进程在使用该共享内存,如果还有其他进程在使用就只是detach,如果没有其他进程在使用则销毁整块内存。 |
| | | shm_destroy(); |
| | | shm_mm_wrapper_destroy(); |
| | | return 0; |
| | | } |
| | |
| | | #include "mod_socket.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | int main(int argc, char *argv[]) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | int port; |
| | | if (argc < 3) { |
| | | fprintf(stderr, "Usage: reqrep %s|%s <PORT> ...\n", "server", "client"); |
| | |
| | | if (strcmp("client", argv[1]) == 0) |
| | | client(port); |
| | | |
| | | shm_destroy(); |
| | | shm_mm_wrapper_destroy(); |
| | | // fprintf(stderr, "Usage: reqrep %s|%s <URL> ...\n", "server", "client"); |
| | | return 0; |
| | | } |
| | |
| | | #include "mod_socket.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | #include "logger_factory.h" |
| | | static Logger logger = LoggerFactory::getLogger(); |
| | |
| | | } |
| | | |
| | | int main(int argc, char *argv[]) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | int port; |
| | | if (argc < 3) { |
| | | fprintf(stderr, "Usage: reqrep %s|%s <PORT> ...\n", "server", "client"); |
| | |
| | | |
| | | if (strcmp("mclient", argv[1]) == 0) |
| | | multyThreadClient(port); |
| | | shm_destroy(); |
| | | shm_mm_wrapper_destroy(); |
| | | // fprintf(stderr, "Usage: reqrep %s|%s <URL> ...\n", "server", "client"); |
| | | return 0; |
| | | } |
| | |
| | | #include "shm_socket.h" |
| | | #include "usg_common.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | typedef struct Targ { |
| | | int port; |
| | | int id; |
| | |
| | | } |
| | | |
| | | int main(int argc, char *argv[]) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | int port; |
| | | if (argc < 3) { |
| | | fprintf(stderr, "Usage: reqrep %s|%s <PORT> ...\n", "server", "client"); |
| | |
| | | if (strcmp("mclient", argv[1]) == 0) |
| | | multyThreadClient(port); |
| | | |
| | | shm_destroy(); |
| | | shm_mm_wrapper_destroy(); |
| | | // fprintf(stderr, "Usage: reqrep %s|%s <URL> ...\n", "server", "client"); |
| | | return 0; |
| | | } |
| | |
| | | #include "mod_socket.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | |
| | | #define SERVER "server" |
| | |
| | | } |
| | | |
| | | int main(const int argc, const char **argv) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | int port; |
| | | if ((argc >= 2) && (strcmp(SERVER, argv[1]) == 0)) { |
| | | port = atoi(argv[2]); |
| | |
| | | fprintf(stderr, "Usage: survey %s|%s <URL> <ARG> ...\n", SERVER, CLIENT); |
| | | } |
| | | |
| | | shm_destroy(); |
| | | shm_mm_wrapper_destroy(); |
| | | |
| | | return 0; |
| | | } |
| | |
| | | #include "dgram_mod_socket.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | #include "lock_free_queue.h" |
| | | |
| | | int main() { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | void *socket = dgram_mod_open_socket(); |
| | | dgram_mod_close_socket(socket); |
| | | // dgram_mod_close_socket(socket); |
| | |
| | | #include "dgram_mod_socket.h" |
| | | #include "shm_mm.h" |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | |
| | | void server(int port) { |
| | |
| | | |
| | | |
| | | int main(int argc, char *argv[]) { |
| | | shm_init(512); |
| | | shm_mm_wrapper_init(512); |
| | | int port; |
| | | if (argc < 3) { |
| | | fprintf(stderr, "Usage: reqrep %s|%s <PORT> ...\n", "server", "client"); |