本文整理汇总了C++中dds::Publisher_var::set_qos方法的典型用法代码示例。如果您正苦于以下问题:C++ Publisher_var::set_qos方法的具体用法?C++ Publisher_var::set_qos怎么用?C++ Publisher_var::set_qos使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dds::Publisher_var
的用法示例。
在下文中一共展示了Publisher_var::set_qos方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ACE_TMAIN
//.........这里部分代码省略.........
}
while (attempts != max_attempts)
{
::DDS::InstanceHandleSeq handles;
dw->get_matched_subscriptions(handles);
cout << "Pub matched " << handles.length() << " A subs." << std::endl;
if (handles.length() == 1)
{
handle = handles[0];
break;
}
else
ACE_OS::sleep(1);
++attempts;
}
if (attempts == max_attempts)
{
cerr << "ERROR: failed to wait for first DataReader." << endl;
exit (1);
}
writer->start ();
writer->end ();
}
// ----------------------------------------------
// Switch from PARTITION A to B, now the first DataReader belong to
// PARTITION A should be disconnected and the second DataReader belong to
// PARTITION B should be connected.
pub_qos.partition.name[0] = PARTITION_B;
if (pub->set_qos (pub_qos)!= ::DDS::RETCODE_OK)
{
cerr << "ERROR: DataWriter changed partition which should be compatible "
<< "but should disconnect with DataReaders" << endl;
exit (1);
}
// ----------------------------------------------
// Now DataWriter is in PARTITION B, the second DataReader in PARTITION B
// should receive the messages.
{
std::auto_ptr<Writer> writer (new Writer (dw.in ()));
cout << "Pub waiting for match on B partition." << std::endl;
if (OpenDDS::Model::WriterSync::wait_match(dw)) {
cerr << "Error waiting for match on B partition" << std::endl;
return 1;
}
attempts = 1;
while (attempts != max_attempts)
{
::DDS::InstanceHandleSeq handles;
dw->get_matched_subscriptions(handles);
cout << "Pub matched " << handles.length() << " B subs." << std::endl;
if (handles.length() == 1 && handles[0] != handle)
break;
else
ACE_OS::sleep(1);
++attempts;
}