3 This file is part of NetVis
4 Copyright @ 2008 Mikko Rasa, Mikkosoft Productions
5 Distributed unter the GPL
8 #include <netinet/in.h>
10 #include <msp/time/units.h>
11 #include <msp/time/utils.h>
30 void Resolver::push(Host *h)
34 in_queue.push_back(h);
37 void Resolver::cancel(Host *h)
47 for(list<Host *>::iterator i=in_queue.begin(); i!=in_queue.end(); ++i)
54 for(list<Result>::iterator i=out_queue.begin(); i!=out_queue.end(); ++i)
66 for(list<Result>::iterator i=out_queue.begin(); i!=out_queue.end(); ++i)
67 i->host->set_name(i->name);
77 sockaddr_storage addr;
82 current = in_queue.front();
83 in_queue.erase(in_queue.begin());
84 current->get_address().to_sockaddr(addr);
88 int err = getnameinfo(reinterpret_cast<sockaddr *>(&addr), sizeof(addr), buf, sizeof(buf), 0, 0, NI_NOFQDN|NI_NAMEREQD);
93 out_queue.push_back(Result(current, buf));
97 Time::sleep(100*Time::msec);