本文整理汇总了C++中channel_ptr::subscribe_address方法的典型用法代码示例。如果您正苦于以下问题:C++ channel_ptr::subscribe_address方法的具体用法?C++ channel_ptr::subscribe_address怎么用?C++ channel_ptr::subscribe_address使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类channel_ptr
的用法示例。
在下文中一共展示了channel_ptr::subscribe_address方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: receive_address_message
void protocol::receive_address_message(const std::error_code& ec,
const address_type& packet, channel_ptr node)
{
if (ec)
{
log_error(LOG_PROTOCOL)
<< "Problem receiving addresses: " << ec.message();
return;
}
log_debug(LOG_PROTOCOL) << "Storing addresses.";
for (const network_address_type& net_address: packet.addresses)
hosts_.store(net_address, strand_.wrap(
&protocol::handle_store_address, this, _1));
node->subscribe_address(strand_.wrap(
&protocol::receive_address_message, this, _1, _2, node));
}
示例2:
void protocol::seeds::request_addresses(
const std::error_code& ec, channel_ptr dns_seed_node)
{
if (ec)
{
log_error(LOG_PROTOCOL)
<< "Failed to connect to seed node: " << ec.message();
error_case(ec);
}
else
{
dns_seed_node->send(get_address_type(),
strand_.wrap(std::bind(&protocol::seeds::handle_send_get_address,
shared_from_this(), _1)));
dns_seed_node->subscribe_address(
strand_.wrap(std::bind(&protocol::seeds::save_addresses,
shared_from_this(), _1, _2, dns_seed_node)));
}
}
示例3: subscribe_address
void protocol::subscribe_address(channel_ptr node)
{
node->subscribe_address(
strand_.wrap(std::bind(&protocol::receive_address_message,
this, _1, _2, node)));
}