RTI Analyzer - No Logical Structure or Equivalent IDL Definition for certain topics

3 posts / 0 new
Last post
Frank J. Crow's picture
Offline
Last seen: 8 years 5 months ago
Joined: 04/08/2011
Posts: 12
RTI Analyzer - No Logical Structure or Equivalent IDL Definition for certain topics

I have generated a number of classes using rtiddsgen and put them in a JAR.   Everything worked great, any of my applications that used that jar would show up in RTI Analyzer and both "Logical Structure" and "Equivalent IDL Definition" would be displayed in the "Data Types" tab for all of them.

That is a very useful feature and allowed me to succesfully resolve a problem where one application had a slightly different version of one of the topics in use (the @key annotations had been removed) and that resulted in the usual problems.

Then I added another IDL to the set that defined a couple more top level topics.   I rtiddsgen'ed them along with the others, using the exact same command line options and put them in the same jar.

Everything seems to work.   Except that those 2 new topics do not have any "Logical Structure" or "Equivalent IDL Definition" in the "Data Type" tab!

Any idea what might cause that and/or how to fix that?

 

Thanks,

Frank

 

AttachmentSize
Image icon WTH1.JPG155.52 KB
Organization:
rose's picture
Offline
Last seen: 2 months 2 weeks ago
Joined: 08/22/2011
Posts: 147

Hello Frank,

 

You don't see the type information if the type description (typecode) is too large to be sent with the default discovery settings.

 

You can increase the amount of typecode that is allowed to be sent with discovery, by using the participant QoS:

 

            <participant_qos>

              <resource_limits>

                <type_code_max_serialized_length>...</type_code_max_serialized_length>

              </resource_limits>

            </participant_qos>

 

 

If you have the Monitor tool, you can see how large the typecode is by using the Monitor tool.  Turn on monitoring (as described in the monitoring library getting started guide):

 

(Also in the participant QoS)

 

            <property>

                  <value>

                    <element>

                      <name>rti.monitor.library</name>

                      <value>rtimonitoring</value>

                    </element>

                    <element>

                      <name>rti.monitor.create_function</name>

                      <value>RTIDefaultMonitor_create</value>

                    </element>

                  </value>

                </property>

View this in the tool by using the System Types Table view, and looking at the Type Code Serialized Size.
If the size is approaching 9K, you may have to increase your transport settings up to 64K.  (If you do this, though, you will have to do it everywhere, including in Analyzer.)
Thank you,
Rose

 

rose's picture
Offline
Last seen: 2 months 2 weeks ago
Joined: 08/22/2011
Posts: 147

I forgot to say that you also must increase the type code serialized length in Analyzer, too.

 

To do this, you have click on the "Configure" button.  Choose the domain you are interested in.  Click on the "Resource Limits" tab.  Increase the Type Code Max Serialized Length field from 2048 to the same size you used in your application.

 

To configure this in Monitor, you have to edit Monitor's XML file, the same way you edited your XML file.

 

Thank you,

Rose