本文整理汇总了C++中request::get_gid方法的典型用法代码示例。如果您正苦于以下问题:C++ request::get_gid方法的具体用法?C++ request::get_gid怎么用?C++ request::get_gid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类request
的用法示例。
在下文中一共展示了request::get_gid方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: resolve_locality
response locality_namespace::resolve_locality(
request const& req
, error_code& ec
)
{ // {{{ resolve_locality implementation
using hpx::util::get;
boost::uint32_t prefix = naming::get_locality_id_from_gid(req.get_gid());
std::lock_guard<mutex_type> l(mutex_);
partition_table_type::iterator it = partitions_.find(prefix);
if(it != partitions_.end())
{
return response(locality_ns_resolve_locality, get<0>(it->second));
}
return response(locality_ns_resolve_locality, parcelset::endpoints_type(),
no_success);
} // }}}
示例2: free
response locality_namespace::free(
request const& req
, error_code& ec
)
{ // {{{ free implementation
using hpx::util::get;
// parameters
naming::gid_type locality = req.get_gid();
boost::uint32_t prefix = naming::get_locality_id_from_gid(locality);
std::unique_lock<mutex_type> l(mutex_);
partition_table_type::iterator pit = partitions_.find(prefix)
, pend = partitions_.end();
if (pit != pend)
{
/*
// Wipe the locality from the tables.
naming::gid_type locality =
naming::get_gid_from_locality_id(get<0>(pit->second));
// first remove entry from reverse partition table
prefixes_.erase(get<0>(pit->second));
*/
// now remove it from the main partition table
partitions_.erase(pit);
if (primary_)
{
l.unlock();
boost::uint32_t locality_id =
naming::get_locality_id_from_gid(locality);
// remove primary namespace
{
naming::gid_type service(HPX_AGAS_PRIMARY_NS_MSB,
HPX_AGAS_PRIMARY_NS_LSB);
request req(primary_ns_unbind_gid,
naming::replace_locality_id(service, locality_id), 1);
response resp = primary_->service(req, ec);
if (ec) return resp;
}
// remove symbol namespace
{
naming::gid_type service(HPX_AGAS_SYMBOL_NS_MSB,
HPX_AGAS_SYMBOL_NS_LSB);
request req(primary_ns_unbind_gid,
naming::replace_locality_id(service, locality_id), 1);
response resp = primary_->service(req, ec);
if (ec) return resp;
}
// remove locality itself
{
request req(primary_ns_unbind_gid, locality, 0);
response resp = primary_->service(req, ec);
if (ec) return resp;
}
}
/*
LAGAS_(info) << (boost::format(
"locality_namespace::free, ep(%1%)")
% ep);
*/
if (&ec != &throws)
ec = make_success_code();
return response(locality_ns_free);
}
/*
LAGAS_(info) << (boost::format(
"locality_namespace::free, ep(%1%), "
"response(no_success)")
% ep);
*/
if (&ec != &throws)
ec = make_success_code();
return response(locality_ns_free
, no_success);
} // }}}