Every DDS object allocated by an __alloc() operation must be released by using the DDS_free() operation. The example below shows how this works for a sequence. Declaration on Heap 1 DDS_StringSeq* query_parameters; 2 3 query_parameters = DDS_StringSeq__alloc(); 4 query_parameters-buffer = DDS_StringSeq_allocbuf (1); 5 query_parameters-buffer[0] = DDS_string_alloc (3); 6 sprintf (query_parameters-buffer[0], “%d”, numExe); 7 8 (usage?) […]
DDS
Should I use use single process or shared memory?
OpenSplice DDS V6 offers the choice of two memory modes, Shared Memory and Single Process, which should I use? OpenSplice DDS is highly configurable and when you are deploying your application you can choose to use either a shared memory architecture or a single process architecture. Both deployment modes support a configurable set of services. […]
How can I get a notification when my DataReader receives a ‘dispose’ sample?
Scenario I am trying to read samples (new, updated or disposed) using the interface on_data_available. The publisher is writing dispose and after that unregistering the instance. The subscriber is reading new or updated samples of an instance by read-method. How can I get a notification when my DataReader receives a ‘dispose’ sample? Solution When a […]
How long does published data remain in Shared Memory?
Published data in OpenSplice remains ‘stored in the shared-memory’ until there’s no usage for it anymore. This ‘usage’ can be identified as If it is part of a writer’s history on the sample that is awaiting transferring to local subscribers and/or sending over the network, If it is part of the ‘transient/persistent’ data-storage on a […]
How to launch OpenSplice Tools from Command Line
The OpenSplice Tools are Java applications. In order to start these tools you need to have Java installed and set up correctly. The easiest way to start any tool is through the OpenSplice Launcher, however they can also be started from command line as follows. Please note that the JAVA_HOME variable must be set and […]
How does shared memory usage increase with subscribers/publishers?
When a new subscriber or publisher application process is added to the node there is inevitably going to be an increase in shared memory usage as each DDS entity that is created must be added to the shared DDS administration. Therefore increasing the amount of subscribers or publishers will increase memory usage. When using shared […]
Is OpenSplice DDS compatibile with DDS from other vendors?
Yes, OpenSplice DDS is compatible with DDS from other vendors. To get OpenSplice DDS to interoperate with other vendors you will need to configure OpenSplice DDSI2 networking service. correctly. The DDSI2 service in OpenSplice has three compliance modes, pedantic, strict and lax. More details can be found in the OpenSplice Deployment Guide. DDSI2 Service Configuration. […]
How do I destroy a Content Filtered Topic using the ISO C++ API?
Memory Allocation and Deletion in ISO C++ In the ISO C++ API, memory allocation and deletion is handled automatically. Entity classes (such as the ContentFilteredTopic) contain an underlying ‘smart pointer’ to keep track of the references to that particular instance of the class. Once there are no remaining references to the instance ( i.e. it […]
How do I license OpenSplice?
The licensing software is automatically installed on the host machine when OpenSplice is installed. The licensing software comes in two parts> The binary files which are normally found in the bin directory of the installation The license file which controls which products and features are licensed. This is supplied separately by ZettaScale To license the […]
OpenSplice provides the ability to prioritize the transmission of messages.
OpenSplice supports the TRANSPORT_PRIORITY OMG-DDS QoS policy to prioritise transmission of messages. Depending on the actual TRANSPORT_PRIORITY value of the published information, the proper network-channel will automatically be selected which is pre-configured (XML-based configuration of the network-service) regarding the following attributes: PRIORITY of the channel (which is mapped against the dynamic data TRANSPORT_PRIORITY Basic socket-configuration […]
Optimising OpenSplice DDS for large object transfer.
Scenario. You want to transfer large objects across the DDS by, for example, modifying the ping pong example to send an object of size 25MB. Sending objects of this size over DDS without reconfiguring the OpenSplice daemon will cause several memory errors, ranging from networking service crashes to out of memory errors and more. In […]
How can I import and export the topic data used in the OpenSplice Tuner?
I would like to import and export the topic data used in the OpenSplice Tuner. How can I do this? How can I import and export the topic data used in the OpenSplice Tuner In addition to injecting and consuming data, OpenSplice Tuner also provides facilities to export information from OpenSplice to a file on […]
OpenSplice DDS and Wireshark
Wireshark (https://www.wireshark.org/ ) is a widely used network protocol analyser and can be used to view DDS network traffic. OpenSplice DDS supports two different pluggable network services. These are: Standard DDSI2 (RTPS) protocol Proprietary native networking (RTNetworking) protocol Standard DDSI2 (RTPS) protocol If you are using the standard DDSI2 (RTPS) protocol, Wireshark already supports this […]
Error when launching RLM server: CreateProcess failed on command line
Problem: When launching the RLM server an error is shown and the server cannot be launched. Error: CreateProcess failed on command line: “C:DDSrlmprismtech.set” -s 1760 -p “C:DDSrlm” (null) (null) (null) (null) (null) (null) This generally means that the ISV server binary (prismtech.exe) is not in the place you expect it to be: Solution: This error […]
How can I tell if RLM is using the correct license key?
If any of your applications or services return a license error saying that the service is not licensed how can you tell if it is or is not finding a license key file? There is a diagnostic tool that you can run on your machine to check node locked licenses. All you need to do […]
How do I get a permanent license key
I have been using an evaluation license key with my product. The evaluation license key has run out and now I want to get my permanent license key. I need to know how to get a permanent license key. How to get a permanent license key In order to get a permanent or subscription license […]
How to use an OpenSplice floating license
This article explains how to use a floating license to license the OpenSplice middleware. Before you can use the OpenSplice middleware you will need a permanent license key. What is a OpenSplice floating license? Normally a license key is tied to a single machine. A floating or roaming license key allows multiple users to share […]
How can I transfer my OpenSplice development license to another machine?
How can I transfer my OpenSplice development license to another machine? I recently got a new machine and need to migrate my development license to it. The development license is tied to the hostid of my old machine. Is it possible to do this? How to transfer your OpenSplice Development license It is possible to […]