RTI Connext Micro C API
Version 2.4.14.1
|
<<cert>> Resource limits that apply only to DDS_DomainParticipant instances. More...
Data Fields | |
DDS_Long | local_writer_allocation |
The maximum number of local Writers that can be created. | |
DDS_Long | local_reader_allocation |
The maximum number of local Readers that can be created. | |
DDS_Long | local_publisher_allocation |
The maximum number of local Publishers that can be created. | |
DDS_Long | local_subscriber_allocation |
The maximum number of local Subscribers that can be created. | |
DDS_Long | local_topic_allocation |
The maximum number of topics that can be created. | |
DDS_Long | local_type_allocation |
The maximum number of local types that can be registered with this DomainParticipant. | |
DDS_Long | remote_participant_allocation |
The maximum number of remote participants that can be discovered by this DomainParticipant. | |
DDS_Long | remote_writer_allocation |
The maximum number of remote writers that can be discovered by this DomainParticipant. | |
DDS_Long | remote_reader_allocation |
The maximum number of remote readers that can be discovered by this DomainParticipant. | |
DDS_Long | matching_writer_reader_pair_allocation |
The maximum number of matching local writer and remote/local reader pairs. | |
DDS_Long | max_receive_ports |
Maximum number of addresses that can be listened on. | |
DDS_Long | max_destination_ports |
Maximum number of unique destination addresses that a participant can reach. |
<<cert>> Resource limits that apply only to DDS_DomainParticipant instances.
This QoS policy is an extension to the DDS standard.
DDS_Long DDS_DomainParticipantResourceLimitsQosPolicy::local_writer_allocation |
The maximum number of local Writers that can be created.
This resource-limit limits the maximum number of DDS_DataWriter entities that can be created with the DDS_Publisher_create_datawriter() API within a single DDS_DomainParticipant across all DDS_Publisher entities.
[default] 1
DDS_Long DDS_DomainParticipantResourceLimitsQosPolicy::local_reader_allocation |
The maximum number of local Readers that can be created.
This resource-limit limits the maximum number of DDS_DataReader entities that can be created with the DDS_Subscriber_create_datareader() API within a single DDS_DomainParticipant across all DDS_Subscriber entities.
[default] 1
DDS_Long DDS_DomainParticipantResourceLimitsQosPolicy::local_publisher_allocation |
The maximum number of local Publishers that can be created.
This resource-limit limits the maximum number of DDS_Publisher entities that can be created within a DDS_DomainParticipant with the DDS_DomainParticipant_create_publisher() API.
[default] 1
DDS_Long DDS_DomainParticipantResourceLimitsQosPolicy::local_subscriber_allocation |
The maximum number of local Subscribers that can be created.
This resource-limit limits the maximum number of DDS_Subscriber entities that can be created within a DDS_DomainParticipant with the DDS_DomainParticipant_create_subscriber() API.
[default] 1
DDS_Long DDS_DomainParticipantResourceLimitsQosPolicy::local_topic_allocation |
The maximum number of topics that can be created.
This resource-limit limits the maximum number of unique DDS_Topic's that can be created within a single DDS_DomainParticipant with the DDS_DomainParticipant_create_topic() API.
[default] 1
DDS_Long DDS_DomainParticipantResourceLimitsQosPolicy::local_type_allocation |
The maximum number of local types that can be registered with this DomainParticipant.
This resource-limit limits the maximum number of unique NDDS_Type_Plugin's that can be registered locally within a single DDS_DomainParticipant with the FooTypeSupport_register_type() API.
[default] 1
DDS_Long DDS_DomainParticipantResourceLimitsQosPolicy::remote_participant_allocation |
The maximum number of remote participants that can be discovered by this DomainParticipant.
This resource-limit limits the maximum number of DDS_DomainParticipant's that can be discovered by a local DDS_DomainParticipant.
The DPDE discovery plugin is a first discovered first served basis and the only way to limit discovery is careful use of peer addresses. The DPSE discovery plugin limits the discovery to those that have been asserted based on the DomainParticipant name using DPSE_RemoteParticipant_assert
[default] 1
DDS_Long DDS_DomainParticipantResourceLimitsQosPolicy::remote_writer_allocation |
The maximum number of remote writers that can be discovered by this DomainParticipant.
This resource-limit limits the maximum number of remote DDS_DataWriter entities that can be discovered by a local DDS_DomainParticipant. Note that a remote DDS_DataWriter cannot be discovered until its parent DDS_DomainParticipant has been discovered.
[default] 1
DDS_Long DDS_DomainParticipantResourceLimitsQosPolicy::remote_reader_allocation |
The maximum number of remote readers that can be discovered by this DomainParticipant.
This resource-limit limits the maximum number of remote DDS_DataReader entities that can be discovered by a local DomainParticipant. Note that a remote DDS_DataReader cannot be discovered until its parent DDS_DomainParticipant has been discovered.
[default] 1
DDS_Long DDS_DomainParticipantResourceLimitsQosPolicy::matching_writer_reader_pair_allocation |
The maximum number of matching local writer and remote/local reader pairs.
When RTI Connext Micro discovers DDS entities using a DDS discovery protocol, such as DPSE (Dynamic Participant Static Endpoint) or DPDE (Dynamic Participant Dynamic Endpoint), it matches the discovered entities with the locally created DataReaders and DataWriters. For each match, either a local DataWriter matching a remote DataReader or a local DataReader matching a remote DataWriter, internal state must be managed.
A match, in this context, is defined as being able to receive packets sent from a DDS_DataReader to a DDS_DataWriter, or from a DDS_DataWriter to a DDS_DataReader:
This resource-limit limits the maximum number of matches that can be managed. When this resource limit is reached no further matching can occur, even if new DDS_DataReader's and DDS_DataWriter's are discovered.
A simple rule of thumb is to set this resource limit to:
This assumes that each DDS_DataReader and DDS_DataWriter matches one DDS_DataWriter and DDS_DataReader respectively for each discovered participant. However, this may over-allocate resources.
[default] 32
DDS_Long DDS_DomainParticipantResourceLimitsQosPolicy::max_receive_ports |
Maximum number of addresses that can be listened on.
RTI Connext Micro listens for discovery data and user data on different transports as specified by the user. This resource-limit limits the maximum number of addresses that can be listened on. As a rule of thumb, this resource limit can be determined as follows: - A user-traffic unicast port counts as 1. - A meta-traffic unicast port counts as 1. - A user-traffic multicast address counts as 1. - A meta-traffic multicast address counts as 1.
Consider the typical case with the UDP transport, using unicast and multicast for discovery data and unicast for user data:
Thus, this requires 3 resources.
Consider a case with the UDP transport, using unicast and multicast for discovery data and user data: - Discovery data needs two ports. - User data needs two ports.
Thus, this requires 4 resources.
Consider a case with the UDP transport, using unicast and 2 multicast addresses each for discovery data and user data:
Thus, this requires 6 resources.
The default value has been set to cover most cases. This resource-limit should only be changed if a lot of interfaces are supported (increase it) or if memory is extremely limited (decrease it).
[default] 8
DDS_Long DDS_DomainParticipantResourceLimitsQosPolicy::max_destination_ports |
Maximum number of unique destination addresses that a participant can reach.
RTI Connext Micro maintains a table of destination addresses which it can send to based on information queried from the registered transports. This resource limit is difficult to give a precise rule for how to determine since it is transport dependent. However, as a rule of thumb the following is true: - Each network that can be reached directly by the transport requires 1 resource. - If multicast is supported it counts as 1 resource. - If the transport is the default transport (by default UDP is) it counts as one address
Consider a typical Linux computer with 2 network interfaces, eth0 and lo, with support for multicast:
This requires 4 resources.
Consider a typical embedded computer with 1 network interfaces, eth0, with no support for multicast:
This requires 3 resources.
The default value has been set to cover most cases. This resource-limit should only be changed if a lot of interfaces are supported (increase it) or if memory is extremely limited (decrease it).
[default] 8