RPC over DDS  Version 1.0.3
RPC over DDS
eProsima RPC over DDS
eProsima RPC over DDS Library



eProsima RPC over DDS is a service invocation framework that enables to build distributed applications with minimal effort using the client/server paradigm. It makes transparent the remote procedure call to developer without the programmer explicitly coding the details for this remote interaction and allows developers to focus his efforts on their application logic.

eProsima RPC over DDS provides an easy way to invoke remote procedures using DDS standard as communication middleware. DDS (Data Distribution Service for Real-Time Systems) is an OMG specification of a data centric publish/subscribe communication model among real time software applications. eProsima RPC over DDS comes with all benefits that DDS standard provides as reliable and efficient communications for distributed real time systems.

eProsima RPC over DDS also brings other features:

  • Synchronous, asynchronous and one-way invocations. The synchronous invocation is the common invocation and it blocks the client’s thread until the reply is received from the server. The asynchronous invocation sends the request to the server but it doesn’t blocks the client’s thread. In the asynchronous invocation the developer provides a callback object that will be invoked when the reply is received from the server. The one-way invocation is a fire-and-forget invocation where the client does not care about the success or failure of the invocation. The one-way invocation does not expect any reply from the server.
  • eProsima RPC over DDS provides several strategies for the server. These strategies define how the server acts when a new request is received. Current supported strategies are: single-thread strategy, thread-pool strategy and thread-per-request strategy. Single-thread strategy uses one thread for all incoming requests. Thread-pool strategy uses thread-pool’s threads to process the incoming requests. Thread-per-request strategy creates a new thread for each new incoming request and this new thread will process the request.
  • eProsima RPC over DDS supports several transports that DDS will use in the communications. There are two available transports. An UDP transport that brings the powerful benefit of DDS discovery in a local network or a TCP transport that allows connections with public servers located in internet.
  • For DDS developers, eProsima RPC over DDS allows enhancing DDS with client/service communications. A developer that uses DDS in its distributed application will be able to use a service-oriented interaction too.