DDS QoS - RESOURCE_LIMITS

https://download.csdn.net/download/eidolon_foot/12568768

19. RESOURCE_LIMITS
 
OpenDDS Developer's Guide(OpenDDS Version 3.14)
The RESOURCE_LIMITS policy determines the amount of resources the service can consume in order to meet the requested QoS. This policy applies to the topic, data reader, and data writer entities via the resource_limits member of their respective QoS structures. Below is the IDL related to the resource limits QoS policy.
RESOURCE_LIMITS策略确定服务可以消耗以满足要求的QoS的资源量。 此策略通过各自的QoS结构的resource_limits成员适用于主题、数据读取器和数据写入器实体。 以下是与资源限制QoS策略相关的IDL。
struct ResourceLimitsQosPolicy {
long max_samples;
long max_instances;
long max_samples_per_instance;
};
The max_samples member specifies the maximum number of samples a single data writer or data reader can manage across all of its instances. The max_instances member specifies the maximum number of instances that a data writer or data reader can manage. The max_samples_per_instance member specifies the maximum number of samples that can be managed for an individual instance in a single data writer or data reader. The values of all these members default to unlimited ( DDS::LENGTH_UNLIMITED ).
max_samples成员指定单个数据写入器或数据读取器可以在其所有实例中管理的最大样本数。 max_instances成员指定数据写入器或数据读取器可以管理的最大实例数。 max_samples_per_instance成员指定可以在单个数据写入器或数据读取器中为单个实例管理的最大样本数。 所有这些成员的值默认为无限制(DDS ::LENGTH_UNLIMITED)。
Resources are used by the data writer to queue samples written to the data writer but not yet sent to all data readers because of backpressure from the transport. Resources are used by the data reader to queue samples that have been received, but not yet read/taken from the data reader.
数据写入器使用资源来使写入数据写入器的样本排队,但由于传输产生的背压,这些样本尚未发送给所有数据读取器。 数据读取器使用资源来对已接收但尚未从数据读取器读取/获取的样本进行排队。
 
Data Distribution Service Version 1.4( formal/2015-04-10)
This policy controls the resources that the Service can use in order to meet the requirements imposed by the application and other QoS settings.
此策略控制服务可以使用的资源,以满足应用程序和其他QoS设置施加的要求。
If the DataWriter objects are communicating samples faster than they are ultimately taken by the DataReader objects, the middleware will eventually hit against some of the QoS-imposed resource limits. Note that this may occur when just a single DataReader cannot keep up with its corresponding DataWriter . The behavior in this case depends on the setting for the RELIABILITY QoS. If reliability is BEST_EFFORT then the Service is allowed to drop samples. If the reliability is RELIABLE, the Service will block the DataWriter or discard the sample at the DataReader in order not to lose existing samples.
如果DataWriter对象传递样本的速度比DataReader对象最终获取的速度快,则中间件最终将遇到某些QoS施加的资源限制。 请注意,当只有一个DataReader不能跟上其对应的DataWriter时,可能会发生这种情况。 在这种情况下,行为取决于“可靠性QoS”的设置。 如果可靠性为BEST_EFFORT,则允许服务删除样本。 如果可靠性是可靠的,则服务将阻止DataWriter或在DataReader 处丢弃样本,以免丢失现有样本。
The constant LENGTH_UNLIMITED may be used to indicate the absence of a particular limit. For example setting max_samples_per_instance to LENGH_UNLIMITED will cause the middleware to not enforce this particular limit.
常量LENGTH_UNLIMITED可用于指示不存在特定限制。 例如,将max_samples_per_instance设置为LENGH_UNLIMITED将导致中间件不强制执行此特定限制。
The setting of RESOURCE_LIMITS max_samples must be consistent with the max_samples_per_instance . For these two values to be consistent they must verify that “ max_samples >= max_samples_per_instance .”
RESOURCE_LIMITS max_samples的设置必须与max_samples_per_instance相一致。 为了使这两个值一致,它们必须验证“ max_samples> = max_samples_per_instance”。
The setting of RESOURCE_LIMITS max_samples_per_instance must be consistent with the HISTORY depth . For these two QoS to be consistent, they must verify that “ depth <= max_samples_per_instance .”
RESOURCE LIMITS max_samples per_instance的设置必须与HISTORY深度一致。 为了使这两个QoS保持一致,它们必须验证“ depth <= max_samples per_instance”。
An attempt to set this policy to inconsistent values when an entity is created of via a set_qos operation will cause the operation to fail.
通过set_qos操作创建实体时,尝试将此策略设置为不一致的值将导致操作失败。
 

你可能感兴趣的:(DDS)