本文整理汇总了C++中Subscriber::PrintStatistics方法的典型用法代码示例。如果您正苦于以下问题:C++ Subscriber::PrintStatistics方法的具体用法?C++ Subscriber::PrintStatistics怎么用?C++ Subscriber::PrintStatistics使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Subscriber
的用法示例。
在下文中一共展示了Subscriber::PrintStatistics方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char* argv[])
{
if(!CommandLine::Instance().Parse(argc,argv))
{
return -1;
}
try
{
Safir::Dob::Connection connection;
SimpleDispatcher dispatcher(connection);
std::wstring name = L"Entity";
if (CommandLine::Instance().Owner())
{
name += L"Owner";
}
else if (CommandLine::Instance().Subscriber())
{
name += L"Subscriber";
}
for(int instance = 0;;++instance)
{
try
{
connection.Open(name,
boost::lexical_cast<std::wstring>(instance),
0, // Context
&dispatcher,
&dispatcher);
break;
}
catch(const Safir::Dob::NotOpenException &)
{
}
}
std::wcout << "Started as " << Safir::Dob::ConnectionAspectMisc(connection).GetConnectionName() << std::endl;
bool done = false;
if (CommandLine::Instance().Owner())
{
Owner owner;
while (!done)
{
if (!CommandLine::Instance().NoSleep())
{
const bool dispatch = dispatcher.Wait(CommandLine::Instance().SleepTime());
if (dispatch)
{
connection.Dispatch();
}
}
for (int i = 0; i < CommandLine::Instance().BatchSize(); ++i)
{
owner.Set();
}
}
}
else if (CommandLine::Instance().Subscriber())
{
Subscriber subscriber;
bool started = false;
while (!done)
{
const bool dispatch = dispatcher.Wait(10000);
if(dispatch)
{
started = true;
connection.Dispatch();
}
else if (started)
{
std::wcout << "No dispatch event in 10s, printing statistics and exiting" << std::endl;
subscriber.PrintStatistics();
if (CommandLine::Instance().ExtraDispatch())
{
std::wcout << "Performing an extra dispatch, and then printing statistics again:" << std::endl;
connection.Dispatch();
subscriber.PrintStatistics();
}
break;
}
}
}
}
catch(std::exception & e)
{
std::wcout << "Caught std::exception! Contents of exception is:" << std::endl
<< e.what()<<std::endl;
std::cin.get();
}
catch (...)
{
//.........这里部分代码省略.........