+ iosocket_lookup_apply_end:
+
+ if((iosock->socket_flags & IOSOCKETFLAG_DNSERROR)) {
+ // TODO: trigger error
+ iolog_trigger(IOLOG_ERROR, "error while trying to apply dns lookup information: %s", errbuf);
+
+ if((iosock->socket_flags & IOSOCKETFLAG_PARENT_PUBLIC)) {
+ //trigger event
+ struct IOSocket *iosocket = iosock->parent;
+
+ struct IOSocketEvent callback_event;
+ callback_event.type = IOSOCKETEVENT_DNSFAILED;
+ callback_event.socket = iosocket;
+ callback_event.data.recv_str = errbuf;
+ iosocket_trigger_event(&callback_event);
+
+ iosocket_close(iosocket);
+ } else {
+ // TODO: IODNS Callback
+ }
+ return 0;
+ } else
+ return 1;
+}
+
+static void socket_lookup_clear(struct _IOSocket *iosock) {
+ struct IOSocketDNSLookup *bind_lookup = ((iosock->socket_flags & IOSOCKETFLAG_DNSDONE_BINDDNS) ? iosock->bind.addrlookup : NULL);
+ struct IOSocketDNSLookup *dest_lookup = ((iosock->socket_flags & IOSOCKETFLAG_DNSDONE_DESTDNS) ? iosock->dest.addrlookup : NULL);