MCPcopy Create free account
hub / github.com/acl-dev/acl / dns_request

Class dns_request

lib_acl_cpp/src/stdlib/dns_service.cpp:28–88  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

26///////////////////////////////////////////////////////////////////////
27
28class dns_request : public ipc_request
29{
30public:
31 dns_request(const char* domain) : domain_(domain) {}
32
33 ~dns_request(void) {}
34
35 virtual void run(ipc_client* ipc)
36 {
37 ACL_DNS_DB* db = acl_gethostbyname(domain_.c_str(), NULL);
38 data_.res = NEW dns_res(domain_.c_str());
39
40 if (db != NULL) {
41 ACL_ITER iter;
42 acl_foreach(iter, db) {
43 ACL_HOSTNAME* hn = (ACL_HOSTNAME*) iter.data;
44 data_.res->ips_.push_back(hn->ip);
45 }
46
47 acl_netdb_free(db);
48 }
49
50 // �����̷߳��ͽ��
51 ipc->send_message(IPC_RES, &data_, sizeof(data_));
52
53 // ���ٱ��������Ϊ���Ƕ�̬�����
54 delete this;
55 }
56
57#ifdef ACL_WINDOWS
58
59 // ������ӿڣ�ʹ���߳̿�����ִ��������������̷߳��� ACL_WINDOWS ������Ϣ
60
61 virtual void run(HWND hWnd)
62 {
63 ACL_DNS_DB* db = acl_gethostbyname(domain_.c_str(), NULL);
64 DNS_IPC_DATA* data = (DNS_IPC_DATA*)
65 acl_mymalloc(sizeof(DNS_IPC_DATA));
66 data->res = NEW dns_res(domain_.c_str());
67
68 if (db != NULL) {
69 ACL_ITER iter;
70 acl_foreach(iter, db) {
71 ACL_HOSTNAME* hn = (ACL_HOSTNAME*) iter.data;
72 data->res->ips_.push_back(hn->ip);
73 }
74
75 acl_netdb_free(db);
76 }
77
78 // �����̷߳��ͽ��
79 ::PostMessage(hWnd, IPC_RES + WM_USER, 0, (LPARAM) data);
80
81 // ���ٱ��������Ϊ���Ƕ�̬�����
82 delete this;
83 }
84#endif
85private:

Callers 1

lookupMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…