RTI Connext TSS Logo
4.2.0

Contents

  • 1. Introduction
    • 1.1. What is FACE TSS?
    • 1.2. What is RTI Connext TSS?
    • 1.3. What are RTI Connext Professional and RTI Connext Micro?
    • 1.4. About this Document
      • 1.4.1. Paths Mentioned in Documentation
    • 1.5. Support Resources
      • 1.5.1. Community Forum
      • 1.5.2. RTI Connext Documentation
      • 1.5.3. Training and Professional Services
      • 1.5.4. Technical Support
  • 2. Installation
    • 2.1. Installing Connext TSS
    • 2.2. Package Contents
  • 3. Building Connext TSS
    • 3.1. Prerequisites
    • 3.2. The Host and Target Environment
      • 3.2.1. The host environment
      • 3.2.2. The target environment
    • 3.3. Building the Libraries
      • 3.3.1. Optional CMake definitions
      • 3.3.2. Compile-time configuration
    • 3.4. Verifying Built Libraries
  • 4. Getting Started
    • 4.1. Building and Running the Example Application
      • 4.1.1. Building the example
      • 4.1.2. Running the example
        • 4.1.2.1. Running as a publisher
        • 4.1.2.2. Running as a subscriber
        • 4.1.2.3. Running as both publisher and subscriber
    • 4.2. Modifying the Example
      • 4.2.1. Changing QoS
      • 4.2.2. Adding connections
    • 4.3. Troubleshooting the Example
      • 4.3.1. Function returned an error
  • 5. Porting Connext TSS
    • 5.1. New CMake Platforms
      • 5.1.1. Cross-compiling
    • 5.2. New CMake Architectures
      • 5.2.1. Variable definitions
        • 5.2.1.1. General
        • 5.2.1.2. Cross-compiling
  • 6. Capabilities and Interfaces
    • 6.1. Programming Language Support
    • 6.2. Operating System Environment
    • 6.3. TSS Capabilities
    • 6.4. FACE Profiles
      • 6.4.1. GeneralPurpose profile
      • 6.4.2. SafetyBase profile
      • 6.4.3. Limitations
    • 6.5. Type Support
    • 6.6. Type Abstraction Base and Typed interfaces
    • 6.7. Configuring FACE 3.x for Connext Micro
      • 6.7.1. Type Abstraction configuration implementation
        • 6.7.1.1. Type Abstraction XML configuration elements
      • 6.7.2. Transport Protocol Module configuration implementation
      • 6.7.3. OSAPI configuration for Connext Micro
      • 6.7.4. Configuration data types
        • 6.7.4.1. System configuration
        • 6.7.4.2. DDS DomainParticipant configuration
        • 6.7.4.3. Type Support configuration
        • 6.7.4.4. Connection configuration
      • 6.7.5. How configuration data is used in C++
      • 6.7.6. How configuration data is used in C
      • 6.7.7. Extending the configuration interface
    • 6.8. Configuring FACE 3.x for Connext Professional
      • 6.8.1. Connext Professional data types
      • 6.8.2. Registering data types
      • 6.8.3. Adding new participants
      • 6.8.4. Adding new DataReaders and DataWriters
      • 6.8.5. Example
    • 6.9. Dynamic Memory Allocation
    • 6.10. Sequence Element Lifecycle Operations
      • 6.10.1. C++ API
      • 6.10.2. C API
      • 6.10.3. Move Semantics in FACE_sequence_append_elem
      • 6.10.4. Enabling Sequence Element Operations
      • 6.10.5. RTI FACE_string Reference Implementation
      • 6.10.6. Generated Element Operations
      • 6.10.7. Implementing Element Operations for Custom Types
  • 7. Integrating a Third-Party TPM
    • 7.1. Integration Steps
      • 7.1.1. Wrap your TPM in the FACE interface
      • 7.1.2. Register your TPM with the application
      • 7.1.3. Declare your TPM in TSS.xml
    • 7.2. Integration Constraints
      • 7.2.1. Data format contract
      • 7.2.2. Threading contract
        • 7.2.2.1. Thread safety
        • 7.2.2.2. Application responsibilities
      • 7.2.3. Callback contract
      • 7.2.4. Error code contract
      • 7.2.5. SafetyBase profile constraints
    • 7.3. Troubleshooting
      • 7.3.1. Connection returns NOT_AVAILABLE
      • 7.3.2. Send or receive silently produces corrupt data
      • 7.3.3. Callback never fires on receive
      • 7.3.4. Deadlock during send or receive
      • 7.3.5. Crash or use-after-free during shutdown
      • 7.3.6. Crash or segfault on first I/O call
      • 7.3.7. GUID mismatch: connection not associated with TPM
      • 7.3.8. SafetyBase build fails or aborts at runtime
      • 7.3.9. Application receives TIMED_OUT unexpectedly
      • 7.3.10. Application receives INVALID_PARAM on seemingly valid calls
      • 7.3.11. Register_Callback returns NO_ACTION
      • 7.3.12. Write or Read returns NOT_AVAILABLE
      • 7.3.13. TPM returns NO_ERROR but application still reports an error
    • 7.4. Validation
  • 8. Troubleshooting
    • 8.1. Community Forum
    • 8.2. Connext Documentation
    • 8.3. Professional Training and Services
    • 8.4. Technical Support
  • 9. API Reference
    • 9.1. Thread Safety Model
      • 9.1.1. API Thread Safety
      • 9.1.2. Product Thread Safety
    • 9.2. Typed TS Interfaces
      • 9.2.1. Headers
      • 9.2.2. Communication
        • 9.2.2.1. Send_Message()
        • 9.2.2.2. Receive_Message()
      • 9.2.3. Callback Interface
        • 9.2.3.1. Register_Callback()
        • 9.2.3.2. Read_Callback::Callback_Handler
        • 9.2.3.3. Unregister_Callback()
    • 9.3. TSS TA Base
      • 9.3.1. Headers
      • 9.3.2. Initialization
        • 9.3.2.1. Set_Reference() Configuration
        • 9.3.2.2. Set_Reference() TPM
        • 9.3.2.3. Set_Reference() Logging
        • 9.3.2.4. Initialize()
      • 9.3.3. Connections
        • 9.3.3.1. Create_Connection()
        • 9.3.3.2. Destroy_Connection
        • 9.3.3.3. Enable_Runtime()
      • 9.3.4. Communication
        • 9.3.4.1. Send_Message()
        • 9.3.4.2. Receive_Message()
      • 9.3.5. Callback Interface
        • 9.3.5.1. Register_Callback()
        • 9.3.5.2. Read_Callback::Callback_Handler
        • 9.3.5.3. FACE::TSS::BASE::Unregister_Callback()
    • 9.4. TSS TPM Interfaces
      • 9.4.1. Headers
      • 9.4.2. Initialization
        • 9.4.2.1. Set_Reference(Configuration)
        • 9.4.2.2. Set_Reference(Serialization)
        • 9.4.2.3. Set_Reference(Primitive_Marshalling)
        • 9.4.2.4. Set_Reference(Logging_Interface)
        • 9.4.2.5. Initialize()
      • 9.4.3. Connections
        • 9.4.3.1. Open_Channel()
        • 9.4.3.2. Close_Channel
      • 9.4.4. TPM Status and State
        • 9.4.4.1. Request_TPM_State_Change
        • 9.4.4.2. Is_Data_Available
        • 9.4.4.3. Get_TPM_Status
      • 9.4.5. Communication
        • 9.4.5.1. Write_To_Transport()
        • 9.4.5.2. Read_From_Transport()
      • 9.4.6. Callback Interface
        • 9.4.6.1. Register_Callback()
        • 9.4.6.2. TPM_Callback::Data_Callback_Handler
        • 9.4.6.3. TPM_Callback::Event_Callback_Handler
        • 9.4.6.4. FACE::TSS::BASE::Unregister_Callback()
      • 9.4.7. FACE String
        • 9.4.7.1. Headers
        • 9.4.7.2. FACE::String::String()
        • 9.4.7.3. FACE::String::~String()
        • 9.4.7.4. FACE::String::clear()
        • 9.4.7.5. FACE::String::append()
        • 9.4.7.6. FACE::String::reserve()
        • 9.4.7.7. FACE::String::buffer()
        • 9.4.7.8. FACE::String::length()
        • 9.4.7.9. FACE::String::capacity()
        • 9.4.7.10. FACE::String::bound()
        • 9.4.7.11. FACE::String::is_managed()
        • 9.4.7.12. FACE::String::is_bounded()
        • 9.4.7.13. FACE::String::is_valid()
      • 9.4.8. FACE Sequence
        • 9.4.8.1. Headers
        • 9.4.8.2. FACE::Sequence::Sequence()
        • 9.4.8.3. FACE::Sequence::~Sequence()
        • 9.4.8.4. FACE::Sequence::clear()
        • 9.4.8.5. FACE::Sequence::append()
        • 9.4.8.6. FACE::Sequence::reserve()
        • 9.4.8.7. FACE::Sequence::buffer()
        • 9.4.8.8. FACE::Sequence::length()
        • 9.4.8.9. FACE::Sequence::capacity()
        • 9.4.8.10. FACE::Sequence::bound()
        • 9.4.8.11. FACE::Sequence::is_managed()
        • 9.4.8.12. FACE::Sequence::is_bounded()
        • 9.4.8.13. FACE::Sequence::is_valid()
    • 9.5. Logging
      • 9.5.1. Log_Text(LOGGING)
      • 9.5.2. Log_Binary(LOGGING)
    • 9.6. TSS Configuration Defaults
      • 9.6.1. Type Bounds
      • 9.6.2. Resource Limits
      • 9.6.3. Buffer Sizes
      • 9.6.4. Hash Table Tuning
      • 9.6.5. DDS Defaults
      • 9.6.6. Overriding Defaults
  • 10. Release Notes
    • 10.1. Language Support
    • 10.2. Supported Platforms
    • 10.3. What’s New in 4.2.0
      • 10.3.1. Support for FACE 3.2 Technical Standard
      • 10.3.2. Protect thread safety in TSS applications
      • 10.3.3. Generate a single C/C++ output file, simplifying code management
      • 10.3.4. FACE C APIs conform to FACE CR 1255 resolution
      • 10.3.5. Initialize functions in generated code now comply with FACE 3.2
      • 10.3.6. Generate FACE strings and sequences in example applications
      • 10.3.7. Develop Connext Professional applications for FACE
      • 10.3.8. Use Connext Micro Transport Protocol Module with Connext TSS 4.2 architecture
    • 10.4. What’s Fixed in 4.2.0
      • 10.4.1. Memory leak when using sequence-of-sequence types in General Purpose profile
      • 10.4.2. Missing or incorrect API documentation
      • 10.4.3. Static tables that allocate memory for hash tables were determined at compile time
      • 10.4.4. Examples caused compiler warnings on Windows systems
      • 10.4.5. Unnecessary callback macro included in templates
      • 10.4.6. Incorrect error handling within create_subscriber() and create_publisher() functions
      • 10.4.7. FACE NO_ERROR collided with NO_ERROR definition on Windows systems
      • 10.4.8. Generated C code did not support forward delcarations
      • 10.4.9. Application discovery database corrupted by repetitive function calls
      • 10.4.10. Register_Callback function signature differed from CTS GSL in C++
      • 10.4.11. Increasing sequence length caused deserialization failures in SafetyBase profile
      • 10.4.12. Generated code attempted to call the private default constructor upon instantiation of an enum class
      • 10.4.13. RTI Code Generator replaced DM with TSS outside of namespaces
      • 10.4.14. Common_Hash.h generated compiler warning
      • 10.4.15. return_Code in Linux example compared return value instead of assigning it
      • 10.4.16. Connext Professional C example generated compiler warnings
      • 10.4.17. return_Code in Windows example compared return value instead of assigning it
      • 10.4.18. Incorrect library name description and example code paths in User’s Manual
      • 10.4.19. Possible memory leak when assigning values to sequences of strings
    • 10.5. Previous Releases
      • 10.5.1. What’s Fixed in 4.1.0.2-EAR
        • 10.5.1.1. Incorrect symbol used for the pre-processor #define in the generated TypeAbstraction_Callback functions
        • 10.5.1.2. TSSConfiguration::Initialize() did not return on failure to malloc in examples
        • 10.5.1.3. Multiple nested IDL includes could generate incorrect include paths
        • 10.5.1.4. C++ sequences “=” operator allocated extra memory
        • 10.5.1.5. Connext TSS re-asserted remote publications and subscriptions for each CreateConnection() call
        • 10.5.1.6. Error returned if create_publisher() or create_subscriber() returned a warning
        • 10.5.1.7. Type-specific TypeAbstraction_callback not generated properly
        • 10.5.1.8. Connext TSS did not generate FACE type definitions correctly
        • 10.5.1.9. Connext TSS generated TypedTS includes by namespace instead of file path
        • 10.5.1.10. Generated code contained extra “&” when assigning internal helper functions
        • 10.5.1.11. Sequences of sequences or strings did not initialize inner objects
        • 10.5.1.12. C++ TypedTS class template did not inherit from TA_Injectable
        • 10.5.1.13. Generated C code did not support forward declarations
      • 10.5.2. What’s Fixed in 4.1.0.1-EAR
        • 10.5.2.1. Incorrect symbol used for the pre-processor #define in the generated TypeAbstraction_Callback functions
        • 10.5.2.2. TSSConfiguration::Initialize() did not return on failure to malloc in examples
        • 10.5.2.3. Multiple nested IDL includes could generate incorrect include paths
        • 10.5.2.4. C++ sequences “=” operator allocated extra memory
        • 10.5.2.5. Connext TSS re-asserted remote publications and subscriptions for each CreateConnection() call
        • 10.5.2.6. Error returned if create_publisher() or create_subscriber() returned a warning
        • 10.5.2.7. Type-specific TypeAbstraction_callback not generated properly
        • 10.5.2.8. Connext TSS did not generate FACE type definitions correctly
      • 10.5.3. What’s New in 4.1.0-EAR
        • 10.5.3.1. Added support for FACE TSS C API
        • 10.5.3.2. Added support for Transport Protocol Module
        • 10.5.3.3. Implemented certifiable FACE String and Sequence classes
        • 10.5.3.4. RTI logging replaced by FACE logging
        • 10.5.3.5. Added support for LynxOS-178
        • 10.5.3.6. Added support for FACE GUIDs
        • 10.5.3.7. Added injectable interface for callbacks
        • 10.5.3.8. Third-party software changes
      • 10.5.4. What’s Fixed in 4.1.0-EAR
        • 10.5.4.1. Sequences of arrays caused compile errors
        • 10.5.4.2. Possible memory leak when RTI_TSS_Impl_new() did not check for NULL after allocation
        • 10.5.4.3. No longer necessary to use #ifdef FACE_SEQUENCE_AND_STRING_IMPLEMENTED flag
      • 10.5.5. What’s New in 3.1.2
        • 10.5.5.1. Added support for Deos 653
        • 10.5.5.2. Changed Logging verbosity to be set by command line switches
        • 10.5.5.3. Renamed Cmake architecture files for VxWorks7 to include FACE_GP
      • 10.5.6. What’s Fixed in 3.1.2
        • 10.5.6.1. Compiler warnings on VxWorks 7 systems
        • 10.5.6.2. Warning when loading hello_goodbye_dkm_static example
        • 10.5.6.3. Build time FACE conformance warning message
        • 10.5.6.4. Double quotation marks in command line contexts
        • 10.5.6.5. Source file types.c was compiled when flag was set to true
        • 10.5.6.6. Receive_Message() unable to retrieve multiple messages in the reader queue
      • 10.5.7. What’s New in 3.1.1
        • 10.5.7.1. Removed the Static Configuration API
        • 10.5.7.2. Updated source files to meet RTI and FACE coding standards
        • 10.5.7.3. Updated parameter checking and return codes
      • 10.5.8. What’s Fixed in 3.1.1
        • 10.5.8.1. Updated rtiddsgen to meet FACE 3.1 Conformance
  • 11. Third-Party Software
    • 11.1. Third-Party Software included in Connext TSS
      • 11.1.1. XML Parser for C
    • 11.2. Third-Party Software Used by RTIDDSGEN Code-Generation Utility
      • 11.2.1. ANTLR
      • 11.2.2. Apache Commons CLI
      • 11.2.3. Apache Commons Lang
      • 11.2.4. Apache Log4j 2
      • 11.2.5. Apache Velocity
      • 11.2.6. Gson
    • 11.3. Open Source Software Licenses
      • 11.3.1. Apache License version 2.0, January 2004 (http://www.apache.org/licenses/)
  • Copyrights and Notices
RTI Connext TSS
  • Search


© Copyright 2021-2026, Real-Time Innovations, Inc.

Built with Sphinx using a theme provided by Read the Docs.