opendds qos策略之RELIABILITY

RELIABILITY策略的含义

中文含义“可靠性”。“可靠性”策略指datawirter和datareader在通信过程中如何处理发送端发出的样本数据,字面意思理解就是是否需要保证writer发出的数据可靠的到达接收端。

RELIABILITY策略哪些对象可以设置

该策略可以设置的对象有topic对象,writer对象和reader对象。同样的我认为如果对topic设置了某个策略,则会生效到所有绑定该topic的writer和reader,如果仅仅对某个wirter或者reader设置了可靠性策略,则该策略仅会影响设置的writer和reader。

RELIABILITY的策略之kind

BEST_EFFORT_RELIABILITY_QOS = 0:该策略的含义是不保证样本发送的可靠性,即writer发送的样本数据尽力发送到对应的reader端,甚至有可能丢失。

RELIABLE_RELIABILITY_QOS = 1:该策略的含义是保证writer发送的数据最后传输到匹配的reader。

RELIABILITY策略之max_blocking_time

max_blocking_time的值不会直接影响可靠性策略,它会影响HISTORY策略,这里简要的说下,即当HISTORY策略设置为“keep all”(保存所有历史数据),并且datawriter端内存耗尽无法再处理新的数据时,datawirter会阻塞max_blocking_time指定的时间,然后返回失败。

RELIABILITY策略默认值

对于datawriter来说该策略的默认值是“reliable”;而对于datareader来说默认值是“best effort”。

RELIABILITY策略在建立连接过程中的匹配

datawriter与datareader在匹配建立联系的过程中要匹配这二者之间的RELIABILITY策略的兼容性。

兼容策略:

  • datawriter的RELIABILITY策略(kind)的值大于等于datareader的值。

你可能感兴趣的:(opendds,opendds)