8 #ifndef FACEBOOK_NETWORK_RESOLVER_H
9 #define FACEBOOK_NETWORK_RESOLVER_H
This class implements a recursive lock object.
Definition: Lock.h:31
This class wraps an address number with 32 bits.
Definition: Address4.h:26
This class implements an address resolver.
Definition: Resolver.h:28
Resolver()
Creates a new resolver object.
static std::string resolve(const Address4 &address)
Resolves a given address to it's host name.
void addLocalAddress(const Address4 &localAddress)
Adds an explicit local address.
static Address4 resolveFirstIp4(const std::string &host)
Resolves a given host name to it's first found ip4 address.
Addresses4 localAddresses() const
Returns all current local addresses.
std::unordered_set< Address4, Address4 > AddressSet4
Definition of an unordered set holding addresses.
Definition: Resolver.h:41
AddressSet4 explicitLocalAddresses_
The local addresses explicitly set.
Definition: Resolver.h:89
Lock lock_
The resolver's lock.
Definition: Resolver.h:92
std::vector< Address4 > Addresses4
Definition of a vector holding addresses.
Definition: Resolver.h:36
static Addresses4 resolveIp4(const std::string &host)
Resolves a given host name to all possible ip4 addresses.
This template class is the base class for all singleton objects.
Definition: Singleton.h:71
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15