Can I get notified when discovery process has finished?

Hey all

Does DDS have the possibility to notify a Data Writer or a Data Reader when the discovery process has finished between them. I know that I can use the DataWriterListerner and the DataReaderListener "on_subscription_matched()" and "on_publication_matched()", but is there another way to figure out that the discovery process has finished between them or is this the only way?

Thank you!

Best regards,



Setting a DDS_DataWriter sending queue size to 1



I'm currently trying to play with the sending queue size of a DDS_DataWriter and the receiving queue size of a DDS_DataReader. What I'm trying to do is set each of the queue sizes to "1".


Unfortunately, I stumbled upon the issue that I have to set the resource_limits.max_samples > initial_samplex. So If I set max_samples  1 and the initial_samples = 0, that will fail to create the DDS_DataWriter/DDS_DataReader. 



Using String Sequences with DDS_DynamicData



I'm currently using DDS_DynamicData to map my application's type to DDS_DynamicData. However, my application also uses Arrays of strings, which I've mapped over Sequences of Strings in DDS_DynamicData. I've just stumbled upon the problem that I cannot call "DDS_DynamicData::set_string_seq" on a DDS_DynamicData object.

I already know that I can bind to the sequence and set each sequence member sepparately, but I cannot do this in my application because the data that needs to be mapped to DDS_DynamicData comes as a contiguous buffer. 


DDS_DynamicData bind_complex_member returns error when binding with member name and member ID


I'm currentlly working with nested structures. My data type looks like this:

Struct OuterStruct


    sequence<256, DDS_Long> LongSeq;

    Struct InnerStruct{

    string<256> string




I've created a DDS_DynamicData sample using the "create_data" function of the created Dynamic Data Type Support based on the type described above.


Enabling Intra-Process communication only


I am posting a new topic since I haven't really found another topic on this matter :(.

I am trying to configure my DDS application to only run intra-process. This means that if I start 2 instances of the same program, my DDS_DataWriters from one instance should not discover DDS_DataReaders from the other instance of the application. 


DataWriter callback when writer queue is available for writing


I'm have a DDS_DataWriter configured to keep history with a depth of 128. After 128 written samples, the DDS_DataWriter returns a "DDS_RETCODE_TIMEOUT" error, which is expected because the buffer is full and no DDS_DataReader has read anything from it.

Subscribe to RSS - NI