I just started an evaluation of Connext (rti_connext_dds-6.1.1) and I am exploring the capabilities of unbounded sequences, but I ran into a problem when my sample reaches a certain size. I modified the Hello World "getting started" example as follows: I have an IDL file that contains the following structs...
struct A {
double a1;
double a2;
double a3;
};
struct B {
uint32 b1;
uint32 b2;
uint32 b3;
};
struct C {
sequence<A> c1;
sequence<B> c2;
};
Note that the two fields of type 'C' are intentionally unbounded. I ran rtiddsgen on the IDL file using the following switches...
-language c++11
-platform x64Linux4gcc7.3.0
-create makefiles
-create typefiles
-unboundedSupport
-alwaysUseStdVector
and I used a USER_QOS_PROFILES.xml file containing the following elements (shortened and formatted for this post)...
<name>dds.data_writer.history.memory_manager.fast_pool.pool_buffer_max_size</name><value>4096</value>
<name>dds.data_reader.history.memory_manager.fast_pool.pool_buffer_max_size</name><value>4096</value>
In my publishing code I keep the sizes of the 'c1' and 'c2' fields the same for simplicity.
In my code I publish samples of type 'C' and successfully read the samples when my sequences are below a specific size, around 1800 or so, but when I make my sequences larger than that size, my subscriber no longer reads any samples. I'm pretty new to Connext and to DDS in general. Am I missing some settings that would allow larger sequences in my example? Or is there perhaps an underlying limit imposed by the RTI libraries for unbounded sequences?
Thank you.
You might want to check out this discussion of limits on unbounded sequences.
https://community.rti.com/kb/are-unbounded-sequences-really-unbounded
Let us know if this helped solve your problem, or if you need any more assistance.
Thanks for that link PK_RTI, it's helpful information. It looks like it's written for previous versions of Connext. Do you think it applies to RTI Connext 6.x as well?
While unbounded sequences were made possible to be truly unbound in ?5.2? (I'm lazy, but it's documented somewhere), one still has to configure appropriately. This applies to 6.x.x, as well.
Here's the documentation on how to configure unbounded sequences in 6.1.1:
https://community.rti.com/static/documentation/connext-dds/6.1.1/doc/manuals/connext_dds_professional/users_manual/index.htm#users_manual/Sequences.htm
Let us know how this goes.
PK