80
82
ASSERT_EQ(0, ioctx.watch("foo", 0, &handle, &ctx));
86
TEST_F(LibRadosWatchNotifyEC, WatchNotifyTest) {
87
ASSERT_EQ(0, sem_init(&sem, 0, 0));
89
memset(buf, 0xcc, sizeof(buf));
90
ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
93
rados_watch(ioctx, "foo", 0, &handle, watch_notify_test_cb, NULL));
94
ASSERT_EQ(0, rados_notify(ioctx, "foo", 0, NULL, 0));
97
rados_unwatch(ioctx, "foo", handle);
101
TEST_F(LibRadosWatchNotifyECPP, WatchNotifyTestPP) {
102
ASSERT_EQ(0, sem_init(&sem, 0, 0));
104
memset(buf, 0xcc, sizeof(buf));
106
bl1.append(buf, sizeof(buf));
107
ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
109
WatchNotifyTestCtx ctx;
110
ASSERT_EQ(0, ioctx.watch("foo", 0, &handle, &ctx));
111
std::list<obj_watch_t> watches;
112
ASSERT_EQ(0, ioctx.list_watchers("foo", &watches));
113
ASSERT_EQ(watches.size(), 1u);
115
ASSERT_EQ(0, ioctx.notify("foo", 0, bl2));
118
ioctx.unwatch("foo", handle);
122
TEST_F(LibRadosWatchNotifyECPP, WatchNotifyTimeoutTestPP) {
123
ASSERT_EQ(0, sem_init(&sem, 0, 0));
124
ioctx.set_notify_timeout(1);
126
WatchNotifyTestCtx ctx;
129
memset(buf, 0xcc, sizeof(buf));
131
bl1.append(buf, sizeof(buf));
132
ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
134
ASSERT_EQ(0, ioctx.watch("foo", 0, &handle, &ctx));