ZBLOG

15.6.1.1.2. Limiting the size of custom parameters data_limits inside ParticipantResourceLimitsQos provides three data members to configure the allocation behavior of custom parameters: max_user_data limits the size of UserDataQosPolicy to the g...

15.6.1.1.2. Limiting the Size of Custom Parameters

ParticipantResourceLimitsQos中,data_limits提供了三个数据成员来配置自定义参数的分配行为:

  • max_user_data: 限制UserDataQosPolicy的大小,以给定字节数为准。

  • max_properties: 限制PartitionQosPolicy的大小,以给定字节数为准。

  • max_partitions: 限制PropertyPolicyQos的大小,以给定字节数为准。

如果这些大小被配置为非零值,将为每个参与者和端点分配足够的内存。值为零表示没有大小限制,内存将根据需要动态分配。默认情况下,使用完全动态行为。

ParticipantResourceLimitsQos中的content_filter提供了成员来配置内容过滤发现信息的分配行为:

  • expression_initial_size: 设置过滤表达式的预分配大小。

  • expression_parameters: 控制表达式参数列表的分配行为。有关替代方案的完整描述,请参考 ResourceLimitedContainerConfig。接收包含超出此处最大配置参数数量的信息时,过滤将在读取器端进行。

C++ 示例

DomainParticipantQos qos;

// 将完整用户数据字段的大小固定为256个八位字节
qos.allocation().data_limits.max_user_data = 256u;
// 将完整分区字段的大小固定为256个八位字节
qos.allocation().data_limits.max_partitions = 256u;
// 将完整属性字段的大小固定为512个八位字节
qos.allocation().data_limits.max_properties = 512u;
// 设置预分配过滤表达式大小为512个字符
qos.allocation().content_filter.expression_initial_size = 512u;
// 将表达式参数的最大数量设置为4,并且其分配配置设置为固定大小
qos.allocation().content_filter.expression_parameters =
        eprosima::fastdds::ResourceLimitedContainerConfig::fixed_size_configuration(4u);

XML 示例

<?xml version="1.0" encoding="UTF-8" ?>
<profiles xmlns="http://www.eprosima.com">
    <participant profile_name="participant_profile_qos_parameter_resource_limit">
        <rtps>
            <allocation>
                <max_partitions>256</max_partitions>
                <max_user_data>256</max_user_data>
                <max_properties>512</max_properties>

                <!-- content_filter 暂不支持通过 XML 配置 -->
            </allocation>
        </rtps>
    </participant>
</profiles>

警告

如果远程对等体宣布的数据字段不适合预分配内存,则在处理公告消息期间将触发错误。这通常意味着具有过大数据字段的远程对等体的发现消息将被丢弃,即具有过大数据字段的对等体将无法被发现。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=21888

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?