Пример #1
0
// Return canonical DNS name if has one, else IP
std::string EndpointAddress::Name()
{
        if (DNS().length())
                return DNS();
        else
                return IP();
}
Пример #2
0
void IoEvDNS_free(IoEvDNS *self)
{
	if (DNS(self))
	{	
		int fail_requests = 0;
		evdns_base_free(DNS(self), fail_requests);	
		IoObject_setDataPointer_(self, 0x0);
	}
}
Пример #3
0
void IoEvDNS_rawInitIfNeeded(IoEvDNS *self)
{
	if (!DNS(self))
	{
		IoEventManager *em = IoObject_getSlot_(self, IOSYMBOL("eventManager"));
		IOASSERT(ISEEVENTMANAGER(em), "eventManager slot not set properly");
		
		struct event_base *base = evhttp_new(IoEventManager_rawBase(em);
		int initialize_nameservers = 1;
		struct evdns_base *dnsBase = evdns_base_new(base, initialize_nameservers);	
		IoObject_setDataPointer_(self, dnsBase);
	}