| | |
| | | { |
| | | SharedMemory &shm = TestShm(); |
| | | GlobalInit(shm); |
| | | MQId server_id = ShmMsgQueue::NewId(); |
| | | MQId server_id = NewSession(); |
| | | ShmMsgQueue server(server_id, shm, 1000); |
| | | |
| | | const int timeout = 1000; |
| | |
| | | |
| | | std::string str(data_size, 'a'); |
| | | auto Writer = [&](int writer_id, uint64_t n) { |
| | | MQId cli_id = ShmMsgQueue::NewId(); |
| | | MQId cli_id = NewSession(); |
| | | |
| | | ShmMsgQueue mq(cli_id, shm, 64); |
| | | MsgI msg; |
| | | MsgI msg(shm); |
| | | MsgRequestTopic body; |
| | | body.set_topic("topic"); |
| | | body.set_data(str); |
| | |
| | | auto now = []() { return steady_clock::now(); }; |
| | | auto tm = now(); |
| | | while (*run) { |
| | | MsgI msg; |
| | | MsgI msg(shm); |
| | | BHMsgHead head; |
| | | if (mq.TryRecv(msg)) { |
| | | DEFER1(msg.Release()); |
| | |
| | | |
| | | auto Avail = [&]() { return shm.get_free_memory(); }; |
| | | auto init_avail = Avail(); |
| | | ShmSocket srv(shm, ShmMsgQueue::NewId(), qlen); |
| | | ShmSocket cli(shm, ShmMsgQueue::NewId(), qlen); |
| | | ShmSocket srv(shm, NewSession(), qlen); |
| | | ShmSocket cli(shm, NewSession(), qlen); |
| | | |
| | | int ncli = 1; |
| | | uint64_t nmsg = 1000 * 1000 * 1; |