/****************************************************************************** * (c) Copyright, Real-Time Innovations, Copyright 2010 * * All rights reserved. * * No duplications, whole or partial, manual or electronic, may be made * without express written permission. Any such copies, or * revisions thereof, must display this notice unaltered. * * This code contains trade secrets of Real-Time Innovations, Inc. * * This file contains the types used by RTI Data Distribution Service to monitor * applications. * * THE CONTENTS OF THIS FILE, AS WELL AS THE EXISTENCE OF THIS FILE, * ARE SUBJECT TO CHANGE WITHOUT ANY NOTICE. * * For any questions please contact support@rti.com *****************************************************************************/ #define DOMAINID_TYPE_NATIVE long #define BUILTIN_TOPIC_KEY_TYPE_NATIVE long #define HANDLE_TYPE_NATIVE DDSMonitoring::RTIInstanceHandle #define HANDLE_NIL_NATIVE {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 16, 0} #define TheParticipantFactory #define PARTICIPANT_QOS_DEFAULT #define TOPIC_QOS_DEFAULT #define PUBLISHER_QOS_DEFAULT #define SUBSCRIBER_QOS_DEFAULT #define DATAWRITER_QOS_DEFAULT #define DATAREADER_QOS_DEFAULT #define DATAWRITER_QOS_USE_TOPIC_QOS #define DATAREADER_QOS_USE_TOPIC_QOS module DDSMonitoring { struct RTIInstanceHandle { octet value[16]; unsigned long length; boolean isValid; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY typedef DOMAINID_TYPE_NATIVE DomainId_t; struct BuiltinTopicKey_t { BUILTIN_TOPIC_KEY_TYPE_NATIVE value[4]; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY typedef HANDLE_TYPE_NATIVE InstanceHandle_t; typedef long ReturnCode_t; typedef long QosPolicyId_t; typedef short DataRepresentationId_t; struct Duration_t { int32 sec; uint32 nanosec; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY struct Time_t { int64 sec; uint32 nanosec; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY typedef sequence StringSequence; struct EndpointGroup_t { string<255> role_name; long quorum; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY // ---------------------------------------------------------------------- // Pre-defined values // ---------------------------------------------------------------------- // RTI: Can not be defined in IDL since InstanceHandle_t is not // a primitive. //const InstanceHandle_t HANDLE_NIL = HANDLE_NIL_NATIVE; const long LENGTH_UNLIMITED = -1; const long DURATION_INFINITE_SEC = 0x7fffffff; const unsigned long DURATION_INFINITE_NSEC = 0x7fffffff; const long DURATION_ZERO_SEC = 0; const unsigned long DURATION_ZERO_NSEC = 0; const long TIME_INVALID_SEC = -1; const unsigned long TIME_INVALID_NSEC = 0xffffffff; // ---------------------------------------------------------------------- // Return codes // ---------------------------------------------------------------------- const ReturnCode_t RETCODE_OK = 0; const ReturnCode_t RETCODE_ERROR = 1; const ReturnCode_t RETCODE_UNSUPPORTED = 2; const ReturnCode_t RETCODE_BAD_PARAMETER = 3; const ReturnCode_t RETCODE_PRECONDITION_NOT_MET = 4; const ReturnCode_t RETCODE_OUT_OF_RESOURCES = 5; const ReturnCode_t RETCODE_NOT_ENABLED = 6; const ReturnCode_t RETCODE_IMMUTABLE_POLICY = 7; const ReturnCode_t RETCODE_INCONSISTENT_POLICY = 8; const ReturnCode_t RETCODE_ALREADY_DELETED = 9; const ReturnCode_t RETCODE_TIMEOUT = 10; const ReturnCode_t RETCODE_NO_DATA = 11; const ReturnCode_t RETCODE_ILLEGAL_OPERATION = 12; // ---------------------------------------------------------------------- // Status to support listeners and conditions // ---------------------------------------------------------------------- typedef unsigned long StatusKind; typedef unsigned long StatusMask; // bit-mask StatusKind const StatusKind INCONSISTENT_TOPIC_STATUS = 0x0001 << 0; const StatusKind OFFERED_DEADLINE_MISSED_STATUS = 0x0001 << 1; const StatusKind REQUESTED_DEADLINE_MISSED_STATUS = 0x0001 << 2; const StatusKind OFFERED_INCOMPATIBLE_QOS_STATUS = 0x0001 << 5; const StatusKind REQUESTED_INCOMPATIBLE_QOS_STATUS = 0x0001 << 6; const StatusKind SAMPLE_LOST_STATUS = 0x0001 << 7; const StatusKind SAMPLE_REJECTED_STATUS = 0x0001 << 8; const StatusKind DATA_ON_READERS_STATUS = 0x0001 << 9; const StatusKind DATA_AVAILABLE_STATUS = 0x0001 << 10; const StatusKind LIVELINESS_LOST_STATUS = 0x0001 << 11; const StatusKind LIVELINESS_CHANGED_STATUS = 0x0001 << 12; const StatusKind PUBLICATION_MATCHED_STATUS = 0x0001 << 13; const StatusKind SUBSCRIPTION_MATCHED_STATUS = 0x0001 << 14; /***** RTI EXTENSIONS *****/ /* The "right"-most 24 bits of the StatusMask are reserved * for standard statuses. The remaining 8 bits are for extended statuses. */ const StatusKind DATA_WRITER_APPLICATION_ACKNOWLEDGEMENT_STATUS = 0x00000001 << 22; const StatusKind DATA_WRITER_INSTANCE_REPLACED_STATUS = 0x00000001 << 23; const StatusKind RELIABLE_WRITER_CACHE_CHANGED_STATUS = 0x00000001 << 24; const StatusKind RELIABLE_READER_ACTIVITY_CHANGED_STATUS = 0x00000001 << 25; const StatusKind DATA_WRITER_CACHE_STATUS = 0x00000001 << 26; const StatusKind DATA_WRITER_PROTOCOL_STATUS = 0x00000001 << 27; const StatusKind DATA_READER_CACHE_STATUS = 0x00000001 << 28; const StatusKind DATA_READER_PROTOCOL_STATUS = 0x00000001 << 29; const StatusKind DATA_WRITER_DESTINATION_UNREACHABLE_STATUS = 0x00000001 << 30; const StatusKind DATA_WRITER_SAMPLE_REMOVED_STATUS = 0x00000001 << 31; struct InconsistentTopicStatus { long total_count; long total_count_change; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY enum SampleLostStatusKind { NOT_LOST, LOST_BY_WRITER, LOST_BY_INSTANCES_LIMIT, LOST_BY_REMOTE_WRITERS_PER_INSTANCE_LIMIT, LOST_BY_INCOMPLETE_COHERENT_SET, LOST_BY_LARGE_COHERENT_SET, LOST_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT, LOST_BY_VIRTUAL_WRITERS_LIMIT, LOST_BY_REMOTE_WRITERS_PER_SAMPLE_LIMIT, LOST_BY_AVAILABILITY_WAITING_TIME, LOST_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT, LOST_BY_OUT_OF_MEMORY, LOST_BY_UNKNOWN_INSTANCE, LOST_BY_DESERIALIZATION_FAILURE, LOST_BY_DECODE_FAILURE, LOST_BY_SAMPLES_PER_INSTANCE_LIMIT, LOST_BY_SAMPLES_LIMIT }; struct SampleLostStatus { long total_count; long total_count_change; SampleLostStatusKind last_reason; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY enum SampleRejectedStatusKind { NOT_REJECTED, /* Not used */ REJECTED_BY_INSTANCES_LIMIT, REJECTED_BY_SAMPLES_LIMIT, REJECTED_BY_SAMPLES_PER_INSTANCE_LIMIT, /***** RTI EXTENSIONS *****/ /* Deprecated */ REJECTED_BY_REMOTE_WRITERS_LIMIT, /* Deprecated */ REJECTED_BY_REMOTE_WRITERS_PER_INSTANCE_LIMIT, REJECTED_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT, /* Deprecated */ REJECTED_BY_VIRTUAL_WRITERS_LIMIT, /* Deprecated */ REJECTED_BY_REMOTE_WRITERS_PER_SAMPLE_LIMIT, REJECTED_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT, REJECTED_BY_DECODE_FAILURE }; enum TransportMulticastQosPolicyKind { AUTOMATIC_TRANSPORT_MULTICAST_QOS, UNICAST_ONLY_TRANSPORT_MULTICAST_QOS }; struct SampleRejectedStatus { long total_count; long total_count_change; SampleRejectedStatusKind last_reason; InstanceHandle_t last_instance_handle; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct LivelinessLostStatus { long total_count; long total_count_change; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct LivelinessChangedStatus { long alive_count; long not_alive_count; long alive_count_change; long not_alive_count_change; InstanceHandle_t last_publication_handle; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct OfferedDeadlineMissedStatus { long total_count; long total_count_change; InstanceHandle_t last_instance_handle; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct RequestedDeadlineMissedStatus { long total_count; long total_count_change; InstanceHandle_t last_instance_handle; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct QosPolicyCount { QosPolicyId_t policy_id; long count; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY struct OfferedIncompatibleQosStatus { long total_count; long total_count_change; QosPolicyId_t last_policy_id; /* we assume we will not have more than 64 qos policies */ sequence policies; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct RequestedIncompatibleQosStatus { long total_count; long total_count_change; QosPolicyId_t last_policy_id; /* we assume we will not have more than 64 qos policies */ sequence policies; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct PublicationMatchedStatus { long total_count; long total_count_change; long current_count; /***** RTI EXTENSIONS *****/ long current_count_peak; long current_count_change; InstanceHandle_t last_subscription_handle; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct SubscriptionMatchedStatus { long total_count; long total_count_change; long current_count; /***** RTI EXTENSIONS *****/ long current_count_peak; long current_count_change; InstanceHandle_t last_publication_handle; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION *****/ struct DataReaderCacheStatus { long long sample_count_peak; long long sample_count; long long old_source_timestamp_dropped_sample_count; long long tolerance_source_timestamp_dropped_sample_count; long long ownership_dropped_sample_count; long long content_filter_dropped_sample_count; long long time_based_filter_dropped_sample_count; long long expired_dropped_sample_count; long long virtual_duplicate_dropped_sample_count; long long replaced_dropped_sample_count; long long writer_removed_batch_sample_dropped_sample_count; long long total_samples_dropped_by_instance_replacement; long long alive_instance_count; long long alive_instance_count_peak; long long no_writers_instance_count; long long no_writers_instance_count_peak; long long disposed_instance_count; long long disposed_instance_count_peak; long long detached_instance_count; long long detached_instance_count_peak; long long compressed_sample_count; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION *****/ struct SequenceNumber_t { long high; unsigned long low; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY /***** RTI EXTENSION *****/ struct DataReaderProtocolStatus { long long received_sample_count; long long received_sample_count_change; long long received_sample_bytes; long long received_sample_bytes_change; long long duplicate_sample_count; long long duplicate_sample_count_change; long long duplicate_sample_bytes; long long duplicate_sample_bytes_change; long long filtered_sample_count; long long filtered_sample_count_change; long long filtered_sample_bytes; long long filtered_sample_bytes_change; long long received_heartbeat_count; long long received_heartbeat_count_change; long long received_heartbeat_bytes; long long received_heartbeat_bytes_change; long long sent_ack_count; long long sent_ack_count_change; long long sent_ack_bytes; long long sent_ack_bytes_change; long long sent_nack_count; long long sent_nack_count_change; long long sent_nack_bytes; long long sent_nack_bytes_change; long long received_gap_count; long long received_gap_count_change; long long received_gap_bytes; long long received_gap_bytes_change; long long rejected_sample_count; long long rejected_sample_count_change; SequenceNumber_t first_available_sample_sequence_number; SequenceNumber_t last_available_sample_sequence_number; SequenceNumber_t last_committed_sample_sequence_number; long uncommitted_sample_count; long long out_of_range_rejected_sample_count; long long received_fragment_count; long long dropped_fragment_count; long long reassembled_sample_count; long long sent_nack_fragment_count; long long sent_nack_fragment_bytes; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION *****/ struct DataWriterCacheStatus { long long sample_count_peak; long long sample_count; long long alive_instance_count; long long alive_instance_count_peak; long long disposed_instance_count; long long disposed_instance_count_peak; long long unregistered_instance_count; long long unregistered_instance_count_peak; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION *****/ struct DataWriterProtocolStatus { long long pushed_sample_count; long long pushed_sample_count_change; long long pushed_sample_bytes; long long pushed_sample_bytes_change; long long filtered_sample_count; long long filtered_sample_count_change; long long filtered_sample_bytes; long long filtered_sample_bytes_change; long long sent_heartbeat_count; long long sent_heartbeat_count_change; long long sent_heartbeat_bytes; long long sent_heartbeat_bytes_change; long long pulled_sample_count; long long pulled_sample_count_change; long long pulled_sample_bytes; long long pulled_sample_bytes_change; long long received_ack_count; long long received_ack_count_change; long long received_ack_bytes; long long received_ack_bytes_change; long long received_nack_count; long long received_nack_count_change; long long received_nack_bytes; long long received_nack_bytes_change; long long sent_gap_count; long long sent_gap_count_change; long long sent_gap_bytes; long long sent_gap_bytes_change; long long rejected_sample_count; long long rejected_sample_count_change; long send_window_size; SequenceNumber_t first_available_sequence_number; SequenceNumber_t last_available_sequence_number; SequenceNumber_t first_unacknowledged_sample_sequence_number; SequenceNumber_t first_available_sample_virtual_sequence_number; SequenceNumber_t last_available_sample_virtual_sequence_number; SequenceNumber_t first_unacknowledged_sample_virtual_sequence_number; InstanceHandle_t first_unacknowledged_sample_subscription_handle; SequenceNumber_t first_unelapsed_keep_duration_sample_sequence_number; long long pushed_fragment_count; long long pushed_fragment_bytes; long long pulled_fragment_count; long long pulled_fragment_bytes; long long received_nack_fragment_count; long long received_nack_fragment_bytes; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION *****/ struct ReliableWriterCacheEventCount { long total_count; long total_count_change; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY /***** RTI EXTENSION *****/ struct ReliableWriterCacheChangedStatus { ReliableWriterCacheEventCount empty_reliable_writer_cache; ReliableWriterCacheEventCount full_reliable_writer_cache; ReliableWriterCacheEventCount low_watermark_reliable_writer_cache; ReliableWriterCacheEventCount high_watermark_reliable_writer_cache; long unacknowledged_sample_count; long unacknowledged_sample_count_peak; long long replaced_unacknowledged_sample_count; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION *****/ struct ReliableReaderActivityChangedStatus { long active_count; long inactive_count; long active_count_change; long inactive_count_change; InstanceHandle_t last_instance_handle; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION *****/ typedef unsigned long CompressionIdMask; const CompressionIdMask COMPRESSION_ID_ZLIB = 0x0001 << 0; const CompressionIdMask COMPRESSION_ID_BZIP2 = 0x0001 << 1; const CompressionIdMask COMPRESSION_ID_LZ4 = 0x0001 << 2; const CompressionIdMask COMPRESSION_ID_MASK_NONE = 0; const CompressionIdMask COMPRESSION_ID_MASK_ALL = COMPRESSION_ID_ZLIB | COMPRESSION_ID_BZIP2 | COMPRESSION_ID_LZ4; const CompressionIdMask COMPRESSION_ID_MASK_DEFAULT = COMPRESSION_ID_MASK_NONE; struct CompressionSettings_t { CompressionIdMask compression_ids; unsigned long writer_compression_level; long writer_compression_threshold; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY // ---------------------------------------------------------------------- // Listeners // ---------------------------------------------------------------------- // Sample states to support reads typedef unsigned long SampleStateKind; const SampleStateKind READ_SAMPLE_STATE = 0x0001 << 0; const SampleStateKind NOT_READ_SAMPLE_STATE = 0x0001 << 1; // This is a bit-mask SampleStateKind typedef unsigned long SampleStateMask; const SampleStateMask ANY_SAMPLE_STATE = 0xffff; // View states to support reads typedef unsigned long ViewStateKind; const ViewStateKind NEW_VIEW_STATE = 0x0001 << 0; const ViewStateKind NOT_NEW_VIEW_STATE = 0x0001 << 1; // This is a bit-mask ViewStateKind typedef unsigned long ViewStateMask; const ViewStateMask ANY_VIEW_STATE = 0xffff; // Instance states to support reads typedef unsigned long InstanceStateKind; const InstanceStateKind ALIVE_INSTANCE_STATE = 0x0001 << 0; const InstanceStateKind NOT_ALIVE_DISPOSED_INSTANCE_STATE = 0x0001 << 1; const InstanceStateKind NOT_ALIVE_NO_WRITERS_INSTANCE_STATE = 0x0001 << 2; // This is a bit-mask InstanceStateKind typedef unsigned long InstanceStateMask; const InstanceStateMask ANY_INSTANCE_STATE = 0xffff; const InstanceStateMask NOT_ALIVE_INSTANCE_STATE = 0x006; // ---------------------------------------------------------------------- // Qos // ---------------------------------------------------------------------- const string USERDATA_QOS_POLICY_NAME = "UserData"; const string DURABILITY_QOS_POLICY_NAME = "Durability"; const string PRESENTATION_QOS_POLICY_NAME = "Presentation"; const string DEADLINE_QOS_POLICY_NAME = "Deadline"; const string LATENCYBUDGET_QOS_POLICY_NAME = "LatencyBudget"; const string OWNERSHIP_QOS_POLICY_NAME = "Ownership"; const string OWNERSHIPSTRENGTH_QOS_POLICY_NAME = "OwnershipStrength"; const string LIVELINESS_QOS_POLICY_NAME = "Liveliness"; const string TIMEBASEDFILTER_QOS_POLICY_NAME = "TimeBasedFilter"; const string PARTITION_QOS_POLICY_NAME = "Partition"; const string RELIABILITY_QOS_POLICY_NAME = "Reliability"; const string DESTINATIONORDER_QOS_POLICY_NAME = "DestinationOrder"; const string HISTORY_QOS_POLICY_NAME = "History"; const string RESOURCELIMITS_QOS_POLICY_NAME = "ResourceLimits"; const string ENTITYFACTORY_QOS_POLICY_NAME = "EntityFactory"; const string WRITERDATALIFECYCLE_QOS_POLICY_NAME = "WriterDataLifecycle"; const string READERDATALIFECYCLE_QOS_POLICY_NAME = "ReaderDataLifecycle"; const string TOPICDATA_QOS_POLICY_NAME = "TopicData"; const string GROUPDATA_QOS_POLICY_NAME = "GroupData"; const string LIFESPAN_QOS_POLICY_NAME = "Lifespan"; const string DURABILITYSERVICE_POLICY_NAME = "DurabilityService"; const string TRANSPORTPRIORITY_QOS_POLICY_NAME = "TransportPriority"; const string DATA_REPRESENTATION_QOS_POLICY_NAME = "DataRepresentation"; const string TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_NAME = "TypeConsistencyEnforcement"; const string DATATAG_QOS_POLICY_NAME = "DataTag"; /***** RTI EXTENSIONS *****/ const string ASYNCHRONOUSPUBLISHER_QOS_POLICY_NAME = "AsynchronousPublisher"; const string TYPESUPPORT_QOS_POLICY_NAME = "TypeSupport"; const string WIREPROTOCOL_QOS_POLICY_NAME = "WireProtocol"; const string DISCOVERY_QOS_POLICY_NAME = "Discovery"; const string DATAREADERRESOURCELIMITS_QOS_POLICY_NAME = "DataReaderResourceLimits"; const string DATAWRITERRESOURCELIMITS_QOS_POLICY_NAME = "DataWriterResourceLimits"; const string DATAREADERPROTOCOL_QOS_POLICY_NAME = "DataReaderProtocol"; const string DATAWRITERPROTOCOL_QOS_POLICY_NAME = "DataWriterProtocol"; const string DOMAINPARTICIPANTRESOURCELIMITS_QOS_POLICY_NAME = "DomainParticipantResourceLimits"; const string EVENT_QOS_POLICY_NAME = "Event"; const string DATABASE_QOS_POLICY_NAME = "Database"; const string RECEIVERPOOL_QOS_POLICY_NAME = "ReceiverPool"; const string DISCOVERYCONFIG_QOS_POLICY_NAME = "DiscoveryConfig"; const string USEROBJECT_QOS_POLICY_NAME = "UserObject"; const string SYSTEMRESOURCELIMITS_QOS_POLICY_NAME = "SystemResourceLimits"; const string TRANSPORTSELECTION_QOS_POLICY_NAME = "TransportSelection"; const string TRANSPORTUNICAST_QOS_POLICY_NAME = "TransportUnicast"; const string TRANSPORTMULTICAST_QOS_POLICY_NAME = "TransportMulticast"; const string DDS_TRANSPORTMULTICASTMAPPING_QOS_POLICY_NAME = "TransportMulticastMapping"; const string TRANSPORTBUILTIN_QOS_POLICY_NAME = "TransportBuiltin"; const string PUBLISHMODE_QOS_POLICY_NAME = "PublishMode"; const string PROPERTY_QOS_POLICY_NAME = "Property"; const string ENTITYNAME_QOS_POLICY_NAME = "EntityName"; const string SERVICE_QOS_POLICY_NAME = "Service"; const string BATCH_QOS_POLICY_NAME = "Batch"; const string PROFILE_QOS_POLICY_NAME = "Profile"; const string LOCATORFILTER_QOS_POLICY_NAME = "LocatorFilter"; const string MULTICHANNEL_QOS_POLICY_NAME = "MultiChannel"; const string TRANSPORTENCAPSULATION_QOS_POLICY_NAME = "TransportEncapsulation"; const string PUBLISHERPROTOCOL_QOS_POLICY_NAME = "PublisherProtocol"; const string SUBSCRIBERPROTOCOL_QOS_POLICY_NAME = "SubscriberProtocol"; const string TOPICPROTOCOL_QOS_POLICY_NAME = "TopicProtocol"; const string TOPICQUERYDISPATCH_QOS_POLICY_NAME = "TopicQueryDispatch"; const string DATAWRITERTRANSFERMODE_QOS_POLICY_NAME = "DataWriterTransferMode"; const string DOMAINPARTICIPANTPROTOCOL_QOS_POLICY_NAME = "DomainParticipantProtocol"; const QosPolicyId_t INVALID_QOS_POLICY_ID = 0; const QosPolicyId_t USERDATA_QOS_POLICY_ID = 1; const QosPolicyId_t DURABILITY_QOS_POLICY_ID = 2; const QosPolicyId_t PRESENTATION_QOS_POLICY_ID = 3; const QosPolicyId_t DEADLINE_QOS_POLICY_ID = 4; const QosPolicyId_t LATENCYBUDGET_QOS_POLICY_ID = 5; const QosPolicyId_t OWNERSHIP_QOS_POLICY_ID = 6; const QosPolicyId_t OWNERSHIPSTRENGTH_QOS_POLICY_ID = 7; const QosPolicyId_t LIVELINESS_QOS_POLICY_ID = 8; const QosPolicyId_t TIMEBASEDFILTER_QOS_POLICY_ID = 9; const QosPolicyId_t PARTITION_QOS_POLICY_ID = 10; const QosPolicyId_t RELIABILITY_QOS_POLICY_ID = 11; const QosPolicyId_t DESTINATIONORDER_QOS_POLICY_ID = 12; const QosPolicyId_t HISTORY_QOS_POLICY_ID = 13; const QosPolicyId_t RESOURCELIMITS_QOS_POLICY_ID = 14; const QosPolicyId_t ENTITYFACTORY_QOS_POLICY_ID = 15; const QosPolicyId_t WRITERDATALIFECYCLE_QOS_POLICY_ID = 16; const QosPolicyId_t READERDATALIFECYCLE_QOS_POLICY_ID = 17; const QosPolicyId_t TOPICDATA_QOS_POLICY_ID = 18; const QosPolicyId_t GROUPDATA_QOS_POLICY_ID = 19; const QosPolicyId_t TRANSPORTPRIORITY_QOS_POLICY_ID = 20; const QosPolicyId_t LIFESPAN_QOS_POLICY_ID = 21; const QosPolicyId_t DURABILITYSERVICE_QOS_POLICY_ID = 22; const QosPolicyId_t DATA_REPRESENTATION_QOS_POLICY = 23; const QosPolicyId_t TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_ID = 24; const QosPolicyId_t DATATAG_QOS_POLICY_ID = 25; /***** RTI EXTENSIONS *****/ const QosPolicyId_t WIREPROTOCOL_QOS_POLICY_ID = 1000; const QosPolicyId_t DISCOVERY_QOS_POLICY_ID = 1001; const QosPolicyId_t DATAREADERRESOURCELIMITS_QOS_POLICY_ID = 1003; const QosPolicyId_t DATAWRITERRESOURCELIMITS_QOS_POLICY_ID = 1004; const QosPolicyId_t DATAREADERPROTOCOL_QOS_POLICY_ID = 1005; const QosPolicyId_t DATAWRITERPROTOCOL_QOS_POLICY_ID = 1006; const QosPolicyId_t DOMAINPARTICIPANTRESOURCELIMITS_QOS_POLICY_ID = 1007; const QosPolicyId_t EVENT_QOS_POLICY_ID = 1008; const QosPolicyId_t DATABASE_QOS_POLICY_ID = 1009; const QosPolicyId_t RECEIVERPOOL_QOS_POLICY_ID = 1010; const QosPolicyId_t DISCOVERYCONFIG_QOS_POLICY_ID = 1011; const QosPolicyId_t USEROBJECT_QOS_POLICY_ID = 1013; const QosPolicyId_t SYSTEMRESOURCELIMITS_QOS_POLICY_ID = 1014; const QosPolicyId_t TRANSPORTSELECTION_QOS_POLICY_ID = 1015; const QosPolicyId_t TRANSPORTUNICAST_QOS_POLICY_ID = 1016; const QosPolicyId_t TRANSPORTMULTICAST_QOS_POLICY_ID = 1017; const QosPolicyId_t TRANSPORTBUILTIN_QOS_POLICY_ID = 1018; const QosPolicyId_t TYPESUPPORT_QOS_POLICY_ID = 1019; const QosPolicyId_t PROPERTY_QOS_POLICY_ID = 1020; const QosPolicyId_t PUBLISHMODE_QOS_POLICY_ID = 1021; const QosPolicyId_t ASYNCHRONOUSPUBLISHER_QOS_POLICY_ID = 1022; const QosPolicyId_t ENTITYNAME_QOS_POLICY_ID = 1023; const QosPolicyId_t SERVICE_QOS_POLICY_ID = 1025; const QosPolicyId_t BATCH_QOS_POLICY_ID = 1026; const QosPolicyId_t PROFILE_QOS_POLICY_ID = 1027; const QosPolicyId_t LOCATORFILTER_QOS_POLICY_ID = 1028; const QosPolicyId_t MULTICHANNEL_QOS_POLICY_ID = 1029; const QosPolicyId_t TRANSPORTENCAPSULATION_QOS_POLICY_ID = 1030; const QosPolicyId_t PUBLISHERPROTOCOL_QOS_POLICY_ID = 1031; const QosPolicyId_t SUBSCRIBERPROTOCOL_QOS_POLICY_ID = 1032; const QosPolicyId_t TOPICPROTOCOL_QOS_POLICY_ID = 1033; const QosPolicyId_t DOMAINPARTICIPANTPROTOCOL_QOS_POLICY_ID = 1034; const QosPolicyId_t TOPICQUERYDISPATCH_QOS_POLICY_ID =1038; const QosPolicyId_t DATAWRITERTRANSFERMODE_QOS_POLICY_ID = 1039; struct UserDataQosPolicy { /* limited by DomainParticipantResourceLimitsQosPolicy, should be 256 by default */ sequence value; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct TopicDataQosPolicy { /* limited by DomainParticipantResourceLimitsQosPolicy, should be 256 by default */ sequence value; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct GroupDataQosPolicy { /* limited by DomainParticipantResourceLimitsQosPolicy, should be 256 by default */ sequence value; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct TransportPriorityQosPolicy { long value; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct LifespanQosPolicy { Duration_t duration; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct DataRepresentationQosPolicy { sequence value; CompressionSettings_t compression_settings; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct AvailabilityQosPolicy { boolean enable_required_subscriptions; Duration_t max_data_availability_waiting_time; Duration_t max_endpoint_availability_waiting_time; sequence required_matched_endpoint_groups; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct AllocationSettings_t { long initial_count; long max_count; long incremental_count; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY enum PersistentJournalKind { DELETE_PERSISTENT_JOURNAL, TRUNCATE_PERSISTENT_JOURNAL, PERSIST_PERSISTENT_JOURNAL, MEMORY_PERSISTENT_JOURNAL, WAL_PERSISTENT_JOURNAL, OFF_PERSISTENT_JOURNAL }; enum PersistentSynchronizationKind { NORMAL_PERSISTENT_SYNCHRONIZATION, FULL_PERSISTENT_SYNCHRONIZATION, OFF_PERSISTENT_SYNCHRONIZATION }; @nested @appendable struct PersistentStorageSettings { boolean enable; string<255> file_name; string<255> trace_file_name; PersistentJournalKind journal_kind; PersistentSynchronizationKind synchronization_kind; boolean vacuum; boolean restore; AllocationSettings_t writer_instance_cache_allocation; AllocationSettings_t writer_sample_cache_allocation; boolean writer_memory_state; unsigned long reader_checkpoint_frequency; }; enum DurabilityQosPolicyKind { VOLATILE_DURABILITY_QOS, TRANSIENT_LOCAL_DURABILITY_QOS, TRANSIENT_DURABILITY_QOS, PERSISTENT_DURABILITY_QOS }; struct DurabilityQosPolicy { DurabilityQosPolicyKind kind; /***** RTI EXTENSIONS ****/ boolean direct_communication; long writer_depth; PersistentStorageSettings storage_settings; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY enum PresentationQosPolicyAccessScopeKind { INSTANCE_PRESENTATION_QOS, TOPIC_PRESENTATION_QOS, GROUP_PRESENTATION_QOS, HIGHEST_OFFERED_PRESENTATION_QOS }; struct PresentationQosPolicy { PresentationQosPolicyAccessScopeKind access_scope; boolean coherent_access; boolean ordered_access; /***** RTI EXTENSIONS ****/ boolean drop_incomplete_coherent_set; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct DeadlineQosPolicy { Duration_t period; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct LatencyBudgetQosPolicy { Duration_t duration; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY enum OwnershipQosPolicyKind { SHARED_OWNERSHIP_QOS, EXCLUSIVE_OWNERSHIP_QOS }; struct OwnershipQosPolicy { OwnershipQosPolicyKind kind; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct OwnershipStrengthQosPolicy { long value; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY enum LivelinessQosPolicyKind { AUTOMATIC_LIVELINESS_QOS, MANUAL_BY_PARTICIPANT_LIVELINESS_QOS, MANUAL_BY_TOPIC_LIVELINESS_QOS }; struct LivelinessQosPolicy { LivelinessQosPolicyKind kind; Duration_t lease_duration; long assertions_per_lease_duration; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct TimeBasedFilterQosPolicy { Duration_t minimum_separation; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct PartitionQosPolicy { /* Total accumulated length limited by DomainParticipantResourceLimitsQosPolicy, should be 256 in total by default, max partitions of 64 */ sequence, 64> name; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY enum ReliabilityQosPolicyKind { BEST_EFFORT_RELIABILITY_QOS, RELIABLE_RELIABILITY_QOS }; enum ReliabilityQosPolicyAcknowledgmentModeKind { PROTOCOL_ACKNOWLEDGEMENT_MODE, APPLICATION_AUTO_ACKNOWLEDGEMENT_MODE, APPLICATION_ORDERED_ACKNOWLEDGEMENT_MODE, APPLICATION_EXPLICIT_ACKNOWLEDGEMENT_MODE }; enum InstanceStateConsistencyKind { NO_RECOVER_INSTANCE_STATE_CONSISTENCY, RECOVER_INSTANCE_STATE_CONSISTENCY }; struct ReliabilityQosPolicy { ReliabilityQosPolicyKind kind; Duration_t max_blocking_time; ReliabilityQosPolicyAcknowledgmentModeKind acknowledgementKind; InstanceStateConsistencyKind instance_state_consistency_kind; boolean exact_reliability_kind_match; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY enum DestinationOrderQosPolicyKind { BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS, BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS }; enum TypeConsistencyKind { DISALLOW_TYPE_COERCION, ALLOW_TYPE_COERCION, AUTO_TYPE_COERCION }; struct TypeConsistencyEnforcementQosPolicy { TypeConsistencyKind kind; boolean ignore_sequence_bounds; boolean ignore_string_bounds; boolean ignore_member_names; boolean prevent_type_widening; boolean force_type_validation; boolean ignore_enum_literal_names; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSIONS ****/ enum DestinationOrderQosPolicyScopeKind { INSTANCE_SCOPE_DESTINATIONORDER_QOS, TOPIC_SCOPE_DESTINATIONORDER_QOS }; struct DestinationOrderQosPolicy { DestinationOrderQosPolicyKind kind; /***** RTI EXTENSIONS ****/ DestinationOrderQosPolicyScopeKind scope; Duration_t source_timestamp_tolerance; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY enum HistoryQosPolicyKind { KEEP_LAST_HISTORY_QOS, KEEP_ALL_HISTORY_QOS }; /***** RTI EXTENSION ****/ enum RefilterQosPolicyKind { NONE_REFILTER_QOS, ALL_REFILTER_QOS, ON_DEMAND_REFILTER_QOS }; struct HistoryQosPolicy { HistoryQosPolicyKind kind; long depth; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct ResourceLimitsQosPolicy { long max_samples; long max_instances; long max_samples_per_instance; /***** RTI EXTENSIONS ****/ long initial_samples; long initial_instances; long instance_hash_buckets; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct EntityFactoryQosPolicy { boolean autoenable_created_entities; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct WriterDataLifecycleQosPolicy { boolean autodispose_unregistered_instances; Duration_t autopurge_unregistered_instances_delay; Duration_t autopurge_disposed_instances_delay; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct ReaderDataLifecycleQosPolicy { Duration_t autopurge_nowriter_samples_delay; Duration_t autopurge_disposed_samples_delay; Duration_t autopurge_disposed_instances_delay; Duration_t autopurge_nowriter_instances_delay; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct DurabilityServiceQosPolicy { Duration_t service_cleanup_delay; HistoryQosPolicyKind history_kind; long history_depth; long max_samples; long max_instances; long max_samples_per_instance; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct SystemResourceLimitsQosPolicy { long max_objects_per_thread; long initial_objects_per_thread; }; //@top-level false /***** RTI EXTENSION ****/ struct ProfileQosPolicy { /** should be unlimited in theory **/ sequence, 256> string_profile; /** should be unlimited in theory **/ sequence, 256> url_profile; boolean ignore_user_profile; boolean ignore_environment_profile; boolean ignore_resource_profile; /** should be unlimited in theory **/ sequence, 256> string_profile_dtd; }; //@top-level false /***** RTI EXTENSION ****/ struct TopicQueryDispatchQosPolicy { boolean enable; Duration_t publication_period; long samples_per_period; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct DomainParticipantFactoryQos { EntityFactoryQosPolicy entity_factory; /***** RTI EXTENSIONS ****/ SystemResourceLimitsQosPolicy resource_limits; ProfileQosPolicy profile; }; /***** RTI EXTENSION ****/ struct RtpsWellKnownPorts_t { long port_base; long domain_id_gain; long participant_id_gain; long builtin_multicast_port_offset; long builtin_unicast_port_offset; long user_multicast_port_offset; long user_unicast_port_offset; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY /***** RTI EXTENSION ****/ struct ProductVersion_t { char major; char minor; char release; char revision; }; //@top-level false /***** RTI EXTENSION ****/ struct ProtocolVersion_t { octet major; octet minor; }; //@top-level false /***** RTI EXTENSION ****/ typedef unsigned short EncapsulationId_t; const long LOCATOR_ADDRESS_LENGTH_MAX = 16; /***** RTI EXTENSION ****/ struct Locator_t { long kind; unsigned long _port; octet address[LOCATOR_ADDRESS_LENGTH_MAX]; sequence encapsulations; }; //@top-level false /***** RTI EXTENSION ****/ typedef long RtpsReservedPortKindMask; const RtpsReservedPortKindMask RTPS_RESERVED_PORT_BUILTIN_UNICAST = 0x0001 << 0; const RtpsReservedPortKindMask RTPS_RESERVED_PORT_BUILTIN_MULTICAST = 0x0001 << 1; const RtpsReservedPortKindMask RTPS_RESERVED_PORT_USER_UNICAST = 0x0001 << 2; const RtpsReservedPortKindMask RTPS_RESERVED_PORT_USER_MULTICAST = 0x0001 << 3; const RtpsReservedPortKindMask RTPS_RESERVED_PORT_MASK_DEFAULT = RTPS_RESERVED_PORT_BUILTIN_UNICAST | RTPS_RESERVED_PORT_BUILTIN_MULTICAST | RTPS_RESERVED_PORT_USER_UNICAST; const RtpsReservedPortKindMask RTPS_RESERVED_PORT_MASK_NONE = 0; const RtpsReservedPortKindMask RTPS_RESERVED_PORT_MASK_ALL = ~RTPS_RESERVED_PORT_MASK_NONE; /***** RTI EXTENSION ****/ enum WireProtocolQosPolicyAutoKind { RTPS_AUTO_ID_FROM_IP, RTPS_AUTO_ID_FROM_MAC, RTPS_AUTO_ID_FROM_UUID }; /***** RTI EXTENSION ****/ struct WireProtocolQosPolicy { long participant_id; unsigned long rtps_host_id; unsigned long rtps_app_id; unsigned long rtps_instance_id; RtpsWellKnownPorts_t rtps_well_known_ports; RtpsReservedPortKindMask rtps_reserved_port_mask; WireProtocolQosPolicyAutoKind rtps_auto_id_kind; boolean compute_crc; boolean check_crc; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ typedef long TransportBuiltinKindMask; const TransportBuiltinKindMask TRANSPORTBUILTIN_UDPv4 = 0x00000001 << 0; const TransportBuiltinKindMask TRANSPORTBUILTIN_SHMEM = 0x00000001 << 1; const TransportBuiltinKindMask TRANSPORTBUILTIN_INTRA = 0x00000001 << 2; const TransportBuiltinKindMask TRANSPORTBUILTIN_UDPv6 = 0x00000001 << 3; const TransportBuiltinKindMask TRANSPORTBUILTIN_UDPv4_WAN = 0x00000001 << 4; const TransportBuiltinKindMask TRANSPORTBUILTIN_MASK_NONE = 0; const TransportBuiltinKindMask TRANSPORTBUILTIN_MASK_DEFAULT = TRANSPORTBUILTIN_UDPv4 | TRANSPORTBUILTIN_SHMEM; const TransportBuiltinKindMask TRANSPORTBUILTIN_MASK_ALL = ~TRANSPORTBUILTIN_MASK_NONE; /***** RTI EXTENSION ****/ struct TransportBuiltinQosPolicy { TransportBuiltinKindMask mask; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct TransportUnicastSettings_t { sequence, 128> transports; long receive_port; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY /***** RTI EXTENSION ****/ struct TransportUnicastQosPolicy { sequence value; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct DiscoveryQosPolicy { sequence, 128> enabled_transports; /* number of peers should be unlimited in theory */ sequence, 256> initial_peers; sequence, 4> multicast_receive_addresses; long metatraffic_transport_priority; boolean accept_unknown_peers; boolean enable_endpoint_discovery; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ enum DomainParticipantResourceLimitsIgnoredEntityReplacementKind { NO_REPLACEMENT_IGNORED_ENTITY_REPLACEMENT = 0, NOT_ALIVE_FIRST_IGNORED_ENTITY_REPLACEMENT }; /***** RTI EXTENSION ****/ struct DomainParticipantResourceLimitsQosPolicy { AllocationSettings_t local_writer_allocation; AllocationSettings_t local_reader_allocation; AllocationSettings_t local_publisher_allocation; AllocationSettings_t local_subscriber_allocation; AllocationSettings_t local_topic_allocation; AllocationSettings_t remote_writer_allocation; AllocationSettings_t remote_reader_allocation; AllocationSettings_t remote_participant_allocation; AllocationSettings_t matching_writer_reader_pair_allocation; AllocationSettings_t matching_reader_writer_pair_allocation; AllocationSettings_t ignored_entity_allocation; AllocationSettings_t content_filtered_topic_allocation; AllocationSettings_t content_filter_allocation; AllocationSettings_t read_condition_allocation; AllocationSettings_t query_condition_allocation; AllocationSettings_t outstanding_asynchronous_sample_allocation; AllocationSettings_t flow_controller_allocation; long local_writer_hash_buckets; long local_reader_hash_buckets; long local_publisher_hash_buckets; long local_subscriber_hash_buckets; long local_topic_hash_buckets; long remote_writer_hash_buckets; long remote_reader_hash_buckets; long remote_participant_hash_buckets; long matching_writer_reader_pair_hash_buckets; long matching_reader_writer_pair_hash_buckets; long ignored_entity_hash_buckets; long content_filtered_topic_hash_buckets; long content_filter_hash_buckets; long flow_controller_hash_buckets; long max_gather_destinations; long participant_user_data_max_length; long inter_participant_data_max_length; long topic_data_max_length; long publisher_group_data_max_length; long subscriber_group_data_max_length; long writer_user_data_max_length; long reader_user_data_max_length; long max_partitions; long max_partition_cumulative_characters; boolean default_partition_matches_all; boolean allow_no_partitions; long type_code_max_serialized_length; long type_object_max_serialized_length; long serialized_type_object_dynamic_allocation_threshold; long type_object_max_deserialized_length; long deserialized_type_object_dynamic_allocation_threshold; long contentfilter_property_max_length; long channel_seq_max_length; long channel_filter_expression_max_length; long participant_property_list_max_length; long participant_property_string_max_length; long writer_property_list_max_length; long writer_property_string_max_length; long reader_property_list_max_length; long reader_property_string_max_length; long plugin_info_parameter_max_length; long max_endpoint_groups; long max_endpoint_group_cumulative_characters; long transport_info_list_max_length; DomainParticipantResourceLimitsIgnoredEntityReplacementKind ignored_entity_replacement_kind; AllocationSettings_t remote_topic_query_allocation; long remote_topic_query_hash_buckets; long writer_data_tag_list_max_length; long writer_data_tag_string_max_length; long reader_data_tag_list_max_length; long reader_data_tag_string_max_length; unsigned long shmem_ref_transfer_mode_max_segments; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ typedef unsigned long ThreadSettingsKindMask; /***** RTI EXTENSION ****/ enum ThreadSettingsKind { THREAD_SETTINGS_DEFAULT = 0x00, THREAD_SETTINGS_FLOATING_POINT = 0x01, THREAD_SETTINGS_STDIO = 0x02, THREAD_SETTINGS_REALTIME_PRIORITY = 0x08, THREAD_SETTINGS_PRIORITY_ENFORCE = 0x10, THREAD_SETTINGS_CANCEL_ASYNCHRONOUS = 0x20 }; /***** RTI EXTENSION ****/ enum ThreadSettingsCpuRotationKind { THREAD_SETTINGS_CPU_NO_ROTATION, THREAD_SETTINGS_CPU_RR_ROTATION }; /***** RTI EXTENSION ****/ struct ThreadSettings_t { ThreadSettingsKindMask mask; long priority; long stack_size; sequence cpu_list; ThreadSettingsCpuRotationKind cpu_rotation; long num_uses; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct EventQosPolicy { ThreadSettings_t thread; //@ID 0 long initial_count; //@ID 1 long max_count; //@ID 2 }; //@top-level false //@Extensibility MUTABLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct ReceiverPoolQosPolicy { ThreadSettings_t thread; //@ID 0 long initial_receive_threads;//@ID 1 long max_receive_threads; //@ID 2 long buffer_size; //@ID 3 long buffer_alignment; //@ID 4 boolean is_timestamp_enabled; //@ID 5 }; //@top-level false //@Extensibility MUTABLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct DatabaseQosPolicy { ThreadSettings_t thread; //@ID 0 Duration_t shutdown_timeout; //@ID 1 Duration_t cleanup_period; //@ID 2 Duration_t shutdown_cleanup_period; //@ID 3 long initial_records; //@ID 4 long max_skiplist_level; //@ID 5 long table_allocation_block_size; //@ID 6 long max_weak_references; //@ID 7 long initial_weak_references; //@ID 8 }; //@top-level false //@Extensibility MUTABLE_EXTENSIBILITY /***** RTI EXTENSION ****/ enum RemoteParticipantPurgeKind { LIVELINESS_BASED_REMOTE_PARTICIPANT_PURGE, NO_REMOTE_PARTICIPANT_PURGE }; /***** RTI EXTENSION ****/ struct BuiltinTopicReaderResourceLimits_t { long initial_samples; long max_samples; long initial_infos; long max_infos; long initial_outstanding_reads; long max_outstanding_reads; long max_samples_per_read; boolean disable_fragmentation_support; long max_fragmented_samples; long initial_fragmented_samples; long max_fragmented_samples_per_remote_writer; long max_fragments_per_sample; boolean dynamically_allocate_fragmented_samples; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct RtpsReliableReaderProtocol_t { Duration_t min_heartbeat_response_delay; Duration_t max_heartbeat_response_delay; Duration_t heartbeat_suppression_duration; Duration_t nack_period; long receive_window_size; Duration_t round_trip_time; Duration_t app_ack_period; Duration_t min_app_ack_response_keep_duration; long samples_per_app_ack; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct RtpsReliableWriterProtocol_t { long low_watermark; long high_watermark; Duration_t heartbeat_period; Duration_t fast_heartbeat_period; Duration_t late_joiner_heartbeat_period; Duration_t virtual_heartbeat_period; long samples_per_virtual_heartbeat; long max_heartbeat_retries; boolean inactivate_nonprogressing_readers; long heartbeats_per_max_samples; Duration_t min_nack_response_delay; Duration_t max_nack_response_delay; Duration_t nack_suppression_duration; long max_bytes_per_nack_response; Duration_t disable_positive_acks_min_sample_keep_duration; Duration_t disable_positive_acks_max_sample_keep_duration; Duration_t disable_positive_acks_sample_min_separation; boolean disable_positive_acks_enable_adaptive_sample_keep_duration; boolean disable_positive_acks_enable_spin_wait; long disable_positive_acks_decrease_sample_keep_duration_factor; long disable_positive_acks_increase_sample_keep_duration_factor; long min_send_window_size; long max_send_window_Size; Duration_t send_window_update_period; long send_window_increase_factor; long send_window_decrease_factor; boolean enable_multicast_periodic_heartbeat; long multicast_resend_threshold; boolean disable_repair_piggyback_heartbeat; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ typedef long DiscoveryConfigBuiltinPluginKindMask; const DiscoveryConfigBuiltinPluginKindMask DISCOVERYCONFIG_BUILTIN_SPDP = 0x0001 << 0; const DiscoveryConfigBuiltinPluginKindMask DISCOVERYCONFIG_BUILTIN_SEDP = 0x0001 << 1; const DiscoveryConfigBuiltinPluginKindMask DISCOVERYCONFIG_BUILTIN_SDP = DISCOVERYCONFIG_BUILTIN_SPDP | DISCOVERYCONFIG_BUILTIN_SEDP; const DiscoveryConfigBuiltinPluginKindMask DISCOVERYCONFIG_BUILTIN_EDS = 0x0001 << 2; /***** RTI EXTENSION ****/ const DiscoveryConfigBuiltinPluginKindMask DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_ALL = 0xefff; const DiscoveryConfigBuiltinPluginKindMask DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_NONE = 0x0; const DiscoveryConfigBuiltinPluginKindMask DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_DEFAULT = DISCOVERYCONFIG_BUILTIN_SDP; /***** RTI EXTENSION ****/ typedef long DiscoveryConfigBuiltinChannelKindMask; const DiscoveryConfigBuiltinChannelKindMask DISCOVERYCONFIG_SERVICE_REQUEST_CHANNEL = 0x0003; const DiscoveryConfigBuiltinChannelKindMask DISCOVERYCONFIG_TYPE_LOOKUP_SERVICE_CHANNEL = 0xF000; const DiscoveryConfigBuiltinChannelKindMask DISCOVERYCONFIG_TYPE_LOOKUP_SERVICE_REQUEST_CHANNEL = 0x3000; const DiscoveryConfigBuiltinChannelKindMask DISCOVERYCONFIG_TYPE_LOOKUP_SERVICE_REPLY_CHANNEL = 0xC000; const DiscoveryConfigBuiltinChannelKindMask DISCOVERYCONFIG_BUILTIN_CHANNEL_MASK_ALL = 0xffff; const DiscoveryConfigBuiltinChannelKindMask DISCOVERYCONFIG_BUILTIN_CHANNEL_MASK_NONE = 0x0; const DiscoveryConfigBuiltinChannelKindMask DISCOVERYCONFIG_BUILTIN_CHANNEL_MASK_DEFAULT = DISCOVERYCONFIG_SERVICE_REQUEST_CHANNEL; /***** RTI EXTENSION ****/ struct DiscoveryBuiltinReaderFragmentationResourceLimits_t { boolean disable_fragmentation_support; long max_fragmented_samples; long initial_fragmented_samples; long max_fragmented_samples_per_remote_writer; long max_fragments_per_sample; boolean dynamically_allocate_fragmented_samples; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ enum PublishModeQosPolicyKind { SYNCHRONOUS_PUBLISH_MODE_QOS, ASYNCHRONOUS_PUBLISH_MODE_QOS }; /***** RTI EXTENSION ****/ struct PublishModeQosPolicy { PublishModeQosPolicyKind kind; string<255> flow_controller_name; long priority; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ enum ThreadBlockingKind { SEMAPHORE_BLOCKING_KIND, SPIN_BLOCKING_KIND }; /***** RTI EXTENSION ****/ struct AsynchronousPublisherQosPolicy { boolean disable_asynchronous_write; //@ID 0 ThreadSettings_t thread; //@ID 1 boolean disable_asynchronous_batch; //@ID 2 ThreadSettings_t asynchronous_batch_thread; //@ID 3 ThreadBlockingKind asynchronous_batch_blocking_kind; //@ID 4 boolean disable_topic_query_publication; //@ID 6 ThreadSettings_t topic_query_publication_thread; //@ID 5 }; //@top-level false //@Extensibility MUTABLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct DiscoveryConfigQosPolicy { Duration_t participant_liveliness_lease_duration; //@ID 0 Duration_t participant_liveliness_assert_period; //@ID 1 Duration_t participant_announcement_period; //@ID 52 RemoteParticipantPurgeKind remote_participant_purge_kind; //@ID 2 Duration_t max_liveliness_loss_detection_period; //@ID 3 long initial_participant_announcements; //@ID 4 long new_remote_participant_announcements; //@ID 51 Duration_t min_initial_participant_announcement_period; //@ID 5 Duration_t max_initial_participant_announcement_period; //@ID 6 BuiltinTopicReaderResourceLimits_t participant_reader_resource_limits; //@ID 7 RtpsReliableReaderProtocol_t publication_reader; //@ID 8 BuiltinTopicReaderResourceLimits_t publication_reader_resource_limits; //@ID 9 RtpsReliableReaderProtocol_t subscription_reader; //@ID 10 BuiltinTopicReaderResourceLimits_t subscription_reader_resource_limits; //@ID 11 RtpsReliableWriterProtocol_t publication_writer; //@ID 12 WriterDataLifecycleQosPolicy publication_writer_data_lifecycle; //@ID 13 RtpsReliableWriterProtocol_t subscription_writer; //@ID 14 WriterDataLifecycleQosPolicy subscription_writer_data_lifecycle; //@ID 15 long endpoint_plugin_redundancy_level; //@ID 16 DiscoveryConfigBuiltinPluginKindMask builtin_discovery_plugins; //@ID 17 DiscoveryConfigBuiltinChannelKindMask enabled_builtin_channels; //@ID 50 ReliabilityQosPolicyKind participant_message_reader_reliability_kind; //@ID 37 RtpsReliableReaderProtocol_t participant_message_reader; //@ID 18 RtpsReliableWriterProtocol_t participant_message_writer; //@ID 19 PublishModeQosPolicy publication_writer_publish_mode; //@ID 20 PublishModeQosPolicy subscription_writer_publish_mode; //@ID 21 AsynchronousPublisherQosPolicy asynchronous_publisher; //@ID 22 Duration_t default_domain_announcement_period; //@ID 23 boolean ignore_default_domain_announcements; //@ID 24 RtpsReliableWriterProtocol_t service_request_writer; //@ID 38 WriterDataLifecycleQosPolicy service_request_writer_data_lifecycle; //@ID 39 PublishModeQosPolicy service_request_writer_publish_mode; //@ID 44 RtpsReliableReaderProtocol_t service_request_reader; //@ID 40 Duration_t locator_reachability_assert_period; //@ID 41 Duration_t locator_reachability_lease_duration; //@ID 42 Duration_t locator_reachability_change_detection_period; //@ID 43 RtpsReliableWriterProtocol_t secure_volatile_writer; //@ID 48 PublishModeQosPolicy secure_volatile_writer_publish_mode; //@ID 45 RtpsReliableReaderProtocol_t secure_volatile_reader; //@ID 49 long endpoint_type_object_lb_serialization_threshold; //@ID 46 Duration_t dns_tracker_polling_period; //@ID 47 /* Participant Configuration Channel QoS (SPDP2) */ PublishModeQosPolicy participant_configuration_writer_publish_mode; //@ID 53 RtpsReliableWriterProtocol_t participant_configuration_writer; //@ID 54 WriterDataLifecycleQosPolicy participant_configuration_writer_data_lifecycle; //@ID 55 RtpsReliableReaderProtocol_t participant_configuration_reader; //@ID 56 BuiltinTopicReaderResourceLimits_t participant_configuration_reader_resource_limits; //@ID 57 boolean sedp_rely_on_spdp_only; //@ID 25 LatencyBudgetQosPolicy publication_writer_latency_budget; //@ID 26 boolean publication_writer_push_on_write; //@ID 27 LatencyBudgetQosPolicy subscription_writer_latency_budget; //@ID 28 boolean subscription_writer_push_on_write; //@ID 29 RtpsReliableWriterProtocol_t participant_state_writer; //@ID 30 LatencyBudgetQosPolicy participant_state_writer_latency_budget; //@ID 31 boolean participant_state_writer_push_on_write; //@ID 32 PublishModeQosPolicy participant_state_writer_publish_mode; //@ID 33 RtpsReliableReaderProtocol_t participant_proxy_reader; //@ID 34 DiscoveryBuiltinReaderFragmentationResourceLimits_t participant_proxy_reader_fragmentation_resource_limits; //@ID 35 // IMPORTANT!! ID 36 was used for plugin_promiscuity_kind until it was // removed, so 36 must not be used. string<255> request_types_filter; //@ID 58 }; //@top-level false //@Extensibility MUTABLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct Property_t { /* Total accumulated length limited by DomainParticipantResourceLimitsQosPolicy, should be 1024 in total by default */ string<127> name; string<511> value; boolean propagate; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY /***** RTI EXTENSION ****/ const long PROPERTY_LIST_MAX_LENGTH = 64; struct PropertyQosPolicy { /* limited by DomainParticipantResourceLimitsQosPolicy, default 32 */ sequence value; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY @extensibility(APPENDABLE) struct Tag { /* * Total accumulated length limited by * DomainParticipantResourceLimitsQosPolicy, should be 0 by default. */ string<255> name; string<511> value; }; //@top-level false const long DATA_TAG_LIST_MAX_LENGTH = 64; @extensibility(APPENDABLE) struct DataTagQosPolicy { /* limited by DomainParticipantResourceLimitsQosPolicy, default 0 */ sequence tags; }; //@top-level false /***** RTI EXTENSION ****/ struct EntityNameQosPolicy { string<255> name; string<255> role_name; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY const long TRANSPORT_MULICAST_MAPPING_STRING_MAX_LENGTH = 255; /***** RTI EXTENSION ****/ struct TransportMulticastMappingFunction_t { string dll; string function_name; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY /***** RTI EXTENSION ****/ struct TransportMulticastMapping_t { string addresses; string topic_expression; TransportMulticastMappingFunction_t mapping_function; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY /***** RTI EXTENSION ****/ struct TransportMulticastMappingQosPolicy { sequence value; }; //@top-level false /***** RTI EXTENSION ****/ enum ServiceQosPolicyKind { NO_SERVICE_QOS, PERSISTENCE_SERVICE_QOS, QUEUING_SERVICE_QOS, ROUTING_SERVICE_QOS, RECORDING_SERVICE_QOS, REPLAY_SERVICE_QOS, DATABASE_INTEGRATION_SERVICE_QOS, WEB_INTEGRATION_SERVICE_QOS }; //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct ServiceQosPolicy { ServiceQosPolicyKind kind; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ enum CdrPaddingKind { ZERO_CDR_PADDING, NOT_SET_CDR_PADDING, AUTO_CDR_PADDING }; /***** RTI EXTENSION ****/ struct TypeSupportQosPolicy { /* NOTE: This is a "void *" in our code, fix when possible */ long long plugin_data; CdrPaddingKind cdr_padding_kind; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct UserObjectSettings_t { long size; long alignment; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY /***** RTI EXTENSION ****/ struct UserObjectQosPolicy { UserObjectSettings_t participant_user_object; UserObjectSettings_t topic_user_object; UserObjectSettings_t content_filtered_topic_user_object; UserObjectSettings_t publisher_user_object; UserObjectSettings_t data_writer_user_object; UserObjectSettings_t subscriber_user_object; UserObjectSettings_t data_reader_user_object; UserObjectSettings_t read_condition_user_object; UserObjectSettings_t query_condition_user_object; UserObjectSettings_t index_condition_user_object; UserObjectSettings_t flow_controller_user_object; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSIONS ****/ struct DomainParticipantProtocolQosPolicy { boolean vendor_specific_entity; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct DomainParticipantQos { UserDataQosPolicy user_data; //@ID 0 EntityFactoryQosPolicy entity_factory; //@ID 1 /***** RTI EXTENSIONS ****/ WireProtocolQosPolicy wire_protocol; //@ID 2 TransportBuiltinQosPolicy transport_builtin; //@ID 3 TransportUnicastQosPolicy default_unicast; //@ID 4 DiscoveryQosPolicy discovery; //@ID 5 DomainParticipantResourceLimitsQosPolicy resource_limits; //@ID 6 EventQosPolicy event; //@ID 7 ReceiverPoolQosPolicy receiver_pool; //@ID 8 DatabaseQosPolicy database; //@ID 9 DiscoveryConfigQosPolicy discovery_config; //@ID 10 PropertyQosPolicy property; //@ID 12 EntityNameQosPolicy participant_name; //@ID 13 TransportMulticastMappingQosPolicy multicast_mapping; //@ID 14 ServiceQosPolicy service; //@ID 18 PartitionQosPolicy partition; //@ID 19 UserObjectQosPolicy user_object; //@ID 15 DomainParticipantProtocolQosPolicy protocol; //@ID 16 TypeSupportQosPolicy type_support; //@ID 17 }; //@top-level false //@Extensibility MUTABLE_EXTENSIBILITY /***** RTI EXTENSIONS ****/ struct TopicProtocolQosPolicy { boolean vendor_specific_entity; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct TopicQos { TopicDataQosPolicy topic_data; //@ID 0 DurabilityQosPolicy durability; //@ID 1 DurabilityServiceQosPolicy durability_service; //@ID 2 DeadlineQosPolicy deadline; //@ID 3 LatencyBudgetQosPolicy latency_budget; //@ID 4 LivelinessQosPolicy liveliness; //@ID 5 ReliabilityQosPolicy reliability; //@ID 6 DestinationOrderQosPolicy destination_order; //@ID 7 HistoryQosPolicy history; //@ID 8 ResourceLimitsQosPolicy resource_limits; //@ID 9 TransportPriorityQosPolicy transport_priority; //@ID 10 LifespanQosPolicy lifespan; //@ID 11 OwnershipQosPolicy ownership; //@ID 12 DataRepresentationQosPolicy data_representation; //@ID 14 /***** RTI EXTENSION ****/ TopicProtocolQosPolicy protocol; //@ID 13 }; //@top-level false //@Extensibility MUTABLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct GUID_t { octet value[16]; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY /***** RTI EXTENSION ****/ struct DataWriterProtocolQosPolicy { GUID_t virtual_guid; //@ID 0 unsigned long rtps_object_id; //@ID 1 boolean push_on_write; //@ID 2 boolean disable_positive_acks; //@ID 3 boolean disable_inline_keyhash; //@ID 4 boolean serialize_key_with_dispose; //@ID 5 boolean propagate_app_ack_with_no_response; //@ID 9 RtpsReliableWriterProtocol_t rtps_reliable_writer; //@ID 6 SequenceNumber_t initial_virtual_sequence_number; //@ID 7 boolean vendor_specific_entity; //@ID 8 boolean meta_entity; //@ID 10 }; //@top-level false //@Extensibility MUTABLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct TransportSelectionQosPolicy { sequence, 128> enabled_transports; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct BatchQosPolicy { boolean enable; long max_data_bytes; long max_meta_data_bytes; long max_samples; Duration_t max_flush_delay; Duration_t source_timestamp_resolution; boolean thread_safe_write; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct TransportMulticastSettings_t { sequence, 128> transports; string<40> receive_address; long receive_port; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY /***** RTI EXTENSION ****/ struct ChannelSettings_t { sequence multicast_settings; /* total accumulated length limited by DomainParticipantResourceLimitsQosPolicy, default 256 */ string<255> filter_expression; long priority; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct MultiChannelQosPolicy { /* limited by DomainParticipantResourceLimitsQosPolicy, default 32 */ sequence channels; //@ID 0 string<255> filter_name; //@ID 1 }; //@top-level false //@Extensibility MUTABLE_EXTENSIBILITY /***** RTI EXTENSION ****/ enum DataWriterResourceLimitsInstanceReplacementKind { UNREGISTERED_INSTANCE_REPLACEMENT = 0, ALIVE_INSTANCE_REPLACEMENT, DISPOSED_INSTANCE_REPLACEMENT, ALIVE_THEN_DISPOSED_INSTANCE_REPLACEMENT, DISPOSED_THEN_ALIVE_INSTANCE_REPLACEMENT, ALIVE_OR_DISPOSED_INSTANCE_REPLACEMENT }; /***** RTI EXTENSION ****/ struct DataWriterResourceLimitsQosPolicy { long initial_concurrent_blocking_threads; long max_concurrent_blocking_threads; long max_remote_reader_filters; long initial_batches; long max_batches; long cookie_max_length; DataWriterResourceLimitsInstanceReplacementKind instance_replacement; boolean replace_empty_instances; boolean autoregister_instances; long initial_virtual_writers; long max_virtual_writers; long max_remote_readers; long max_app_ack_remote_readers; long initial_active_topic_queries; long max_active_topic_queries; AllocationSettings_t writer_loaned_sample_allocation; boolean initialize_writer_loaned_sample; long initial_remote_readers; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ @extensibility(APPENDABLE) struct DataWriterShmemRefTransferModeSettings { boolean enable_data_consistency_check; boolean initialize_data; }; //@top-level false /***** RTI EXTENSION ****/ @extensibility(APPENDABLE) struct DataWriterTransferModeQosPolicy { DataWriterShmemRefTransferModeSettings shmem_ref_settings; }; //@top-level false /***** RTI EXTENSION ****/ struct TransportEncapsulationSettings_t { sequence, 128> transports; sequence encapsulations; }; //@top-level false //@Extensibility FINAL_EXTENSIBILITY /***** RTI EXTENSION ****/ struct TransportEncapsulationQosPolicy { sequence value; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct DataWriterQos { DurabilityQosPolicy durability; //@ID 0 DurabilityServiceQosPolicy durability_service; //@ID 1 DeadlineQosPolicy deadline; //@ID 2 LatencyBudgetQosPolicy latency_budget; //@ID 3 LivelinessQosPolicy liveliness; //@ID 4 ReliabilityQosPolicy reliability; //@ID 5 DestinationOrderQosPolicy destination_order; //@ID 6 HistoryQosPolicy history; //@ID 7 ResourceLimitsQosPolicy resource_limits; //@ID 8 TransportPriorityQosPolicy transport_priority; //@ID 9 LifespanQosPolicy lifespan; //@ID 10 UserDataQosPolicy user_data; //@ID 11 OwnershipQosPolicy ownership; //@ID 12 OwnershipStrengthQosPolicy ownership_strength; //@ID 13 WriterDataLifecycleQosPolicy writer_data_lifecycle; //@ID 14 DataRepresentationQosPolicy data_representation; //@ID 30 DataTagQosPolicy data_tags; //@ID 29 /***** RTI EXTENSIONS ****/ DataWriterResourceLimitsQosPolicy writer_resource_limits; //@ID 15 DataWriterProtocolQosPolicy protocol; //@ID 16 TransportSelectionQosPolicy transport_selection; //@ID 17 TransportUnicastQosPolicy unicast; //@ID 18 TransportEncapsulationQosPolicy encapsulation; //@ID 19 PublishModeQosPolicy publish_mode; //@ID 20 PropertyQosPolicy property; //@ID 21 ServiceQosPolicy service; //@ID 22 BatchQosPolicy batch; //@ID 23 MultiChannelQosPolicy multi_channel; //@ID 24 AvailabilityQosPolicy availability; //@ID 25 EntityNameQosPolicy publication_name; //@ID 26 TopicQueryDispatchQosPolicy topic_query; //@ID 28 DataWriterTransferModeQosPolicy transfer_mode; //@ID 31 TypeSupportQosPolicy type_support; //@ID 27 }; //@top-level false //@Extensibility MUTABLE_EXTENSIBILITY /***** RTI EXTENSIONS ****/ struct PublisherProtocolQosPolicy { boolean vendor_specific_entity; /* * exclusive_area_level moved here from deprecated exclusive area policy. * It is in this policy for convenience only. */ long exclusive_area_level; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct PublisherQos { PresentationQosPolicy presentation; //@ID 0 PartitionQosPolicy partition; //@ID 1 GroupDataQosPolicy group_data; //@ID 2 EntityFactoryQosPolicy entity_factory; //@ID 3 /***** RTI EXTENSIONS ****/ AsynchronousPublisherQosPolicy asynchronous_publisher; //@ID 4 PublisherProtocolQosPolicy protocol; //@ID 6 EntityNameQosPolicy publisher_name; //@ID 7 }; //@top-level false //@Extensibility MUTABLE_EXTENSIBILITY /***** RTI EXTENSION ****/ const long AUTO_MAX_TOTAL_INSTANCES = 0; /***** RTI EXTENSION ****/ enum DataReaderInstanceRemovalKind { NO_INSTANCE_REMOVAL = 0, EMPTY_INSTANCE_REMOVAL, FULLY_PROCESSED_INSTANCE_REMOVAL, ANY_INSTANCE_REMOVAL }; /***** RTI EXTENSION ****/ struct DDS_DataReaderResourceLimitsInstanceReplacementSettings { DataReaderInstanceRemovalKind alive_instance_removal; DataReaderInstanceRemovalKind disposed_instance_removal; DataReaderInstanceRemovalKind no_writers_instance_removal; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct DataReaderResourceLimitsQosPolicy { long max_remote_writers; long max_remote_writers_per_instance; long max_samples_per_remote_writer; long max_infos; long initial_remote_writers; long initial_remote_writers_per_instance; long initial_infos; long initial_outstanding_reads; long max_outstanding_reads; long max_samples_per_read; boolean disable_fragmentation_support; long max_fragmented_samples; long initial_fragmented_samples; long max_fragmented_samples_per_remote_writer; long max_fragments_per_sample; boolean dynamically_allocate_fragmented_samples; long max_total_instances; long max_remote_virtual_writers; long intial_remote_virtual_writers; long max_remote_virtual_writers_per_instance; long initial_remote_virtual_writers_per_instance; long max_remote_writers_per_sample; long max_query_condition_filters; long max_app_ack_response_length; boolean keep_minimum_state_for_instances; long initial_topic_queries; long max_topic_queries; AllocationSettings_t shmem_ref_transfer_mode_attached_segment_allocation; DDS_DataReaderResourceLimitsInstanceReplacementSettings instance_replacement; Duration_t autopurge_remote_not_alive_writer_delay; Duration_t autopurge_remote_virtual_writer_delay; boolean lazily_allocate_batch_resources; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct DataReaderProtocolQosPolicy { GUID_t virtual_guid; //@ID 0 unsigned long rtps_object_id; //@ID 1 boolean expects_inline_qos; //@ID 2 boolean disable_positive_acks; //@ID 3 boolean propagate_dispose_of_unregistered_instances; //@ID 4 RtpsReliableReaderProtocol_t rtps_reliable_reader; //@ID 5 boolean vendor_specific_entity; //@ID 6 boolean propagate_unregister_of_disposed_instances; //@ID 7 boolean meta_entity; //@ID 8 }; //@top-level false //@Extensibility MUTABLE_EXTENSIBILITY /***** RTI EXTENSION ****/ struct TransportMulticastQosPolicy { sequence value; TransportMulticastQosPolicyKind kind; }; //@top-level false struct DataReaderQos { DurabilityQosPolicy durability; //@ID 0 DeadlineQosPolicy deadline; //@ID 1 LatencyBudgetQosPolicy latency_budget; //@ID 2 LivelinessQosPolicy liveliness; //@ID 3 ReliabilityQosPolicy reliability; //@ID 4 DestinationOrderQosPolicy destination_order; //@ID 5 HistoryQosPolicy history; //@ID 6 ResourceLimitsQosPolicy resource_limits; //@ID 7 UserDataQosPolicy user_data; //@ID 8 OwnershipQosPolicy ownership; //@ID 9 TimeBasedFilterQosPolicy time_based_filter; //@ID 10 ReaderDataLifecycleQosPolicy reader_data_lifecycle; //@ID 11 DataRepresentationQosPolicy data_representation; //@ID 26 TypeConsistencyEnforcementQosPolicy type_consistency; //@ID 12 DataTagQosPolicy data_tags; //@ID 25 /***** RTI EXTENSIONS ****/ DataReaderResourceLimitsQosPolicy reader_resource_limits; //@ID 13 DataReaderProtocolQosPolicy protocol; //@ID 14 TransportSelectionQosPolicy transport_selection; //@ID 15 TransportUnicastQosPolicy unicast; //@ID 16 TransportMulticastQosPolicy multicast; //@ID 17 TransportEncapsulationQosPolicy encapsulation; //@ID 18 PropertyQosPolicy property; //@ID 19 ServiceQosPolicy service; //@ID 20 AvailabilityQosPolicy availability; //@ID 21 EntityNameQosPolicy subscription_name; //@ID 22 TransportPriorityQosPolicy transport_priority; //@ID 24 TypeSupportQosPolicy type_support; //@ID 23 }; //@top-level false //@Extensibility MUTABLE_EXTENSIBILITY /***** RTI EXTENSIONS ****/ struct SubscriberProtocolQosPolicy { boolean vendor_specific_entity; }; //@top-level false //@Extensibility EXTENSIBLE_EXTENSIBILITY struct SubscriberQos { PresentationQosPolicy presentation; //@ID 0 PartitionQosPolicy partition; //@ID 1 GroupDataQosPolicy group_data; //@ID 2 EntityFactoryQosPolicy entity_factory; //@ID 3 /***** RTI EXTENSIONS ****/ SubscriberProtocolQosPolicy protocol; //@ID 5 EntityNameQosPolicy subscriber_name; //@ID 6 }; //@top-level false //@Extensibility MUTABLE_EXTENSIBILITY // ---------------------------------------------------------------------- // TODO: Add RTI extensions to built-in topic data struct ParticipantBuiltinTopicData { BuiltinTopicKey_t key; UserDataQosPolicy user_data; }; //@top-level false const long BUILTIN_TOPIC_DATA_STRING_MAX_LENGTH = 255; struct TopicBuiltinTopicData { BuiltinTopicKey_t key; //@ID 0 string name; //@ID 1 string type_name; //@ID 2 DurabilityQosPolicy durability; //@ID 3 DurabilityServiceQosPolicy durability_service; //@ID 4 DeadlineQosPolicy deadline; //@ID 5 LatencyBudgetQosPolicy latency_budget; //@ID 6 LivelinessQosPolicy liveliness; //@ID 7 ReliabilityQosPolicy reliability; //@ID 8 TransportPriorityQosPolicy transport_priority; //@ID 9 LifespanQosPolicy lifespan; //@ID 10 DestinationOrderQosPolicy destination_order; //@ID 11 HistoryQosPolicy history; //@ID 12 ResourceLimitsQosPolicy resource_limits; //@ID 13 OwnershipQosPolicy ownership; //@ID 14 TopicDataQosPolicy topic_data; //@ID 15 TypeConsistencyEnforcementQosPolicy type_consistency; //@ID 16 DataRepresentationQosPolicy data_representation; //@ID 17 }; //@Extensibility MUTABLE_EXTENSIBILITY //@top-level false struct PublicationBuiltinTopicData { BuiltinTopicKey_t key; //@ID 0 BuiltinTopicKey_t participant_key; //@ID 1 string topic_name; //@ID 2 string type_name; //@ID 3 DurabilityQosPolicy durability; //@ID 4 DurabilityServiceQosPolicy durability_service; //@ID 5 DeadlineQosPolicy deadline; //@ID 6 LatencyBudgetQosPolicy latency_budget; //@ID 7 LivelinessQosPolicy liveliness; //@ID 8 ReliabilityQosPolicy reliability; //@ID 9 LifespanQosPolicy lifespan; //@ID 10 UserDataQosPolicy user_data; //@ID 11 OwnershipQosPolicy ownership; //@ID 12 OwnershipStrengthQosPolicy ownership_strength; //@ID 13 DestinationOrderQosPolicy destination_order; //@ID 14 PresentationQosPolicy presentation; //@ID 15 PartitionQosPolicy partition; //@ID 16 TopicDataQosPolicy topic_data; //@ID 17 GroupDataQosPolicy group_data; //@ID 18 TypeConsistencyEnforcementQosPolicy type_consistency; //@ID 19 DataRepresentationQosPolicy data_representation; //@ID 21 DataTagQosPolicy data_tags; //@ID 20 BuiltinTopicKey_t related_datareader_key; //@ID 22 }; //@Extensibility MUTABLE_EXTENSIBILITY //@top-level false struct SubscriptionBuiltinTopicData { BuiltinTopicKey_t key; //@ID 0 BuiltinTopicKey_t participant_key; //@ID 1 string topic_name; //@ID 2 string type_name; //@ID 3 DurabilityQosPolicy durability; //@ID 4 DeadlineQosPolicy deadline; //@ID 5 LatencyBudgetQosPolicy latency_budget; //@ID 6 LivelinessQosPolicy liveliness; //@ID 7 ReliabilityQosPolicy reliability; //@ID 8 OwnershipQosPolicy ownership; //@ID 9 DestinationOrderQosPolicy destination_order; //@ID 10 UserDataQosPolicy user_data; //@ID 11 TimeBasedFilterQosPolicy time_based_filter; //@ID 12 PresentationQosPolicy presentation; //@ID 13 PartitionQosPolicy partition; //@ID 14 TopicDataQosPolicy topic_data; //@ID 15 GroupDataQosPolicy group_data; //@ID 16 TypeConsistencyEnforcementQosPolicy type_consistency; //@ID 17 DataRepresentationQosPolicy data_representation; //@ID 19 DataTagQosPolicy data_tags; //@ID 18 BuiltinTopicKey_t related_datawriter_key; //@ID 20 }; //@Extensibility MUTABLE_EXTENSIBILITY //@top-level false struct SampleInfo { SampleStateKind sample_state; ViewStateKind view_state; InstanceStateKind instance_state; Time_t source_timestamp; InstanceHandle_t instance_handle; InstanceHandle_t publication_handle; long disposed_generation_count; long no_writers_generation_count; long sample_rank; long generation_rank; long absolute_generation_rank; boolean valid_data; /***** RTI EXTENSIONS *****/ Time_t reception_timestamp; SequenceNumber_t publication_sequence_number; SequenceNumber_t reception_sequence_number; GUID_t publication_virtual_guid; SequenceNumber_t publication_virtual_sequence_number; GUID_t original_publication_virtual_guid; SequenceNumber_t original_publication_virtual_sequence_number; }; //@top-level false /****************************************************************** * * * INTERFACES (ignored by rtiddsgen) * * ******************************************************************/ /*CODEGENII-202*/ /*interface Listener; interface Entity; interface TopicDescription; interface Topic; interface ContentFilteredTopic; interface MultiTopic;*/ /*interface DataWriter;*/ interface DataReader; /*interface Subscriber;*/ /*interface Publisher;*/ typedef sequence DataReaderSeq; interface Listener {}; interface TopicListener : Listener { void on_inconsistent_topic(in Topic the_topic, in InconsistentTopicStatus status); }; interface DataWriterListener : Listener { void on_offered_deadline_missed( in DataWriter writer, in OfferedDeadlineMissedStatus status); void on_offered_incompatible_qos( in DataWriter writer, in OfferedIncompatibleQosStatus status); void on_liveliness_lost( in DataWriter writer, in LivelinessLostStatus status); void on_publication_matched( in DataWriter writer, in PublicationMatchedStatus status); }; interface PublisherListener : DataWriterListener { }; interface DataReaderListener : Listener { void on_requested_deadline_missed( in DataReader the_reader, in RequestedDeadlineMissedStatus status); void on_requested_incompatible_qos( in DataReader the_reader, in RequestedIncompatibleQosStatus status); void on_sample_rejected( in DataReader the_reader, in SampleRejectedStatus status); void on_liveliness_changed( in DataReader the_reader, in LivelinessChangedStatus status); void on_data_available( in DataReader the_reader); void on_subscription_matched( in DataReader the_reader, in SubscriptionMatchedStatus status); void on_sample_lost( in DataReader the_reader, in SampleLostStatus status); }; interface SubscriberListener : DataReaderListener { void on_data_on_readers( in Subscriber the_subscriber); }; interface DomainParticipantListener : TopicListener, PublisherListener, SubscriberListener { }; // ---------------------------------------------------------------------- // Conditions // ---------------------------------------------------------------------- interface Condition { boolean get_trigger_value(); }; typedef sequence ConditionSeq; interface WaitSet { ReturnCode_t wait( inout ConditionSeq active_conditions, in Duration_t timeout); ReturnCode_t attach_condition( in Condition cond); ReturnCode_t detach_condition( in Condition cond); ReturnCode_t get_conditions( inout ConditionSeq attached_conditions); }; interface GuardCondition : Condition { ReturnCode_t set_trigger_value( in boolean value); }; interface StatusCondition : Condition { StatusMask get_enabled_statuses(); ReturnCode_t set_enabled_statuses( in StatusMask mask); Entity get_entity(); }; interface ReadCondition : Condition { SampleStateMask get_sample_state_mask(); ViewStateMask get_view_state_mask(); InstanceStateMask get_instance_state_mask(); DataReader get_datareader(); }; interface QueryCondition : ReadCondition { string get_query_expression(); ReturnCode_t get_query_parameters( inout StringSeq query_parameters); ReturnCode_t set_query_parameters( in StringSeq query_parameters); }; // ---------------------------------------------------------------------- interface Entity { // ReturnCode_t set_qos( // in EntityQos qos); // ReturnCode_t get_qos( // inout EntityQos qos); // ReturnCode_t set_listener( // in Listener l, // in StatusMask mask); // Listener get_listener(); ReturnCode_t enable(); StatusCondition get_statuscondition(); StatusMask get_status_changes(); InstanceHandle_t get_instance_handle(); }; // ---------------------------------------------------------------------- interface DomainParticipant : Entity { // Factory interfaces Publisher create_publisher( in PublisherQos qos, in PublisherListener a_listener, in StatusMask mask); ReturnCode_t delete_publisher( in Publisher p); Subscriber create_subscriber( in SubscriberQos qos, in SubscriberListener a_listener, in StatusMask mask); ReturnCode_t delete_subscriber( in Subscriber s); Subscriber get_builtin_subscriber(); Topic create_topic( in string topic_name, in string type_name, in TopicQos qos, in TopicListener a_listener, in StatusMask mask); ReturnCode_t delete_topic( in Topic a_topic); Topic find_topic( in string topic_name, in Duration_t timeout); TopicDescription lookup_topicdescription( in string name); ContentFilteredTopic create_contentfilteredtopic( in string name, in Topic related_topic, in string filter_expression, in StringSeq expression_parameters); ReturnCode_t delete_contentfilteredtopic( in ContentFilteredTopic a_contentfilteredtopic); MultiTopic create_multitopic( in string name, in string type_name, in string subscription_expression, in StringSeq expression_parameters); ReturnCode_t delete_multitopic( in MultiTopic a_multitopic); ReturnCode_t delete_contained_entities(); ReturnCode_t set_qos( in DomainParticipantQos qos); ReturnCode_t get_qos( inout DomainParticipantQos qos); ReturnCode_t set_listener( in DomainParticipantListener a_listener, in StatusMask mask); DomainParticipantListener get_listener(); ReturnCode_t ignore_participant( in InstanceHandle_t handle); ReturnCode_t ignore_topic( in InstanceHandle_t handle); ReturnCode_t ignore_publication( in InstanceHandle_t handle); ReturnCode_t ignore_subscription( in InstanceHandle_t handle); DomainId_t get_domain_id(); ReturnCode_t assert_liveliness(); ReturnCode_t set_default_publisher_qos( in PublisherQos qos); ReturnCode_t get_default_publisher_qos( inout PublisherQos qos); ReturnCode_t set_default_subscriber_qos( in SubscriberQos qos); ReturnCode_t get_default_subscriber_qos( inout SubscriberQos qos); ReturnCode_t set_default_topic_qos( in TopicQos qos); ReturnCode_t get_default_topic_qos( inout TopicQos qos); ReturnCode_t get_discovered_participants( inout InstanceHandleSeq participant_handles); ReturnCode_t get_discovered_participant_data( inout ParticipantBuiltinTopicData participant_data, in InstanceHandle_t participant_handle); ReturnCode_t get_discovered_topics( inout InstanceHandleSeq topic_handles); ReturnCode_t get_discovered_topic_data( inout TopicBuiltinTopicData topic_data, in InstanceHandle_t topic_handle); boolean contains_entity( in InstanceHandle_t a_handle); ReturnCode_t get_current_time( inout Time_t current_time); }; interface DomainParticipantFactory { DomainParticipant create_participant( in DomainId_t domain_id, in DomainParticipantQos qos, in DomainParticipantListener a_listener, in StatusMask mask); ReturnCode_t delete_participant( in DomainParticipant a_participant); DomainParticipant lookup_participant( in DomainId_t domain_id); ReturnCode_t set_default_participant_qos( in DomainParticipantQos qos); ReturnCode_t get_default_participant_qos( inout DomainParticipantQos qos); ReturnCode_t set_qos( in DomainParticipantFactoryQos qos); ReturnCode_t get_qos( inout DomainParticipantFactoryQos qos); }; interface TypeSupport { // ReturnCode_t register_type( // in DomainParticipant domain, // in string type_name); // string get_type_name(); }; // ---------------------------------------------------------------------- interface TopicDescription { string get_type_name(); string get_name(); DomainParticipant get_participant(); }; interface Topic : Entity, TopicDescription { ReturnCode_t set_qos( in TopicQos qos); ReturnCode_t get_qos( inout TopicQos qos); ReturnCode_t set_listener( in TopicListener a_listener, in StatusMask mask); TopicListener get_listener(); // Access the status ReturnCode_t get_inconsistent_topic_status( inout InconsistentTopicStatus a_status); }; interface ContentFilteredTopic : TopicDescription { string get_filter_expression(); ReturnCode_t get_expression_parameters( inout StringSequence expression_parameters); ReturnCode_t set_expression_parameters( in StringSequence expression_parameters); Topic get_related_topic(); }; interface MultiTopic : TopicDescription { string get_subscription_expression(); ReturnCode_t get_expression_parameters( inout StringSequence expression_parameters); ReturnCode_t set_expression_parameters( in StringSequence expression_parameters); }; // ---------------------------------------------------------------------- interface Publisher : Entity { DataWriter create_datawriter( in Topic a_topic, in DataWriterQos qos, in DataWriterListener a_listener, in StatusMask mask); ReturnCode_t delete_datawriter( in DataWriter a_datawriter); DataWriter lookup_datawriter( in string topic_name); ReturnCode_t delete_contained_entities(); ReturnCode_t set_qos( in PublisherQos qos); ReturnCode_t get_qos( inout PublisherQos qos); ReturnCode_t set_listener( in PublisherListener a_listener, in StatusMask mask); PublisherListener get_listener(); ReturnCode_t suspend_publications(); ReturnCode_t resume_publications(); ReturnCode_t begin_coherent_changes(); ReturnCode_t end_coherent_changes(); ReturnCode_t wait_for_acknowledgments( in Duration_t max_wait); DomainParticipant get_participant(); ReturnCode_t set_default_datawriter_qos( in DataWriterQos qos); ReturnCode_t get_default_datawriter_qos( inout DataWriterQos qos); ReturnCode_t copy_from_topic_qos( inout DataWriterQos a_datawriter_qos, in TopicQos a_topic_qos); }; interface DataWriter : Entity { // InstanceHandle_t register_instance( // in Data instance_data); // InstanceHandle_t register_instance_w_timestamp( // in Data instance_data, // in Time_t source_timestamp); // ReturnCode_t unregister_instance( // in Data instance_data, // in InstanceHandle_t handle); // ReturnCode_t unregister_instance_w_timestamp( // in Data instance_data, // in InstanceHandle_t handle, // in Time_t source_timestamp); // ReturnCode_t write( // in Data instance_data, // in InstanceHandle_t handle); // ReturnCode_t write_w_timestamp( // in Data instance_data, // in InstanceHandle_t handle, // in Time_t source_timestamp); // ReturnCode_t dispose( // in Data instance_data, // in InstanceHandle_t instance_handle); // ReturnCode_t dispose_w_timestamp( // in Data instance_data, // in InstanceHandle_t instance_handle, // in Time_t source_timestamp); // ReturnCode_t get_key_value( // inout Data key_holder, // in InstanceHandle_t handle); // InstanceHandle_t lookup_instance( // in Data instance_data); ReturnCode_t set_qos( in DataWriterQos qos); ReturnCode_t get_qos( inout DataWriterQos qos); ReturnCode_t set_listener( in DataWriterListener a_listener, in StatusMask mask); DataWriterListener get_listener(); Topic get_topic(); Publisher get_publisher(); ReturnCode_t wait_for_acknowledgments( in Duration_t max_wait); // Access the status ReturnCode_t get_liveliness_lost_status( inout LivelinessLostStatus status); ReturnCode_t get_offered_deadline_missed_status( inout OfferedDeadlineMissedStatus status); ReturnCode_t get_offered_incompatible_qos_status( inout OfferedIncompatibleQosStatus status); ReturnCode_t get_publication_matched_status( inout PublicationMatchedStatus status); ReturnCode_t assert_liveliness(); ReturnCode_t get_matched_subscriptions( inout InstanceHandleSeq subscription_handles); ReturnCode_t get_matched_subscription_data( inout SubscriptionBuiltinTopicData subscription_data, in InstanceHandle_t subscription_handle); }; // ---------------------------------------------------------------------- interface Subscriber : Entity { DataReader create_datareader( in TopicDescription a_topic, in DataReaderQos qos, in DataReaderListener a_listener, in StatusMask mask); ReturnCode_t delete_datareader( in DataReader a_datareader); ReturnCode_t delete_contained_entities(); DataReader lookup_datareader( in string topic_name); ReturnCode_t get_datareaders( inout DataReaderSeq readers, in SampleStateMask sample_states, in ViewStateMask view_states, in InstanceStateMask instance_states); ReturnCode_t notify_datareaders(); ReturnCode_t set_qos( in SubscriberQos qos); ReturnCode_t get_qos( inout SubscriberQos qos); ReturnCode_t set_listener( in SubscriberListener a_listener, in StatusMask mask); SubscriberListener get_listener(); ReturnCode_t begin_access(); ReturnCode_t end_access(); DomainParticipant get_participant(); ReturnCode_t set_default_datareader_qos( in DataReaderQos qos); ReturnCode_t get_default_datareader_qos( inout DataReaderQos qos); ReturnCode_t copy_from_topic_qos( inout DataReaderQos a_datareader_qos, in TopicQos a_topic_qos); }; /* CODEGENII-202 interface DataReader : Entity { // ReturnCode_t read( // inout DataSeq data_values, // inout SampleInfoSeq sample_infos, // in long max_samples, // in SampleStateMask sample_states, // in ViewStateMask view_states, // in InstanceStateMask instance_states); // ReturnCode_t take( // inout DataSeq data_values, // inout SampleInfoSeq sample_infos, // in long max_samples, // in SampleStateMask sample_states, // in ViewStateMask view_states, // in InstanceStateMask instance_states); // ReturnCode_t read_w_condition( // inout DataSeq data_values, // inout SampleInfoSeq sample_infos, // in long max_samples, // in ReadCondition a_condition); // ReturnCode_t take_w_condition( // inout DataSeq data_values, // inout SampleInfoSeq sample_infos, // in long max_samples, // in ReadCondition a_condition); // ReturnCode_t read_next_sample( // inout Data data_values, // inout SampleInfo sample_info); // ReturnCode_t take_next_sample( // inout Data data_values, // inout SampleInfo sample_info); // ReturnCode_t read_instance( // inout DataSeq data_values, // inout SampleInfoSeq sample_infos, // in long max_samples, // in InstanceHandle_t a_handle, // in SampleStateMask sample_states, // in ViewStateMask view_states, // in InstanceStateMask instance_states); // ReturnCode_t take_instance( // inout DataSeq data_values, // inout SampleInfoSeq sample_infos, // in long max_samples, // in InstanceHandle_t a_handle, // in SampleStateMask sample_states, // in ViewStateMask view_states, // in InstanceStateMask instance_states); // ReturnCode_t read_next_instance( // inout DataSeq data_values, // inout SampleInfoSeq sample_infos, // in long max_samples, // in InstanceHandle_t previous_handle, // in SampleStateMask sample_states, // in ViewStateMask view_states, // in InstanceStateMask instance_states); // ReturnCode_t take_next_instance( // inout DataSeq data_values, // inout SampleInfoSeq sample_infos, // in long max_samples, // in InstanceHandle_t previous_handle, // in SampleStateMask sample_states, // in ViewStateMask view_states, // in InstanceStateMask instance_states); // ReturnCode_t read_next_instance_w_condition( // inout DataSeq data_values, // inout SampleInfoSeq sample_infos, // in long max_samples, // in InstanceHandle_t previous_handle, // in ReadCondition a_condition); // ReturnCode_t take_next_instance_w_condition( // inout DataSeq data_values, // inout SampleInfoSeq sample_infos, // in long max_samples, // in InstanceHandle_t previous_handle, // in ReadCondition a_condition); // ReturnCode_t return_loan( // inout DataSeq data_values, // inout SampleInfoSeq sample_infos); // ReturnCode_t get_key_value( // inout Data key_holder, // in InstanceHandle_t handle); // InstanceHandle_t lookup_instance( // in Data instance_data); ReadCondition create_readcondition( in SampleStateMask sample_states, in ViewStateMask view_states, in InstanceStateMask instance_states); QueryCondition create_querycondition( in SampleStateMask sample_states, in ViewStateMask view_states, in InstanceStateMask instance_states, in string query_expression, in StringSeq query_parameters); ReturnCode_t delete_readcondition( in ReadCondition a_condition); ReturnCode_t delete_contained_entities(); ReturnCode_t set_qos( in DataReaderQos qos); ReturnCode_t get_qos( inout DataReaderQos qos); ReturnCode_t set_listener( in DataReaderListener a_listener, in StatusMask mask); DataReaderListener get_listener(); TopicDescription get_topicdescription(); Subscriber get_subscriber(); ReturnCode_t get_sample_rejected_status( inout SampleRejectedStatus status); ReturnCode_t get_liveliness_changed_status( inout LivelinessChangedStatus status); ReturnCode_t get_requested_deadline_missed_status( inout RequestedDeadlineMissedStatus status); ReturnCode_t get_requested_incompatible_qos_status( inout RequestedIncompatibleQosStatus status); ReturnCode_t get_subscription_matched_status( inout SubscriptionMatchedStatus status); ReturnCode_t get_sample_lost_status( inout SampleLostStatus status); ReturnCode_t wait_for_historical_data( in Duration_t max_wait); ReturnCode_t get_matched_publications( inout InstanceHandleSeq publication_handles); ReturnCode_t get_matched_publication_data( inout PublicationBuiltinTopicData publication_data, in InstanceHandle_t publication_handle); };*/ };