ZettaScale Knowledge Base ZettaScale Knowledge Base

  • Home
  • DDS Products
    • DDS Overview and Concepts
    • OpenSplice DDS
      • OpenSplice DDS
        • OpenSplice FAQ
        • Why OpenSplice DDS?
        • Installation
          • OpenSplice Licensing FAQ
        • Best Practice and Possible Errors
        • API and IDL
        • Configuration
        • Networking
          • DDSI
          • RT Networking
        • Durability Service
        • DDS Security
        • Logging
        • Databases and DBMS
        • Release Notes
      • OpenSplice Tools
        • Overview
        • OpenSplice Launcher
        • OpenSplice Tuner
        • OpenSplice Tester
        • Record and Replay Manager
        • MMStat
    • Cyclone DDS
  • Zenoh
  • Contact Support
Home / DDS, OpenSplice DDS, Configuration / OpenSplice Communication User Questions

OpenSplice Communication User Questions

This article contains some user submitted OpenSplice general communication questions that may prove useful to others.

See the OpenSplice documentation for more information.

Table Of Contents
    • Does OpenSplice have the ability to support many to one reliable communication?
    • When using single process and networking OpenSplice cannot reach more than one specified unique unicast IP Address.
    • How can I ensure DDS messages are only sent to one specific node.
    • When I hit a debug breakpoint in my application, the application loses the ability to communicate with OpenSplice.
  • Related


Does OpenSplice have the ability to support many to one reliable communication?

Yes, OpenSplice supports the RELIABLE OMG-DDS QoS policy that implies reliable communication between a publisher and related subscriber(s). This includes many-to-one reliable communication in such a case that there are multiple publishers (Data Writers) of a subscribed topic.


When using single process and networking OpenSplice cannot reach more than one specified unique unicast IP Address.

Example configuration:

<Partitioning>
            <GlobalPartition Address=”192.168.1.11,192.168.1.163″/>
</Partitioning>

You cannot reach more than one server on a unique unicast IP-port combination. That’s generically true for all UDP/TCP based services and not a limitation of our product. Changing the address to broad/multicast in the above scenario should allow the example to work the same for both deployments.


How can I ensure DDS messages are only sent to one specific node.

The easiest way to achieve this is to use Network Partitions. These partitions work as logical namespaces on the DDS allowing mapping of partition-topic combinations to a group of unicast/multicast addresses at deployment time. More information is available in the OpenSplice Deployment Guide – see the OpenSplice documentation.


When I hit a debug breakpoint in my application, the application loses the ability to communicate with OpenSplice.

Typically accompanied by all services shutting down and the Splice Daemon dying which will be visible in the ospl-error.log, this indicates OpenSplice was not able to renew its lease on time. Once that happens, applications will no longer be able to create any entities. When the application is run in single-process mode, the algorithm that updates the lease of the OpenSplice Daemon is a thread within your application. In shared memory mode that thread runs as part of the OpenSplice process and is not bound to the life-cycle of your application.

You can configure the expiry-time of the lease under //OpenSplice/Domain/Lease/ExpiryTime. By default, it is set to 20.0 seconds, but you can increase that to a couple of minutes (or even hours) for debugging purposes. Please refer to the OpenSplice Deployment guide for more information – see the OpenSplice documentation.


Related

OpenSplicefaqcommunication DDSOpenSplice DDSConfiguration
twitter logo linkedin logo
News and Events
Copyright © 2022 ZettaScale Technology Ltd. All Rights Reserved