本文整理汇总了C++中ice::CommunicatorPtr::findAdminFacet方法的典型用法代码示例。如果您正苦于以下问题:C++ CommunicatorPtr::findAdminFacet方法的具体用法?C++ CommunicatorPtr::findAdminFacet怎么用?C++ CommunicatorPtr::findAdminFacet使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ice::CommunicatorPtr
的用法示例。
在下文中一共展示了CommunicatorPtr::findAdminFacet方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: test
static void
testFacets(const Ice::CommunicatorPtr& com, bool builtInFacets = true)
{
if(builtInFacets)
{
test(com->findAdminFacet("Properties"));
test(com->findAdminFacet("Process"));
test(com->findAdminFacet("Logger"));
test(com->findAdminFacet("Metrics"));
}
TestFacetPtr f1 = ICE_MAKE_SHARED(TestFacetI);
TestFacetPtr f2 = ICE_MAKE_SHARED(TestFacetI);
TestFacetPtr f3 = ICE_MAKE_SHARED(TestFacetI);
com->addAdminFacet(f1, "Facet1");
com->addAdminFacet(f2, "Facet2");
com->addAdminFacet(f3, "Facet3");
test(com->findAdminFacet("Facet1") == f1);
test(com->findAdminFacet("Facet2") == f2);
test(com->findAdminFacet("Facet3") == f3);
test(!com->findAdminFacet("Bogus"));
const Ice::FacetMap facetMap = com->findAllAdminFacets();
if(builtInFacets)
{
test(facetMap.size() == 7);
test(facetMap.find("Properties") != facetMap.end());
test(facetMap.find("Process") != facetMap.end());
test(facetMap.find("Logger") != facetMap.end());
test(facetMap.find("Metrics") != facetMap.end());
}
else
{
test(facetMap.size() >= 3);
}
test(facetMap.find("Facet1") != facetMap.end());
test(facetMap.find("Facet2") != facetMap.end());
test(facetMap.find("Facet3") != facetMap.end());
try
{
com->addAdminFacet(f1, "Facet1");
test(false);
}
catch(const Ice::AlreadyRegisteredException&)
{
// Expected
}
try
{
com->removeAdminFacet("Bogus");
test(false);
}
catch(const Ice::NotRegisteredException&)
{
// Expected
}
com->removeAdminFacet("Facet1");
com->removeAdminFacet("Facet2");
com->removeAdminFacet("Facet3");
try
{
com->removeAdminFacet("Facet1");
test(false);
}
catch(const Ice::NotRegisteredException&)
{
// Expected
}
}
示例2: c
MetricsPrx
allTests(const Ice::CommunicatorPtr& communicator, const CommunicatorObserverIPtr& obsv)
{
MetricsPrx metrics = MetricsPrx::checkedCast(communicator->stringToProxy("metrics:default -p 12010"));
cout << "testing metrics admin facet checkedCast... " << flush;
Ice::ObjectPrx admin = communicator->getAdmin()->ice_collocationOptimized(false);
Ice::PropertiesAdminPrx clientProps = Ice::PropertiesAdminPrx::checkedCast(admin, "Properties");
IceMX::MetricsAdminPrx clientMetrics = IceMX::MetricsAdminPrx::checkedCast(admin, "Metrics");
test(clientProps && clientMetrics);
admin = metrics->getAdmin();
Ice::PropertiesAdminPrx serverProps = Ice::PropertiesAdminPrx::checkedCast(admin, "Properties");
IceMX::MetricsAdminPrx serverMetrics = IceMX::MetricsAdminPrx::checkedCast(admin, "Metrics");
test(serverProps && serverMetrics);
UpdateCallbackI* update = new UpdateCallbackI(serverProps);
Ice::NativePropertiesAdminPtr::dynamicCast(communicator->findAdminFacet("Properties"))->addUpdateCallback(update);
cout << "ok" << endl;
Ice::PropertyDict props;
cout << "testing group by none..." << flush;
props["IceMX.Metrics.View.GroupBy"] = "none";
updateProps(clientProps, serverProps, update, props);
#ifndef ICE_OS_WINRT
int threadCount = 4;
#else
int threadCount = 3; // No endpoint host resolver thread with WinRT.
#endif
Ice::Long timestamp;
IceMX::MetricsView view = clientMetrics->getMetricsView("View", timestamp);
test(view["Connection"].size() == 1 && view["Connection"][0]->current == 1 && view["Connection"][0]->total == 1);
test(view["Thread"].size() == 1 && view["Thread"][0]->current == threadCount &&
view["Thread"][0]->total == threadCount);
cout << "ok" << endl;
cout << "testing group by id..." << flush;
props["IceMX.Metrics.View.GroupBy"] = "id";
updateProps(clientProps, serverProps, update, props);
metrics->ice_ping();
metrics->ice_ping();
metrics->ice_connectionId("Con1")->ice_ping();
metrics->ice_connectionId("Con1")->ice_ping();
metrics->ice_connectionId("Con1")->ice_ping();
view = clientMetrics->getMetricsView("View", timestamp);
test(static_cast<int>(view["Thread"].size()) == threadCount);
test(view["Connection"].size() == 2);
test(view["Invocation"].size() == 1);
IceMX::InvocationMetricsPtr invoke = IceMX::InvocationMetricsPtr::dynamicCast(view["Invocation"][0]);
test(invoke->id.find("[ice_ping]") > 0 && invoke->current == 0 && invoke->total == 5);
test(invoke->remotes.size() == 2);
test(invoke->remotes[0]->total = 2);
test(invoke->remotes[1]->total = 3);
view = serverMetrics->getMetricsView("View", timestamp);
test(view["Thread"].size() > 4);
test(view["Connection"].size() == 2);
test(view["Dispatch"].size() == 1);
test(view["Dispatch"][0]->current <= 1 && view["Dispatch"][0]->total == 5);
test(view["Dispatch"][0]->id.find("[ice_ping]") > 0);
metrics->ice_getConnection()->close(false);
metrics->ice_connectionId("Con1")->ice_getConnection()->close(false);
waitForCurrent(clientMetrics, "View", "Connection", 0);
waitForCurrent(serverMetrics, "View", "Connection", 0);
clearView(clientProps, serverProps, update);
cout << "ok" << endl;
cout << "testing connection metrics... " << flush;
props["IceMX.Metrics.View.Map.Connection.GroupBy"] = "none";
updateProps(clientProps, serverProps, update, props, "Connection");
test(clientMetrics->getMetricsView("View", timestamp)["Connection"].empty());
test(serverMetrics->getMetricsView("View", timestamp)["Connection"].empty());
metrics->ice_ping();
IceMX::ConnectionMetricsPtr cm1, sm1, cm2, sm2;
cm1 = IceMX::ConnectionMetricsPtr::dynamicCast(clientMetrics->getMetricsView("View", timestamp)["Connection"][0]);
sm1 = IceMX::ConnectionMetricsPtr::dynamicCast(serverMetrics->getMetricsView("View", timestamp)["Connection"][0]);
sm1 = getServerConnectionMetrics(serverMetrics, 25);
test(cm1->total == 1 && sm1->total == 1);
metrics->ice_ping();
cm2 = IceMX::ConnectionMetricsPtr::dynamicCast(clientMetrics->getMetricsView("View", timestamp)["Connection"][0]);
//.........这里部分代码省略.........