RTI Connext Modern C++ API Version 7.3.0

Remote Procedure call (RPC) communication pattern. More...

Modules

 Client-side API
 Part of the RPC API that relates to the client.
 
 Server-side API
 Part of the RPC API that relates to the Server and ServiceEndpoint.
 

Classes

class  rpc_example::RobotControl
 The synchronous interface generated from the RobotControl IDL service. More...
 
class  rpc_example::RobotControlAsync
 The asynchronous interface derived from the RobotControl service. More...
 

Detailed Description

Remote Procedure call (RPC) communication pattern.

With RPC you can write client and service applications that make and process function calls according to interfaces defined in IDL. The clients and the services communicate using DDS topics.

Warning
This feature is experimental and subject to change in future releases. It is included in this release to gather customer interest and feedback. For this reason, do not deploy any applications using Remote Procedure Calls in production. For support, you may contact suppo.nosp@m.rt@r.nosp@m.ti.co.nosp@m.m.
Note
To get started follow the RPC Tutorial.

The classes involved in RPC include types generated by rtiddsgen and supporting types in the dds::rpc and rti::rpc namespaces. This API reference assumes that an example IDL service interface is defined as follows:

exception WalkError {
string<32> message;
};
exception TooFastError {
};
@final
struct Coordinates {
int32 x;
int32 y;
};
interface RobotControl {
Coordinates walk_to(Coordinates destination, float speed)
raises(WalkError, TooFastError);
float get_speed();
attribute string<128> name;
};
const rti::core::policy::Service & service() const
<<extension>> Get the Service policy
Definition: BuiltinTopicImpl.hpp:895

From this IDL the following types are generated:

In addition, the class dds::rpc::Server provides the execution context for one or more services.

See also
RPC Tutorial