wangzhengquan
2020-11-30 8b89e81b09adbb06f6e5e64aa115a1eef6e75b57
update
31个文件已修改
146 ■■■■ 已修改文件
README.md 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
demo/dgram_mod_bus.c 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
demo/dgram_mod_req_rep.c 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
demo/dgram_mod_survey.c 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
demo/pub_sub 补丁 | 查看 | 原始文档 | blame | 历史
demo/queue.c 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
demo/stream_mod_pub_sub.c 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
demo/stream_mod_req_rep.c 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/queue/shm_mm_wraper.h 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/queue/shm_mm_wrapper.c 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/queue/shm_queue_wrapper.h 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/socket/dgram_mod_socket.c 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test/lambda.c 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test/test_type.c 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_net_socket/test_net_mod_socket.c 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_queue/test_queue_wrapper.c 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/client 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/client.c 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/dgram_mod_bus.c 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/dgram_mod_req_rep.c 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/dgram_mod_survey.c 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/dgram_socket_test 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/dgram_socket_test.c 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/server 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/server.c 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/stream_mod_pub_sub.c 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/stream_mod_req_rep.c 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/stream_socket_test.c 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/survey.c 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/test_open_close.c 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_socket/test_timeout.c 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
README.md
@@ -131,20 +131,20 @@
# 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
demo/dgram_mod_bus.c
@@ -1,5 +1,5 @@
#include "dgram_mod_socket.h"
#include "shm_mm.h"
#include "shm_mm_wraper.h"
#include "usg_common.h"
#include "mm.h"
@@ -73,7 +73,7 @@
 
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");
demo/dgram_mod_req_rep.c
@@ -2,7 +2,7 @@
 * 适应于注册
 */
#include "dgram_mod_socket.h"
#include "shm_mm.h"
#include "shm_mm_wraper.h"
#include "usg_common.h"
void server(int port) {
@@ -41,7 +41,7 @@
}
int main(int argc, char *argv[]) {
  shm_init(512);
  shm_mm_wrapper_init(512);
  int port;
  if (argc < 3) {
    usage();
demo/dgram_mod_survey.c
@@ -3,7 +3,7 @@
 */
#include "dgram_mod_socket.h"
#include "shm_mm.h"
#include "shm_mm_wraper.h"
#include "usg_common.h"
void server(int port) {
@@ -41,7 +41,7 @@
 
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");
demo/pub_sub
Binary files differ
demo/queue.c
@@ -1,5 +1,5 @@
#include "shm_queue_wrapper.h"
#include "shm_mm.h"
#include "shm_mm_wraper.h"
// typedef struct message_t
// {
@@ -45,10 +45,10 @@
 
int main () {
    shm_init(512);
    shm_mm_wrapper_init(512);
    test1();
    //整个进程退出时需要执行这个方法,该方法首先会检查是否还有其他进程在使用该共享内存,如果还有其他进程在使用就只是detach,如果没有其他进程在使用则销毁整块内存。
    shm_destroy();
    shm_mm_wrapper_destroy();
    return 0;
}
demo/stream_mod_pub_sub.c
@@ -1,5 +1,5 @@
#include "mod_socket.h"
#include "shm_mm.h"
#include "shm_mm_wraper.h"
#include "usg_common.h"
@@ -35,7 +35,7 @@
}
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");
@@ -51,7 +51,7 @@
  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;
}
demo/stream_mod_req_rep.c
@@ -1,5 +1,5 @@
#include "mod_socket.h"
#include "shm_mm.h"
#include "shm_mm_wraper.h"
#include "usg_common.h"
void server(int port) {
@@ -39,7 +39,7 @@
 
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");
src/queue/shm_mm_wraper.h
@@ -10,15 +10,15 @@
 * @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
src/queue/shm_mm_wrapper.c
@@ -1,15 +1,15 @@
#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();
}
src/queue/shm_queue_wrapper.h
@@ -5,9 +5,6 @@
#include "usg_typedef.h"
#ifdef __cplusplus
extern "C" {
#endif
 
@@ -96,8 +93,6 @@
 */
void shmqueue_free(void *ptr);
#ifdef __cplusplus
}
#endif
#endif
src/socket/dgram_mod_socket.c
@@ -7,7 +7,14 @@
} 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地址
test/lambda.c
@@ -1,10 +1,10 @@
#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);
@@ -15,5 +15,5 @@
    hashtable_foreach(&hashtable, [&](int key, void * value){
        printf("%d, %p\n", key, value);
    });
    shm_destroy();
    shm_mm_wrapper_destroy();
}
test/test_type.c
@@ -1,13 +1,13 @@
#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;
test_net_socket/test_net_mod_socket.c
@@ -1,6 +1,6 @@
#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>
@@ -257,7 +257,7 @@
int main(int argc, char *argv[]) {
    shm_init(512);
    shm_mm_wrapper_init(512);
 
  argument_t opt = parse_args(argc, argv);
test_queue/test_queue_wrapper.c
@@ -45,10 +45,10 @@
 
int main () {
    shm_init(512);
    shm_mm_wrapper_init(512);
    test1();
    //整个进程退出时需要执行这个方法,该方法首先会检查是否还有其他进程在使用该共享内存,如果还有其他进程在使用就只是detach,如果没有其他进程在使用则销毁整块内存。
    shm_destroy();
    shm_mm_wrapper_destroy();
    return 0;
}
test_socket/client
Binary files differ
test_socket/client.c
@@ -38,10 +38,10 @@
 
int main () {
    shm_init(512);
    shm_mm_wrapper_init(512);
    client();
    //整个进程退出时需要执行这个方法,该方法首先会检查是否还有其他进程在使用该共享内存,如果还有其他进程在使用就只是detach,如果没有其他进程在使用则销毁整块内存。
    shm_destroy();
    shm_mm_wrapper_destroy();
    return 0;
}
test_socket/dgram_mod_bus.c
@@ -1,5 +1,5 @@
#include "dgram_mod_socket.h"
#include "shm_mm.h"
#include "shm_mm_wraper.h"
#include "usg_common.h"
#include "mm.h"
@@ -98,7 +98,7 @@
 
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");
test_socket/dgram_mod_req_rep.c
@@ -1,5 +1,5 @@
#include "dgram_mod_socket.h"
#include "shm_mm.h"
#include "shm_mm_wraper.h"
#include "usg_common.h"
#include "lock_free_queue.h"
@@ -150,7 +150,7 @@
 
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");
@@ -160,7 +160,7 @@
  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) {
test_socket/dgram_mod_survey.c
@@ -1,5 +1,5 @@
#include "dgram_mod_socket.h"
#include "shm_mm.h"
#include "shm_mm_wraper.h"
#include "usg_common.h"
@@ -12,7 +12,7 @@
void sigint_handler(int sig) {
   //dgram_mod_close_socket(server_socket);
  printf("===Catch sigint======================\n");
  shm_destroy();
  shm_mm_wrapper_destroy();
  exit(0);
}
@@ -106,7 +106,7 @@
}
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");
@@ -122,6 +122,6 @@
  if (strcmp("client", argv[1]) == 0)
    client(port);
  shm_destroy();
  shm_mm_wrapper_destroy();
  return 0;
}
test_socket/dgram_socket_test
Binary files differ
test_socket/dgram_socket_test.c
@@ -1,10 +1,10 @@
#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;
@@ -50,7 +50,7 @@
}
 
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");
@@ -68,7 +68,7 @@
  shm_destroy();
  shm_mm_wrapper_destroy();
 // fprintf(stderr, "Usage: reqrep %s|%s <URL> ...\n", "server", "client");
  return 0;
}
test_socket/server
Binary files differ
test_socket/server.c
@@ -35,10 +35,10 @@
 
int main () {
    shm_init(512);
    shm_mm_wrapper_init(512);
    server();
    //整个进程退出时需要执行这个方法,该方法首先会检查是否还有其他进程在使用该共享内存,如果还有其他进程在使用就只是detach,如果没有其他进程在使用则销毁整块内存。
    shm_destroy();
    shm_mm_wrapper_destroy();
    return 0;
}
test_socket/stream_mod_pub_sub.c
@@ -1,5 +1,5 @@
#include "mod_socket.h"
#include "shm_mm.h"
#include "shm_mm_wraper.h"
#include "usg_common.h"
@@ -35,7 +35,7 @@
}
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");
@@ -51,7 +51,7 @@
  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;
}
test_socket/stream_mod_req_rep.c
@@ -1,5 +1,5 @@
#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();
@@ -100,7 +100,7 @@
}
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");
@@ -118,7 +118,7 @@
  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;
}
test_socket/stream_socket_test.c
@@ -1,6 +1,6 @@
#include "shm_socket.h"
#include "usg_common.h"
#include "shm_mm.h"
#include "shm_mm_wraper.h"
typedef struct Targ {
    int port;
    int id;
@@ -142,7 +142,7 @@
}
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");
@@ -161,7 +161,7 @@
 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;
}
test_socket/survey.c
@@ -1,5 +1,5 @@
#include "mod_socket.h"
#include "shm_mm.h"
#include "shm_mm_wraper.h"
#include "usg_common.h"
#define SERVER "server"
@@ -67,7 +67,7 @@
}
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]);
@@ -80,7 +80,7 @@
    fprintf(stderr, "Usage: survey %s|%s <URL> <ARG> ...\n", SERVER, CLIENT);
  }
  shm_destroy();
  shm_mm_wrapper_destroy();
  return 0;
}
test_socket/test_open_close.c
@@ -1,10 +1,10 @@
#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);
test_socket/test_timeout.c
@@ -1,5 +1,5 @@
#include "dgram_mod_socket.h"
#include "shm_mm.h"
#include "shm_mm_wraper.h"
#include "usg_common.h"
void server(int port) {
@@ -42,7 +42,7 @@
 
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");