Added a cleanup interface for queue

This commit is contained in:
mutouyun 2024-11-17 17:36:09 +08:00
parent 5071fb5db6
commit 29678f1d41
2 changed files with 315 additions and 304 deletions

View File

@ -55,6 +55,10 @@ public:
queue_conn(const queue_conn&) = delete;
queue_conn& operator=(const queue_conn&) = delete;
void clear() noexcept {
elems_h_.clear();
}
bool connected() const noexcept {
return connected_ != 0;
}

View File

@ -302,3 +302,10 @@ TEST(Queue, prod_cons_NvN_broadcast) {
test_sr(elems_t<ipc::relat::multi , ipc::relat::multi , ipc::trans::broadcast>{}, i, i, "mmb");
}
}
TEST(Queue, clear) {
queue_t<ipc::relat::single, ipc::relat::single, ipc::trans::unicast> que{"test-queue-clear"};
EXPECT_TRUE(ipc_ut::expect_exist("test-queue-clear", true));
que.clear();
EXPECT_TRUE(ipc_ut::expect_exist("test-queue-clear", false));
}