| | |
| | | const std::string shm_name("shm_wait"); |
| | | ShmRemover auto_remove(shm_name); |
| | | SharedMemory shm(shm_name, 1024*1024); |
| | | ShmMsgQueue q(10000, shm, 64); |
| | | ShmMsgQueue q(shm, 64); |
| | | for (int i = 0; i < 5; ++i) { |
| | | int ms = i * 100; |
| | | printf("Timeout Test %d: ", ms); |
| | |
| | | |
| | | auto f0 = init_avail; |
| | | const int qlen = 64; |
| | | ShmMsgQueue srv(1, shm, qlen); |
| | | ShmMsgQueue cli(2, shm, qlen); |
| | | ShmMsgQueue srv(shm, qlen); |
| | | ShmMsgQueue cli(shm, qlen); |
| | | auto f1= shm.get_free_memory(); |
| | | |
| | | const size_t msg_length = 1000; |
| | |
| | | |
| | | auto Client = [&](int tid, int nmsg){ |
| | | for (int i = 0; i < nmsg; ++i) { |
| | | if (!cli.Send(srv.id(), msg_content.data(), msg_content.size(), 1000)) { |
| | | if (!cli.Send(srv.Id(), msg_content.data(), msg_content.size(), 1000)) { |
| | | printf("********** client send error.\n"); |
| | | continue; |
| | | } |
| | | MQId id = 0; |
| | | MQId id; |
| | | void *data = 0; |
| | | size_t size = 0; |
| | | if (!cli.Recv(id, data, size, 1000)) { |
| | |
| | | auto Server = [&](){ |
| | | void *data = 0; |
| | | size_t size = 0; |
| | | MQId src_id = 0; |
| | | MQId src_id; |
| | | while (!stop) { |
| | | if (srv.Recv(src_id, data, size, 100)) { |
| | | DEFER1(free(data)); |