Fast DDS  Version 3.3.0
Fast DDS
Loading...
Searching...
No Matches
eprosima::fastdds::dds::rpc Namespace Reference

Classes

class  RemoteInvalidArgumentError
 Exception thrown by the RPC API when the server reports invalid arguments. More...
 
class  RemoteOutOfResourcesError
 Exception thrown by the RPC API when the server reports out of resources. More...
 
class  RemoteUnknownExceptionError
 Exception thrown by the RPC API when the service implementation raises an unspecified exception. More...
 
class  RemoteUnknownOperationError
 Exception thrown by the RPC API when the server does not recognize the invoked operation. More...
 
class  RemoteUnsupportedError
 Exception thrown by the RPC API when the server reports an unsupported operation. More...
 
class  Replier
 Base class for a Replier in the RPC communication. More...
 
class  Requester
 Base class for a Requester in the RPC communication. More...
 
class  RpcBrokenPipeException
 Exception thrown by the RPC API when the communication with the remote endpoint breaks. More...
 
class  RpcClientReader
 An interface for a client-side RPC reader. More...
 
class  RpcClientWriter
 An interface for a client-side RPC writer. More...
 
class  RPCEntity
 Abstract base class for all RPC Objects. More...
 
class  RpcException
 Base class for all exceptions thrown by the RPC API. More...
 
class  RpcFeedCancelledException
 Exception thrown by the RPC API when the client cancels an input feed. More...
 
class  RpcOperationError
 Base class for exceptions thrown by the RPC API when the server communicates an error. More...
 
class  RpcRemoteException
 Base class for exceptions that map to a RpcExceptionCode_t. More...
 
class  RpcRequest
 An interface with generic RPC requests functionality. More...
 
class  RpcServer
 An interface with generic RPC server functionality. More...
 
class  RpcServerReader
 An interface for a server-side RPC reader. More...
 
class  RpcServerSchedulingStrategy
 An interface with generic RPC requests functionality. More...
 
class  RpcServerWriter
 An interface for a server-side RPC writer. More...
 
class  RpcTimeoutException
 Exception thrown by the RPC API when an operation times out. More...
 
class  Service
 Base class for a Service in the RPC communication. More...
 
class  ServiceTypeSupport
 

Typedefs

template<typename T >
using RpcFuture = std::future< T >
 
using RpcStatusCode = uint32_t
 Status codes for RPC operations.
 
using RequestInfo = SampleInfo
 

Enumerations

enum class  RemoteExceptionCode_t : int32_t {
  REMOTE_EX_OK , REMOTE_EX_UNSUPPORTED , REMOTE_EX_INVALID_ARGUMENT , REMOTE_EX_OUT_OF_RESOURCES ,
  REMOTE_EX_UNKNOWN_OPERATION , REMOTE_EX_UNKNOWN_EXCEPTION
}
 Enumeration of possible error codes that can be returned by a remote service. More...
 

Functions

FASTDDS_EXPORTED_API void register_RpcException_type_identifier (eprosima::fastdds::dds::xtypes::TypeIdentifierPair &type_ids)
 Register RpcException related TypeIdentifier.
 
FASTDDS_EXPORTED_API void register_RpcBrokenPipeException_type_identifier (eprosima::fastdds::dds::xtypes::TypeIdentifierPair &type_ids)
 Register RpcBrokenPipeException related TypeIdentifier.
 
FASTDDS_EXPORTED_API void register_RpcStatusCode_type_identifier (eprosima::fastdds::dds::xtypes::TypeIdentifierPair &type_ids)
 Register RpcStatusCode related TypeIdentifier.
 
FASTDDS_EXPORTED_API void register_RpcFeedCancelledException_type_identifier (eprosima::fastdds::dds::xtypes::TypeIdentifierPair &type_ids)
 Register RpcFeedCancelledException related TypeIdentifier.
 
FASTDDS_EXPORTED_API void register_RpcOperationError_type_identifier (eprosima::fastdds::dds::xtypes::TypeIdentifierPair &type_ids)
 Register RpcOperationError related TypeIdentifier.
 
FASTDDS_EXPORTED_API void register_RemoteExceptionCode_t_type_identifier (eprosima::fastdds::dds::xtypes::TypeIdentifierPair &type_ids)
 Register RemoteExceptionCode_t related TypeIdentifier.
 
FASTDDS_EXPORTED_API void register_RpcRemoteException_type_identifier (eprosima::fastdds::dds::xtypes::TypeIdentifierPair &type_ids)
 Register RpcRemoteException related TypeIdentifier.
 
FASTDDS_EXPORTED_API void register_RpcTimeoutException_type_identifier (eprosima::fastdds::dds::xtypes::TypeIdentifierPair &type_ids)
 Register RpcTimeoutException related TypeIdentifier.
 

Variables

constexpr RpcStatusCode RPC_STATUS_CODE_OK = 0
 Status code for successful operations.
 

Typedef Documentation

◆ RequestInfo

◆ RpcFuture

template<typename T >
using RpcFuture = std::future<T>

◆ RpcStatusCode

using RpcStatusCode = uint32_t

Status codes for RPC operations.

Enumeration Type Documentation

◆ RemoteExceptionCode_t

enum class RemoteExceptionCode_t : int32_t
strong

Enumeration of possible error codes that can be returned by a remote service.

Extracted from DDS-RPC v1.0 - 7.5.2 Mapping of Error Codes.

Enumerator
REMOTE_EX_OK 

The request was executed successfully.

REMOTE_EX_UNSUPPORTED 

Operation is valid but it is unsupported (a.k.a. not implemented).

REMOTE_EX_INVALID_ARGUMENT 

The value of a parameter passed has an illegal value.

REMOTE_EX_OUT_OF_RESOURCES 

The remote service ran out of resources while processing the request.

REMOTE_EX_UNKNOWN_OPERATION 

The operation called is unknown.

REMOTE_EX_UNKNOWN_EXCEPTION 

A generic, unspecified exception was raised by the service implementation.

Function Documentation

◆ register_RemoteExceptionCode_t_type_identifier()

FASTDDS_EXPORTED_API void register_RemoteExceptionCode_t_type_identifier ( eprosima::fastdds::dds::xtypes::TypeIdentifierPair type_ids)

Register RemoteExceptionCode_t related TypeIdentifier.

Fully-descriptive TypeIdentifiers are directly registered. Hash TypeIdentifiers require to fill the TypeObject information and hash it, consequently, the TypeObject is indirectly registered as well.

Parameters
[out]type_idsTypeIdentifier of the registered type. The returned TypeIdentifier corresponds to the complete TypeIdentifier in case of hashed TypeIdentifiers. Invalid TypeIdentifier is returned in case of error.

◆ register_RpcBrokenPipeException_type_identifier()

FASTDDS_EXPORTED_API void register_RpcBrokenPipeException_type_identifier ( eprosima::fastdds::dds::xtypes::TypeIdentifierPair type_ids)

Register RpcBrokenPipeException related TypeIdentifier.

Fully-descriptive TypeIdentifiers are directly registered. Hash TypeIdentifiers require to fill the TypeObject information and hash it, consequently, the TypeObject is indirectly registered as well.

Parameters
[out]type_idsTypeIdentifier of the registered type. The returned TypeIdentifier corresponds to the complete TypeIdentifier in case of hashed TypeIdentifiers. Invalid TypeIdentifier is returned in case of error.

◆ register_RpcException_type_identifier()

FASTDDS_EXPORTED_API void register_RpcException_type_identifier ( eprosima::fastdds::dds::xtypes::TypeIdentifierPair type_ids)

Register RpcException related TypeIdentifier.

Fully-descriptive TypeIdentifiers are directly registered. Hash TypeIdentifiers require to fill the TypeObject information and hash it, consequently, the TypeObject is indirectly registered as well.

Parameters
[out]type_idsTypeIdentifier of the registered type. The returned TypeIdentifier corresponds to the complete TypeIdentifier in case of hashed TypeIdentifiers. Invalid TypeIdentifier is returned in case of error.

◆ register_RpcFeedCancelledException_type_identifier()

FASTDDS_EXPORTED_API void register_RpcFeedCancelledException_type_identifier ( eprosima::fastdds::dds::xtypes::TypeIdentifierPair type_ids)

Register RpcFeedCancelledException related TypeIdentifier.

Fully-descriptive TypeIdentifiers are directly registered. Hash TypeIdentifiers require to fill the TypeObject information and hash it, consequently, the TypeObject is indirectly registered as well.

Parameters
[out]type_idsTypeIdentifier of the registered type. The returned TypeIdentifier corresponds to the complete TypeIdentifier in case of hashed TypeIdentifiers. Invalid TypeIdentifier is returned in case of error.

◆ register_RpcOperationError_type_identifier()

FASTDDS_EXPORTED_API void register_RpcOperationError_type_identifier ( eprosima::fastdds::dds::xtypes::TypeIdentifierPair type_ids)

Register RpcOperationError related TypeIdentifier.

Fully-descriptive TypeIdentifiers are directly registered. Hash TypeIdentifiers require to fill the TypeObject information and hash it, consequently, the TypeObject is indirectly registered as well.

Parameters
[out]type_idsTypeIdentifier of the registered type. The returned TypeIdentifier corresponds to the complete TypeIdentifier in case of hashed TypeIdentifiers. Invalid TypeIdentifier is returned in case of error.

◆ register_RpcRemoteException_type_identifier()

FASTDDS_EXPORTED_API void register_RpcRemoteException_type_identifier ( eprosima::fastdds::dds::xtypes::TypeIdentifierPair type_ids)

Register RpcRemoteException related TypeIdentifier.

Fully-descriptive TypeIdentifiers are directly registered. Hash TypeIdentifiers require to fill the TypeObject information and hash it, consequently, the TypeObject is indirectly registered as well.

Parameters
[out]type_idsTypeIdentifier of the registered type. The returned TypeIdentifier corresponds to the complete TypeIdentifier in case of hashed TypeIdentifiers. Invalid TypeIdentifier is returned in case of error.

◆ register_RpcStatusCode_type_identifier()

FASTDDS_EXPORTED_API void register_RpcStatusCode_type_identifier ( eprosima::fastdds::dds::xtypes::TypeIdentifierPair type_ids)

Register RpcStatusCode related TypeIdentifier.

Fully-descriptive TypeIdentifiers are directly registered. Hash TypeIdentifiers require to fill the TypeObject information and hash it, consequently, the TypeObject is indirectly registered as well.

Parameters
[out]type_idsTypeIdentifier of the registered type. The returned TypeIdentifier corresponds to the complete TypeIdentifier in case of hashed TypeIdentifiers. Invalid TypeIdentifier is returned in case of error.

◆ register_RpcTimeoutException_type_identifier()

FASTDDS_EXPORTED_API void register_RpcTimeoutException_type_identifier ( eprosima::fastdds::dds::xtypes::TypeIdentifierPair type_ids)

Register RpcTimeoutException related TypeIdentifier.

Fully-descriptive TypeIdentifiers are directly registered. Hash TypeIdentifiers require to fill the TypeObject information and hash it, consequently, the TypeObject is indirectly registered as well.

Parameters
[out]type_idsTypeIdentifier of the registered type. The returned TypeIdentifier corresponds to the complete TypeIdentifier in case of hashed TypeIdentifiers. Invalid TypeIdentifier is returned in case of error.

Variable Documentation

◆ RPC_STATUS_CODE_OK

constexpr RpcStatusCode RPC_STATUS_CODE_OK = 0
constexpr

Status code for successful operations.