def test_reader_takeiter(): dp = DomainParticipant(0) tp = Topic(dp, "Message", Message) sub = Subscriber(dp) pub = Publisher(dp) dr = DataReader(sub, tp) dw = DataWriter(pub, tp) msg = Message("Hello") dw.write(msg) read = False for msgr in dr.take_iter(timeout=duration(milliseconds=10)): assert not read assert msg == msgr read = True
* * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause """ from cyclonedds.core import Listener, WaitSet, ReadCondition, ViewState, SampleState, InstanceState, Qos, Policy from cyclonedds.domain import DomainParticipant from cyclonedds.topic import Topic from cyclonedds.sub import Subscriber, DataReader from cyclonedds.util import duration from vehicles import Vehicle class MyListener(Listener): def on_liveliness_changed(self, reader, status): print(">> Liveliness event") listener = MyListener() qos = Qos(Policy.Reliability.BestEffort(duration(seconds=1)), Policy.Deadline(duration(microseconds=10)), Policy.Durability.Transient, Policy.History.KeepLast(10)) domain_participant = DomainParticipant(0) topic = Topic(domain_participant, 'Vehicle', Vehicle, qos=qos) subscriber = Subscriber(domain_participant) reader = DataReader(domain_participant, topic, listener=listener) for sample in reader.take_iter(timeout=duration(seconds=2)): print(sample)