Hi
We want to define the idl with the user data (@copy). but meet to the userData constraint, that say the total of userData character into the IDL can not be more than 255 character.
How can set the "DDS_DomainParticipantQos.resource_limits.reader_user_data_max_length" ?
In the following example we get the corresponding error (the total of character can not be more than 255 character)
module IDL_Example
{
struct payload
{
float start; //@copy(//Example:2::0:Expert)
float stop; //@copy(//Example:2::0:Expert)
float step; //@copy(//Example:2::0:Expert)
string paramName; //@copy(//Example:2::0:Expert)
string paramPolicy; //@copy(//Example:2::0:Expert)
float minAverage; //@copy(//Example:2::0:Expert)
float maxAverage; //@copy(//Example:3::0:Expert)
float sum; //@copy(//Example:3::0:Expert)
string message; //@copy(//Example:3::0:Expert)
unsigned long id; //@copy(//Example:1::1:Expert)
};
};
Is there a way to set the constraint value or not?
please help our
thanks
Sorry, am a bit confused. The //@copy that you show just copies a comment, "//Example:...", into the generated code in various places.
How is this related to userData? Which I assume you're referring to the USER_DATA QoS Policy?
For what programming language are you generating the code, C++11?
If you need to change the maximum length for UserData that can be accepted for a DataReader, you just need to change the value of the QoS that you have already found:
DDS_DomainParticipantQos.resource_limits.reader_user_data_max_length
However, if you do so, you will need to do this for all DomainParticipants in your system (across all applications).
Hi my friend
I don't found the DDS_DomainParticipantQos.resource_limits.reader_user_data_max_length.
How can I set the this parameter for single application or all application?
Thank you
You need to learn about settng parameters in a QOS object and then using that object to create a DDS Entity...such as DomainParticipant.
Please see Chapter 19 of the Connext Users Manual: https://community.rti.com/static/documentation/connext-dds/6.1.1/doc/manuals/connext_dds_professional/users_manual/index.htm#users_manual/XMLConfiguration.htm
I suggest that perhaps taking a basic course in using the Connext DDS API will be useful.
QoS must be set for each DomainParticipant that is created. There is no such thing as a global setting for all participants in all applications. However, if you define and distribute a QoS Profile as described in Chapter 19 above, it will be easier for a system to have use a consistent set of QoS values when creating DDS Entities.