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

Function dns_lookup

lib_acl/samples/dns_req/main.cpp:48–104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

46}
47
48static void dns_lookup(char *domains, const char *dns_ips, int dns_port)
49{
50 ACL_AIO *aio = acl_aio_create(ACL_EVENT_SELECT);
51 int timeout = 5;
52 ACL_DNS *dns = acl_dns_create(aio, timeout);
53 ACL_ARGV *argv = acl_argv_split(domains, ",:;|");
54 ACL_ARGV *ip_argv = acl_argv_split(dns_ips, ",:;|");
55 ACL_ITER iter;
56
57 /* ��DNS���湦�� */
58 acl_dns_open_cache(dns, 100);
59
60 /* ����DNS��������ַ */
61 acl_foreach(iter, ip_argv) {
62 char *ip = (char*) iter.data;
63 printf("add one dns, ip=%s, port=%d\r\n", ip, dns_port);
64 acl_dns_add_dns(dns, ip, dns_port, 24);
65 }
66
67 acl_argv_free(ip_argv);
68
69 /* ����У��DNS��ַ��Ч�Ա��λ */
70 acl_dns_check_dns_ip(dns);
71
72 /* ��ѯ��������Ӧ��IP��ַ */
73 acl_foreach(iter, argv) {
74 char *domain = (char*) iter.data;
75 printf(">>>call dns lookup for: %s\n", domain);
76 acl_dns_lookup(dns, domain, dns_lookup_callback, domain);
77 }
78
79 /* �����¼�ѭ���� */
80 while (__nresult < iter.size) {
81 acl_aio_loop(aio);
82 }
83
84 printf("---------------------------------------------------\n");
85 printf(">>>DNS cache result search\n\n");
86 /* ��ѯ������� */
87 __nresult = 0;
88
89 /* ͨ�������ѯ��������Ӧ��IP��ַ */
90 acl_foreach(iter, argv) {
91 char *domain = (char*) iter.data;
92 printf(">>>call dns lookup from cache for: %s\n", domain);
93 acl_dns_lookup(dns, domain, dns_lookup_callback, domain);
94 }
95
96 while (__nresult < iter.size) {
97 acl_aio_loop(aio);
98 }
99
100 acl_argv_free(argv);
101 acl_dns_close(dns);
102 acl_aio_check(aio);
103 acl_aio_free(aio);
104}
105

Callers 2

mainFunction · 0.70
runMethod · 0.50

Calls 10

acl_aio_createFunction · 0.85
acl_dns_createFunction · 0.85
acl_argv_splitFunction · 0.85
acl_dns_open_cacheFunction · 0.85
acl_argv_freeFunction · 0.85
acl_dns_check_dns_ipFunction · 0.85
acl_aio_loopFunction · 0.85
acl_dns_closeFunction · 0.85
acl_aio_checkFunction · 0.85
acl_aio_freeFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…