![]() |
Shadowrun: Awakened 29 September 2011 - Build 871
|
#include <DNSClient.hpp>
Inheritance diagram for cat::DNSClient:Definition at line 90 of file DNSClient.hpp.
| virtual cat::DNSClient::~DNSClient | ( | ) | [virtual] |
| void cat::DNSClient::CacheAdd | ( | DNSRequest * | req | ) | [private] |
| DNSRequest* cat::DNSClient::CacheGet | ( | const char * | hostname | ) | [private] |
| void cat::DNSClient::CacheKill | ( | DNSRequest * | req | ) | [private] |
| cat::DNSClient::CAT_SINGLETON | ( | DNSClient | ) | [inline, private] |
Definition at line 95 of file DNSClient.hpp.
References _cache_head, _cache_size, _cache_tail, _dns_unavailable, _request_head, _request_queue_size, _request_tail, _server_addr, and cat::NetAddr::Invalidate().
: UDPEndpoint(REFOBJ_PRIO_0+5) { _server_addr.Invalidate(); _dns_unavailable = true; _cache_head = _cache_tail = 0; _cache_size = 0; _request_head = _request_tail = 0; _request_queue_size = 0; }
| bool cat::DNSClient::GetServerAddr | ( | ) | [private] |
| bool cat::DNSClient::Initialize | ( | ) |
| bool cat::DNSClient::IsValidHostname | ( | const char * | hostname | ) | [private] |
| void cat::DNSClient::NotifyRequesters | ( | DNSRequest * | req | ) | [protected] |
| virtual void cat::DNSClient::OnClose | ( | ) | [protected, virtual] |
Implements cat::UDPEndpoint.
| virtual void cat::DNSClient::OnRead | ( | ThreadPoolLocalStorage * | tls, |
| const NetAddr & | src, | ||
| u8 * | data, | ||
| u32 | bytes | ||
| ) | [protected, virtual] |
Implements cat::UDPEndpoint.
| virtual void cat::DNSClient::OnUnreachable | ( | const NetAddr & | src | ) | [protected, virtual] |
Reimplemented from cat::UDPEndpoint.
| bool cat::DNSClient::PerformLookup | ( | DNSRequest * | req | ) | [private] |
| bool cat::DNSClient::PostDNSPacket | ( | DNSRequest * | req, |
| u32 | now | ||
| ) | [private] |
| void cat::DNSClient::ProcessDNSResponse | ( | DNSRequest * | req, |
| int | qdcount, | ||
| int | ancount, | ||
| u8 * | data, | ||
| u32 | bytes | ||
| ) | [protected] |
| DNSRequest* cat::DNSClient::PullRequest | ( | u16 | id | ) | [private] |
| bool cat::DNSClient::Resolve | ( | const char * | hostname, |
| DNSResultCallback | , | ||
| ThreadRefObject * | holdRef = 0 |
||
| ) |
| void cat::DNSClient::Shutdown | ( | ) |
| bool cat::DNSClient::ThreadFunction | ( | void * | param | ) | [private, virtual] |
Implements cat::Thread.
DNSRequest* cat::DNSClient::_cache_head [private] |
Definition at line 158 of file DNSClient.hpp.
Referenced by CAT_SINGLETON().
Mutex cat::DNSClient::_cache_lock [private] |
Definition at line 157 of file DNSClient.hpp.
int cat::DNSClient::_cache_size [private] |
Definition at line 160 of file DNSClient.hpp.
Referenced by CAT_SINGLETON().
DNSRequest* cat::DNSClient::_cache_tail [private] |
Definition at line 159 of file DNSClient.hpp.
Referenced by CAT_SINGLETON().
FortunaOutput* cat::DNSClient::_csprng [private] |
Definition at line 144 of file DNSClient.hpp.
volatile bool cat::DNSClient::_dns_unavailable [private] |
Definition at line 143 of file DNSClient.hpp.
Referenced by CAT_SINGLETON().
WaitableFlag cat::DNSClient::_kill_flag [private] |
Definition at line 183 of file DNSClient.hpp.
DNSRequest* cat::DNSClient::_request_head [private] |
Definition at line 148 of file DNSClient.hpp.
Referenced by CAT_SINGLETON().
Mutex cat::DNSClient::_request_lock [private] |
Definition at line 147 of file DNSClient.hpp.
int cat::DNSClient::_request_queue_size [private] |
Definition at line 150 of file DNSClient.hpp.
Referenced by CAT_SINGLETON().
DNSRequest* cat::DNSClient::_request_tail [private] |
Definition at line 149 of file DNSClient.hpp.
Referenced by CAT_SINGLETON().
NetAddr cat::DNSClient::_server_addr [private] |
Definition at line 142 of file DNSClient.hpp.
Referenced by CAT_SINGLETON().
const int cat::DNSClient::DNS_THREAD_KILL_TIMEOUT = 10000 [static, private] |
Definition at line 93 of file DNSClient.hpp.
const int cat::DNSClient::TICK_RATE = 200 [static, private] |
Definition at line 92 of file DNSClient.hpp.
Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.