From 89627112f66979b5918f7c4d8b7dd63d0e2e83cc Mon Sep 17 00:00:00 2001 From: Sebastien Vincent Date: Sun, 15 Apr 2018 18:46:37 +0200 Subject: [PATCH] Fixes another compilation error with recent Boost version due to resolver::iterator deprecation. --- .../include/asiotap/types/ip_endpoint.hpp | 21 +++++-------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/libs/asiotap/include/asiotap/types/ip_endpoint.hpp b/libs/asiotap/include/asiotap/types/ip_endpoint.hpp index 88eb39d1..322a1b06 100644 --- a/libs/asiotap/include/asiotap/types/ip_endpoint.hpp +++ b/libs/asiotap/include/asiotap/types/ip_endpoint.hpp @@ -199,9 +199,9 @@ namespace asiotap template inline boost::asio::ip::udp::endpoint resolve(const base_ip_endpoint& ep, typename base_ip_endpoint::resolver& resolver, typename base_ip_endpoint::resolver::protocol_type protocol, typename base_ip_endpoint::resolver::query::flags flags, const std::string& default_service) { - (void)resolver; - (void)protocol; - (void)flags; + static_cast(resolver); + static_cast(protocol); + static_cast(flags); if (ep.has_port()) { @@ -226,20 +226,9 @@ namespace asiotap template inline void async_resolve(const base_ip_endpoint& ep, typename base_ip_endpoint::resolver& resolver, typename base_ip_endpoint::resolver::protocol_type protocol, typename base_ip_endpoint::resolver::query::flags flags, const std::string& default_service, typename base_ip_endpoint::handler handler) { - try - { - boost::asio::ip::udp::endpoint result = resolve(ep, resolver, protocol, flags, default_service); - - auto it = base_ip_endpoint::resolver::iterator::create(result, result.address().to_string(), boost::lexical_cast(result.port())); - - handler(boost::system::error_code(), it); - } - catch (boost::system::system_error& ex) - { - typename base_ip_endpoint::resolver::iterator it; + typename base_ip_endpoint::resolver::query query(protocol, ep.address().to_string(), ep.has_port() ? boost::lexical_cast(ep.port()) : default_service, flags); - handler(ex.code(), it); - } + resolver.async_resolve(query, handler); } /**