Classes | |
struct | AnyAddress |
struct | Error |
struct | Ipv4Only |
struct | Ipv6Only |
class | Resolver |
Typedefs | |
typedef boost::asio::ip::address | IpAddress |
typedef function< bool(const IpAddress &address)> | AddressSelector |
typedef function< void(const IpAddress &address)> | SuccessCallback |
typedef function< void(const std::string &reason)> | ErrorCallback |
Functions | |
void | asyncResolve (const std::string &host, const SuccessCallback &onSuccess, const ErrorCallback &onError, boost::asio::io_service &ioService, const AddressSelector &addressSelector=AnyAddress(), time::nanoseconds timeout=4_s) |
Asynchronously resolve host. More... | |
IpAddress | syncResolve (const std::string &host, boost::asio::io_service &ioService, const AddressSelector &addressSelector=AnyAddress()) |
Synchronously resolve host. More... | |
typedef boost::asio::ip::address ndn::dns::IpAddress |
typedef function<bool (const IpAddress& address)> ndn::dns::AddressSelector |
typedef function<void (const IpAddress& address)> ndn::dns::SuccessCallback |
typedef function<void (const std::string& reason)> ndn::dns::ErrorCallback |
void ndn::dns::asyncResolve | ( | const std::string & | host, |
const SuccessCallback & | onSuccess, | ||
const ErrorCallback & | onError, | ||
boost::asio::io_service & | ioService, | ||
const AddressSelector & | addressSelector = AnyAddress() , |
||
time::nanoseconds | timeout = 4_s |
||
) |
Asynchronously resolve host.
If an address selector predicate is specified, then each resolved IP address is checked against the predicate.
Available address selector predicates:
ioService
keeps running and onSuccess
is invoked at a later time. This could cause segmentation fault if onSuccess
is deallocated. To stop the io_service, explicitly invoke ioService.stop()
. Definition at line 132 of file dns.cpp.
Referenced by ndn::IpHostCanonizeProvider< boost::asio::ip::tcp >::canonize().
IpAddress ndn::dns::syncResolve | ( | const std::string & | host, |
boost::asio::io_service & | ioService, | ||
const AddressSelector & | addressSelector = AnyAddress() |
||
) |
Synchronously resolve host.
If an address selector predicate is specified, then each resolved IP address is checked against the predicate.
Available address selector predicates:
Definition at line 145 of file dns.cpp.
References ndn::dns::Resolver::syncResolve().