wangzhengquan
2021-02-25 97b2c471cbd2d2cb9282489e632cdf8f270295e1
update
1个文件已修改
37 ■■■■ 已修改文件
test_net_socket/shm_util.cpp 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_net_socket/shm_util.cpp
@@ -532,12 +532,24 @@
  hashtable_foreach(hashtable, [&](int key, void * value){
    if(key >= 100 ) {
      mqueue = (LockFreeQueue<shm_packet_t> *)hashtable_get(hashtable, key);
      printf("%d\n", key);
      printf("%10d \t %10d\n", key, mqueue->size());
    } else {
      printf("%10d \t %10s\n", key, "");
    }
   
  });
}
void info(int key) {
  LockFreeQueue<shm_packet_t> * mqueue;
  hashtable_t *hashtable = mm_get_hashtable();
  mqueue = (LockFreeQueue<shm_packet_t> *) hashtable_get(hashtable, key);
  printf("%10s: %-10p\n", "PTR", mqueue);
  printf("%10s: %-10d\n", "KEY", key);
  printf("%10s: %-10d\n", "LENGTH", mqueue->size());
}
@@ -604,6 +616,7 @@
  fpe("./shm_util list\n");
  fpe("# remove  key 1001\n");
  fpe("./shm_util rm 1001\n");
  fpe("./shm_util info 1002\n");
  fpe("\n");
}
@@ -788,15 +801,29 @@
  else if (strcmp("list", fun) == 0 ) {
    list();
  }
  else if (strcmp("info", fun) == 0 ) {
    if(argc < 2) {
      usage(prog);
    } else {
      for(i = 1; i < argc; i++) {
        int key = atoi(argv[i]);
        info(key);
      }
    }
  }
  else if (strcmp("rm", fun) == 0 ) {
    if(argc < 2) {
      usage(prog);
      exit(1);
    } else {
       for(i = 1; i < argc; i++) {
        int key = atoi(argv[i]);
        remove(key);
      }
    }
    for(i = 1; i < argc; i++) {
      int key = atoi(argv[i]);
      remove(key);
    }
  }
  else if (strcmp("sendandrecv", fun) == 0 ) {
    if(argc < 3) {