RTI Connext TSS C++ API  Version 4.2.0
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
FACE::TSS::RTI_TATS Class Reference

<<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> The base class of TSS implemented by RTI More...

#include <Base_impl.hpp>

Inheritance diagram for FACE::TSS::RTI_TATS:
FACE::Configuration_Injectable::Injectable

Public Member Functions

void Initialize (const FACE::CONFIGURATION_RESOURCE &configuration_name, FACE::RETURN_CODE_TYPE::Value &return_code)
 <<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> Initialize the Base instance
void Create_Connection (const FACE::TSS::CONNECTION_NAME_TYPE &connection_name, FACE::TIMEOUT_TYPE timeout, FACE::TSS::CONNECTION_ID_TYPE &connection_id, FACE::TSS::MESSAGE_SIZE_TYPE &max_message_size, FACE::RETURN_CODE_TYPE::Value &return_code)
 <<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> A connection is created with the RTI::TSS::Base Create_Connection function
void Destroy_Connection (FACE::TSS::CONNECTION_ID_TYPE connection_id, FACE::RETURN_CODE_TYPE::Value &return_code)
 <<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> Destroys a new connection
void Unregister_Callback (FACE::TSS::CONNECTION_ID_TYPE connection_id, FACE::RETURN_CODE_TYPE::Value &return_code)
 <<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> This function removes a registered callback from a connection.
void Enable_Runtime (FACE::RETURN_CODE_TYPE::Value &return_code)
 <<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> Enable underliying DDS entities
void Set_Reference (const FACE::STRING_TYPE &interface_name, FACE::Configuration **interface_reference, const FACE::GUID_TYPE id, FACE::RETURN_CODE_TYPE::Value &return_code)
 <<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> A new Base instance must set its reference to a Configuration Interface before the Base is initialized.

Detailed Description

<<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> The base class of TSS implemented by RTI

For applications requiring all resources to be allocated and configured during an intialization phase, an extended function pf RTI::TSS::Base, Enable_Runtime(), allows Connext TSS users first to create disabled DDS entities during initialization and then to enable them after initialization.


Member Function Documentation

void FACE::TSS::RTI_TATS::Initialize ( const FACE::CONFIGURATION_RESOURCE configuration_name,
FACE::RETURN_CODE_TYPE::Value &  return_code 
)

<<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> Initialize the Base instance

Once the Configuration interface reference is set, the TSS is initialized by calling the Base interface Initialize(TS) function.

Parameters:
[in]configuration_nameThe name of the configuration to load. Passed to the Configuration Interface’s Initialize() member function.
[out]return_codeThe return code for the call to Initialize(TS). Upon return of the call, this parameter will be populated with a value that will indicate either success or a reason for failure.
Note:
Configuration files are only available when using Connext DDS Professional with the General Purpose Profile.
  • FACE::NO_ERROR The operation completed successfully.
  • FACE::NO_ACTION Connext TSS was successfully initialized previously.
  • FACE::NOT_AVAILABLE Connext TSS internal data could not be properly initialized.
  • FACE::INVALID_CONFIG Connext TSS could not be configured with the provided configuration parameter.

The Initialize(TS) function will initialize Connext TSS and its supporting DDS with configuration data from its set configuration interface. It will load the system configuration the first time it is called, idempotently.

Warning:
The Initialize(TS) function is non-blocking.
This function is not thread safe.
void FACE::TSS::RTI_TATS::Create_Connection ( const FACE::TSS::CONNECTION_NAME_TYPE connection_name,
FACE::TIMEOUT_TYPE  timeout,
FACE::TSS::CONNECTION_ID_TYPE &  connection_id,
FACE::TSS::MESSAGE_SIZE_TYPE &  max_message_size,
FACE::RETURN_CODE_TYPE::Value &  return_code 
)

<<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> A connection is created with the RTI::TSS::Base Create_Connection function

Parameters:
[in]connection_nameThe name of the connection to create. Must match the name (case-insensitive) of a connection in configuration data.
[in]timeoutSpecifies a timeout for connection creation.
[out]connection_idA unique connection ID. This ID will be used to refer to the connection in all other TSS API calls. This field is passed by reference and is set upon return from a successful call.
[out]max_message_sizeThe maximum size of a message for this connection. This field is passed by reference and is set upon return from a successful call.
[out]return_codeThe return code for the call to FACE::TS::Create_Connection. Upon return of the call, this parameter will be populated with a value that will indicate either success or a reason for failure.
Note:
timeout is not used by the RTI TSS.
max_message_size is not supported by RTI TSS and consequently is set to 0.
  • FACE::NO_ERROR The operation completed successfully.
  • FACE::INVALID_PARAM A configuration with a name matching the provided connection_name parameter was not found.
  • FACE::INVALID_CONFIG Connext TSS was unable to create the connection due to an invalid configuration.
  • FACE::NOT_AVAILABLE Connext TSS was not properly initialized prior to the call to FACE::TS::Create_Connection.
    Note:
    Because both strings will have been converted to uppercase prior to the matching process, the matching is case-insensitive, as required by the FACE TSS specification.
    A successfully created connection will have had DDS entities asserted or created in the following manner:

DDS Enity Creation:

  • DomainParticipant - Created if there is no existing DomainParticipant for the new connection’s configured domain parameter. Otherwise the existing DomainParticipant on that domain will be reused by the new connection. See the OMG for Data Distribution Service for Real-time Systems, v1.2 section 7.1.2.2.1, for information on the DomainParticipant entity class.

    NOTE: DomainParticipant reuse does not allow for new connections to modify DomainParticipant QoS after the initial creation of the DomainParticipant. Any connection created with the same domain as an existing connection will use the DomainParticipant QoS of the original connection, regardless of the QoS plugin specified for the new connection.
  • Topic - Created if there is no existing Topic matching the new connection’s topic name in the connection configuration. Otherwise the existing Topic will be reused by the new connection. See the OMG Specification for Data Distribution Service for Real-time Systems, v1.2 section 7.1.2.3.2, for information on the Topic entity class.

    NOTE: Topic reuse does not allow for connections to modify Topic QoS after the initial creation of the Topic. Any connection created with the same topic name as an existing connection will use the Topic QoS of the original connection, regardless of the QoS plugin specified for the new connection.
  • Publisher - Created if the connection is configured as FACE::SOURCE or FACE::BI_DIRECTIONAL. See the OMG Specification for Data Distribution Service for Real-time Systems, v1.2 section 7.1.2.4.1, for information on the Publisher entity class.

    NOTE: Although DDS allows for Publishers to contain multiple DataWriters, in Connext TSS Publishers are not shared by connections.
  • Subscriber - Created if the connection is configured as FACE::DESTINATION or FACE::BI_DIRECTIONAL. See the OMG Specification for Data Distribution Service for Real-time Systems, v1.2 section 7.1.2.5.2, for information on the Subscriber entity class.

    NOTE: Although DDS allows for Subscribers to contain multiple DataReaders, in Connext TSS Subscribers are not shared by connections.
  • DataWriter - Created if the connection is configured as FACE::SOURCE or FACE::BI_DIRECTIONAL. See the OMG Specification for Data Distribution Service for Real-time Systems, v1.2 section 7.1.2.4.2, for information on the DataWriter entity class.
  • DataReader - Created if the connection is configured as FACE::DESTINATION or FACE::BI_DIRECTIONAL. See the OMG Specification for Data Distribution Service for Real-time Systems, v1.2 section 7.1.2.5.3, for information on the DataReader entity class.
Warning:
The Create_Connection function is non-blocking.
This function is not thread safe for Connext DDS Pro and Connext Micro.
void FACE::TSS::RTI_TATS::Destroy_Connection ( FACE::TSS::CONNECTION_ID_TYPE  connection_id,
FACE::RETURN_CODE_TYPE::Value &  return_code 
)

<<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> Destroys a new connection

Parameters:
[in]connection_idThe ID of the connection to be destroyed.
[out]return_codeThe return code for the call to Destroy_Connection(). Upon return of the call, this parameter will be populated with a value that will indicate either success or a reason for failure.
  • FACE::NO_ERROR The operation completed successfully.
  • FACE::INVALID_PARAM The connection does not exist.
  • FACE::NO_ACTION The connection was already destroyed.
  • FACE::NOT_AVAILABLE Connext TSS was not properly initialized prior to the call to FACE::TS::Destroy_Connection.
Note:
Connext TSS built with Connext DDS Micro for Safety Base or Security OSS profiles does not reclaim any Connext TSS connection or DDS resources.
Warning:
This function is not thread safe for Connext DDS Pro and is thread safe for Connext Micro.
void FACE::TSS::RTI_TATS::Unregister_Callback ( FACE::TSS::CONNECTION_ID_TYPE  connection_id,
FACE::RETURN_CODE_TYPE::Value &  return_code 
)

<<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> This function removes a registered callback from a connection.

Parameters:
[in]connection_idThe ID of the connection with the callback that will be unregistered.
[out]return_codeThe return code for the call to Unregister_Callback. Upon return of the call, this parameter will be populated with a value that will indicate either success or a reason for failure.
  • FACE::NO_ERROR The operation was successful.
  • FACE::INVALID_PARAM The provided connection_id parameter does not correspond to an active connection or the data_callback parameter is invalid.
  • FACE::NOT_AVAILABLE The RTI TSS was not properly initialized prior to the call to FACE::TS::Receive_Message or no data was received.
Warning:
This function is not thread safe.
void FACE::TSS::RTI_TATS::Enable_Runtime ( FACE::RETURN_CODE_TYPE::Value &  return_code)

<<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> Enable underliying DDS entities

The DDS entities underlying Connext TSS connections can have their QoS configured such that they are disabled upon connection creation, with resources allocated but no processes running or discovery messages sent. This would be necessary for platforms with explicit intialization phases (e.g. ARINC 653).

Consequently, after all connections have been created and the platform is done with intialization, the first call after initialization must be to this function, so that DDS processes can run and DDS discovery can be done.

Parameters:
[out]return_codeThe return code for the call to Enable_Runtime(). Upon return of the call, this parameter will be populated with a value that will indicate either success or a reason for failure.
  • FACE::NO_ERROR The operation completed successfully.
  • FACE::NOT_AVAILABLE Connext TSS was not initialized before this operation, or the operation failed to enable DDS entities.
Warning:
This function is non-blocking.
This function is not thread safe for Connext DDS Pro. It is thread safe for Connext DDS Micro.
void FACE::TSS::RTI_TATS::Set_Reference ( const FACE::STRING_TYPE interface_name,
FACE::Configuration **  interface_reference,
const FACE::GUID_TYPE  id,
FACE::RETURN_CODE_TYPE::Value &  return_code 
)
virtual

<<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> A new Base instance must set its reference to a Configuration Interface before the Base is initialized.

Parameters:
[in]interface_nameUnused by Connext TSS
[in]interface_referenceA reference to an FACE Configuration instance for Connext TSS.
[out]idUnused by Connext TSS
[out]return_codeThe return code for the call to Set_Reference(Base). Upon return of the call, this parameter will be populated with a value that will indicate either success or a reason for failure.
  • FACE::NO_ERROR The operation completed successfully.
  • FACE::NO_ACTION A configuration reference was previously set successfully.

The Set_Reference function sets the FACE Configuration instance that a Base instance will use to configure the TSS connections it will create, as well as the underlying DDS.

The interface_reference must be a configured instance of RTI::Configuration implementing the FACE 3.x Configuration interface. For help in creating and setting the configuration data in the configuration interface, see Configuration Interface.

Warning:
The Set_Reference function is non-blocking.
This function is not thread safe.

Implements FACE::Configuration_Injectable::Injectable.


RTI Connext TSS C++ API Version 4.2.0 Copyright © Fri Aug 7 2026 Real-Time Innovations, Inc