Implements threaded DNS resolution. More...
#include <string>
#include <vector>
#include <stack>
#include <list>
#include <map>
#include "params.h"
#include "utils.h"
#include "sock_shared.h"
#include "utils/my_assert.h"
Go to the source code of this file.
Defines | |
#define | TCID_INVALID (0L) |
Value for 'threaded_connect_id' type, indicating invalid ID. | |
Typedefs | |
typedef long | threaded_connect_id |
ID for threaded connect. | |
Enumerations | |
enum | e_resolv_result { RR_OK, RR_FAILURE, RR_SCHEDULED } |
enum | e_resolv_time { RT_RESOLVE_NOW, RT_RESOLVE_SCHEDULE } |
Functions | |
long | threads_connect (const string &localIP, const string &remote, unsigned short remote_port, const string &comment, bool async) |
Connects to remote host (create separate thread). | |
void | threads_done () |
Does an epilog for all running threads. | |
void | threads_flushdns () |
Flushes the DNS cache. | |
bool | threads_get_connect (long id, int &ec, c_socket &s) |
void | threads_loop () |
Processes results from threads (should be called in a loop). | |
e_resolv_result | threads_resolve4 (const char *domain, in_addr &result, e_resolv_time request_type) |
Resolves DNS name or text IPv4 address to IPv4 address via DNS. | |
e_resolv_result | threads_resolve4 (const char *domain, vector< in_addr > &result, e_resolv_time request_type) |
Resolves DNS name or text IPv4 address to IPv4 address via DNS. | |
e_resolv_result | threads_resolve6 (const char *domain, in_addr6_ &result, e_resolv_time request_type) |
Resolves DNS name or text IPv6 address to IPv6 address via DNS. | |
e_resolv_result | threads_resolve6 (const char *domain, vector< in_addr6_ > &result, e_resolv_time request_type) |
Resolves DNS name or text IPv6 address to IPv6 address via DNS. | |
e_resolv_result | threads_reverse4 (const char *address, char *dns_name, size_t dns_max_size, e_resolv_time request_type) |
Resolves IPv4 address to DNS name via DNS (reverse lookup). | |
e_resolv_result | threads_reverse6 (in_addr6_ address, char *dns_name, size_t dns_max_size, e_resolv_time request_type) |
Resolves IPv6 address to DNS name via DNS (reverse lookup). |
Implements threaded DNS resolution.
Definition in file threads.h.