24 #ifndef __NETCOMM_UTILS_RESOLVER_H_ 25 #define __NETCOMM_UTILS_RESOLVER_H_ 27 #include <core/utils/lock_hashmap.h> 28 #include <core/utils/lock_map.h> 29 #include <utils/misc/string_compare.h> 31 #include <sys/socket.h> 32 #include <netinet/in.h> 45 class NetworkNameResolverThread;
56 bool resolve_name(
const char *name,
struct sockaddr **addr, socklen_t *addrlen);
57 bool resolve_name_blocking(
const char *name,
struct sockaddr **addr, socklen_t *addrlen);
58 bool resolve_address(
struct sockaddr *addr, socklen_t addr_len, std::string &name);
61 void set_cache_timeout(
unsigned int sec);
62 unsigned int cache_timeout();
64 const char * hostname();
65 const char * short_hostname();
68 void name_resolved(std::string name,
struct sockaddr *addr, socklen_t addrlen);
69 void addr_resolved(
struct sockaddr *addr, socklen_t addrlen, std::string name,
bool namefound);
70 void name_resolution_failed(std::string name);
71 void address_resolution_failed(
struct sockaddr *addr, socklen_t addrlen);
76 unsigned int __cache_timeout;
Fawkes library namespace.
Worker thread for NetworkNameResolver.
Network name and address resolver.