Skip to content

Commit e6584e7

Browse files
committed
Merge branch 'main' into loaned-mut
2 parents 2bd3b5e + 2962e51 commit e6584e7

File tree

6 files changed

+45
-27
lines changed

6 files changed

+45
-27
lines changed

docs/pubsub.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ Subscriber example with non-blocking stream interface:
6565
.. code-block:: c++
6666

6767
#include "zenoh.hxx"
68+
#include <chrono>
6869
#include <iostream>
6970
#include <thread>
7071

examples/universal/z_get_channel_non_blocking.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include <stdio.h>
1515
#include <string.h>
1616

17+
#include <chrono>
1718
#include <condition_variable>
1819
#include <iostream>
1920
#include <thread>

tests/universal/network/liveliness.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
// ZettaScale Zenoh Team, <[email protected]>
1313
//
1414

15+
#include <chrono>
1516
#include <thread>
1617
#include <unordered_set>
1718

tests/universal/network/pub_sub.cxx

Lines changed: 40 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
// ZettaScale Zenoh Team, <[email protected]>
1313
//
1414

15+
#include <chrono>
1516
#include <thread>
1617

1718
#include "zenoh.hxx"
@@ -118,7 +119,9 @@ void put_sub_fifo_channel(Talloc& alloc) {
118119

119120
std::this_thread::sleep_for(1s);
120121

121-
auto subscriber = session2.declare_subscriber(ke, channels::FifoChannel(16));
122+
std::vector<Subscriber<channels::FifoChannel::HandlerType<Sample>>> subscribers;
123+
subscribers.push_back(session2.declare_subscriber(ke, channels::FifoChannel(16)));
124+
subscribers.push_back(session2.declare_subscriber(ke, channels::FifoChannel(16)));
122125

123126
std::this_thread::sleep_for(1s);
124127

@@ -127,24 +130,28 @@ void put_sub_fifo_channel(Talloc& alloc) {
127130

128131
std::this_thread::sleep_for(1s);
129132

130-
auto res = subscriber.handler().recv();
131-
assert(std::holds_alternative<Sample>(res));
132-
assert(std::get<Sample>(res).get_keyexpr() == "zenoh/test");
133-
assert(std::get<Sample>(res).get_payload().as_string() == "first");
134-
res = subscriber.handler().try_recv();
135-
assert(std::holds_alternative<Sample>(res));
136-
assert(std::get<Sample>(res).get_keyexpr() == "zenoh/test");
137-
assert(std::get<Sample>(res).get_payload().as_string() == "second");
138-
139-
res = subscriber.handler().try_recv();
140-
assert(std::holds_alternative<channels::RecvError>(res));
141-
assert(std::get<channels::RecvError>(res) == channels::RecvError::Z_NODATA);
133+
for (const auto& subscriber : subscribers) {
134+
auto res = subscriber.handler().recv();
135+
assert(std::holds_alternative<Sample>(res));
136+
assert(std::get<Sample>(res).get_keyexpr() == "zenoh/test");
137+
assert(std::get<Sample>(res).get_payload().as_string() == "first");
138+
res = subscriber.handler().try_recv();
139+
assert(std::holds_alternative<Sample>(res));
140+
assert(std::get<Sample>(res).get_keyexpr() == "zenoh/test");
141+
assert(std::get<Sample>(res).get_payload().as_string() == "second");
142+
143+
res = subscriber.handler().try_recv();
144+
assert(std::holds_alternative<channels::RecvError>(res));
145+
assert(std::get<channels::RecvError>(res) == channels::RecvError::Z_NODATA);
146+
}
142147

143148
/// after session close subscriber handler should become disconnected
144149
session2.close();
145-
res = subscriber.handler().recv();
146-
assert(std::holds_alternative<channels::RecvError>(res));
147-
assert(std::get<channels::RecvError>(res) == channels::RecvError::Z_DISCONNECTED);
150+
for (const auto& subscriber : subscribers) {
151+
auto res = subscriber.handler().recv();
152+
assert(std::holds_alternative<channels::RecvError>(res));
153+
assert(std::get<channels::RecvError>(res) == channels::RecvError::Z_DISCONNECTED);
154+
}
148155
}
149156

150157
template <typename Talloc>
@@ -155,7 +162,9 @@ void put_sub_ring_channel(Talloc& alloc) {
155162

156163
std::this_thread::sleep_for(1s);
157164

158-
auto subscriber = session2.declare_subscriber(ke, channels::RingChannel(1));
165+
std::vector<Subscriber<channels::RingChannel::HandlerType<Sample>>> subscribers;
166+
subscribers.push_back(session2.declare_subscriber(ke, channels::RingChannel(1)));
167+
subscribers.push_back(session2.declare_subscriber(ke, channels::RingChannel(1)));
159168

160169
std::this_thread::sleep_for(1s);
161170

@@ -164,20 +173,24 @@ void put_sub_ring_channel(Talloc& alloc) {
164173

165174
std::this_thread::sleep_for(1s);
166175

167-
auto res = subscriber.handler().recv();
168-
assert(std::holds_alternative<Sample>(res));
169-
assert(std::get<Sample>(res).get_keyexpr() == "zenoh/test");
170-
assert(std::get<Sample>(res).get_payload().as_string() == "second");
176+
for (const auto& subscriber : subscribers) {
177+
auto res = subscriber.handler().recv();
178+
assert(std::holds_alternative<Sample>(res));
179+
assert(std::get<Sample>(res).get_keyexpr() == "zenoh/test");
180+
assert(std::get<Sample>(res).get_payload().as_string() == "second");
171181

172-
res = subscriber.handler().try_recv();
173-
assert(std::holds_alternative<channels::RecvError>(res));
174-
assert(std::get<channels::RecvError>(res) == channels::RecvError::Z_NODATA);
182+
res = subscriber.handler().try_recv();
183+
assert(std::holds_alternative<channels::RecvError>(res));
184+
assert(std::get<channels::RecvError>(res) == channels::RecvError::Z_NODATA);
185+
}
175186

176187
/// after session close subscriber handler should become disconnected
177188
session2.close();
178-
res = subscriber.handler().recv();
179-
assert(std::holds_alternative<channels::RecvError>(res));
180-
assert(std::get<channels::RecvError>(res) == channels::RecvError::Z_DISCONNECTED);
189+
for (const auto& subscriber : subscribers) {
190+
auto res = subscriber.handler().recv();
191+
assert(std::holds_alternative<channels::RecvError>(res));
192+
assert(std::get<channels::RecvError>(res) == channels::RecvError::Z_DISCONNECTED);
193+
}
181194
}
182195

183196
template <typename Talloc, bool share_alloc = true>

tests/universal/network/queryable_get.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
// ZettaScale Zenoh Team, <[email protected]>
1313
//
1414

15+
#include <chrono>
1516
#include <thread>
1617

1718
#include "zenoh.hxx"

tests/zenohc/shm_api.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
// ZettaScale Zenoh Team, <[email protected]>
1313
//
1414

15+
#include <chrono>
1516
#include <thread>
1617
#include <unordered_set>
1718

0 commit comments

Comments
 (0)