// Return canonical DNS name if has one, else IP std::string EndpointAddress::Name() { if (DNS().length()) return DNS(); else return IP(); }
void IoEvDNS_free(IoEvDNS *self) { if (DNS(self)) { int fail_requests = 0; evdns_base_free(DNS(self), fail_requests); IoObject_setDataPointer_(self, 0x0); } }
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); }