Jump to content
OpenSplice DDS Forum
mvaraprasadbabu

is it possible to send partial structure in a topic

Recommended Posts

hi,

I have  a structure in structure in a idl file.

i have created a single topic , now is it possible to send a partial structure in a topic so as to reduce the load on the network.is there any example of this.

Thanks in advance.

regards

varaprasad

Share this post


Link to post
Share on other sites

Hi

 

No, it is not possible to send a partial structure because DDS Samples of Topics are sent atomically (i.e. as a whole).

 

If you need to reduce the load on the network, you probably need to separate the structure out in multiple separate smaller structures and use keys and foreign keys to relate them.  It is very much the same thought process as when designing a database - avoiding large storage problems and preventing update anomalies etc. 

 

There is a good resource on the subject here: http://www.prismtech.com/products/vortex/resources/demand-webcasts/art-and-science-dds-data-modeling

 

Hope that helps

James

Share this post


Link to post
Share on other sites

Note also that our latest commercially-supported version also supports the usage of Google-protocol-buffers (GPB) as an alternative for using OMG-IDL. And by using optional fields you CAN send partially filled samples.

Share this post


Link to post
Share on other sites

Hi Hans,

 

I'm evaluating Opensplice and I am trying to figure out how to use optional members. I have tried editing the Helloworld.idl to read "long usedID; //@Optional" but the generated code produced by iplpp -l cpp doesn't appear to change at all.

 

I have also come across dds::core::optional class which I assume I would get used however I cant seem to find any examples anywhere.

 

Am I using the correct @Optional flag? Is the @Optional flag supported by iplpp? Do I need to create the Cpp manually? If so are there any examples?

 

Many Thanks,

 

Matt

 

P.s. I am evaluating using Community edition of OpenSplice 6.4 and the Eval version of the commercial 6.6.2 both on Win 32

Share this post


Link to post
Share on other sites

I'm trying to figure out the same issue.    I've tried every format I can think of to use the @optional but nothing changes in the generated code.


module HelloWorld
{
	struct Msg
	{
		long id;
		long counter; //@Optional
		long counter; //@optional
		@optional long counter;
		@Optional long counter;
	};
	#pragma keylist Msg id
};

Of the different methods, the last produces an error.  The rest seem to compile cleanly, but have no effect.

I'm using Community edition 6.7.

Share this post


Link to post
Share on other sites

OpenSplice today supports GPB (Google Protocol Buffers) rather than X-types.

We found that more people are familiar with GPB  .. please check-out the bundled documentation on GPB (OpenSplice_GPBTutorial.pdf) on how to use this

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...