Exemplo n.º 1
0
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
Exemplo n.º 2
0
 *
 * 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)