RTI Connext TSS API  Version 3.1.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups
Base

<<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> Contains the RTI::TSS::Base documentation More...

Data Structures

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

Functions

void RTI::TSS::Base::Initialize (const FACE::CONFIGURATION_RESOURCE &configuration, FACE::RETURN_CODE_TYPE::Value &return_code)
 <<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> Initialize the Base instance
 
void RTI::TSS::Base::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 RTI::TSS::Base::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 RTI::TSS::Base::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 RTI::TSS::Base::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.
 
void RTI::TSS::Base::Enable_DDS_Entities (FACE::RETURN_CODE_TYPE::Value &return_code)
 <<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> Enable underliying DDS entities
 

Detailed Description

<<Connext Micro>> <<Connext Pro>> <<SafetyBase or Stricter>> Contains the RTI::TSS::Base documentation

Connext TSS implements the FACE TSS Type-Specific Base and Typed interfaces in the C++ programming language as the RTI::TSS::Base class.

RTI::TSS::Base also implements the FACE Configuration Injectable interface for Connext TSS configuration

Function Documentation

void RTI::TSS::Base::Initialize ( const FACE::CONFIGURATION_RESOURCE configuration,
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]configurationThe 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.
Returns
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 RTI::TSS::Base::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.
Returns
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 RTI::TSS::Base::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.
Returns
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 RTI::TSS::Base::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.
Returns
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 RTI::TSS::Base::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.
Returns
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.

void RTI::TSS::Base::Enable_DDS_Entities ( 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_DDS_Entities(). Upon return of the call, this parameter will be populated with a value that will indicate either success or a reason for failure.
Returns
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.

RTI Connext TSS API Version 3.1.2 Copyright © Tue Sep 20 2022 Real-Time Innovations, Inc