15 Kasım 2017 Çarşamba

DDS DataWriter Arayüzü

Giriş
Açıklaması şöyle
DDS specification says that default value of Reliability for DataWriter is RELIABLE and for DataReader is BEST_EFFORT. 
...
They only way to get reliable communication going would be to modify the DataReader QoS to use RELIABLE reliability.

Açıklaması şöyle
Why does my DDS DataReader miss the first few samples?
Discovery is not an instantaneous event. It takes some time for the discovery process between applications to complete. The DDS DataWriter and DDS DataReader must discover each other before they can start communicating. Therefore, if you send data immediately after creating the RTI Connext DDS entities, DataReaders will not receive the first few samples because they are still in-process of discovering the DataWriters and vice versa.  This is true even when the DataWriters and DataReaders are reliable, because the Reliability QoS on its own does not guarantee delivery to DataReaders that have not been discovered, yet. This is expected behavior.
write metodu
Şöyle yaparız.
dds::domain::DomainParticipant dp(0);
dds::topic::Topic<MyType> topic(dp, "MyTopic");
dds::pub::Publisher pub(dp);
dds::pub::DataWriter<MyType> dw(pub, topic);

MyType t;
dw.write(t);

Hiç yorum yok:

Yorum Gönder