nl :: Inet :: AsyncDNSResolverSockets
#include <src/inet/AsyncDNSResolverSockets.h>
Đây là một lớp nội bộ của InetLayer cung cấp các API trợ giúp để phân giải Hệ thống tên miền không đồng bộ (DNS) trong InetLayer .
Tóm lược
Không có giao diện công cộng nào có sẵn cho lớp ứng dụng.
Chức năng công cộng |
---|
Cancel ( DNSResolver & resolver) | Hủy một truy vấn DNS chưa xử lý có thể vẫn đang hoạt động. |
EnqueueRequest ( DNSResolver & resolver) | Yêu cầu một đối tượng DNSResolver để phân giải địa chỉ IP không đồng bộ của một tên máy chủ được chỉ định. |
Init ( InetLayer *inet) | Trình khởi tạo rõ ràng cho lớp AsynchronousDNSResolverSockets. |
PrepareDNSResolver ( DNSResolver & resolver, const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolver::OnResolveCompleteFunct onComplete, void *appState) | Phương thức này chuẩn bị một đối tượng DNSResolver trước khi phân giải không đồng bộ. |
Shutdown (void) | Đây là trình định nghĩa rõ ràng của lớp AsyncDNSResolverSockets và nó xử lý việc tắt các luồng và hủy các biến mutex và semaphore. |
Chức năng công cộng
Huỷ bỏ
INET_ERROR Cancel(
DNSResolver & resolver
)
Hủy một truy vấn DNS chưa xử lý có thể vẫn đang hoạt động.
EnqueueRequest
INET_ERROR EnqueueRequest(
DNSResolver & resolver
)
Yêu cầu một đối tượng DNSResolver để phân giải địa chỉ IP không đồng bộ của một tên máy chủ được chỉ định.
Chi tiết | Thông số | |
Giá trị trả lại | INET_NO_ERROR | nếu một yêu cầu DNS được xếp hàng đợi thành công. | INET_ERROR_NO_MEMORY | nếu nhóm phân giải lớp Inet đã đầy. | other | mạng POSIX thích hợp hoặc lỗi hệ điều hành. |
|
Trong đó
INET_ERROR Init(
InetLayer *inet
)
Trình khởi tạo rõ ràng cho lớp AsynchronousDNSResolverSockets.
Thao tác này khởi tạo các biến mutex và semaphore và tạo các luồng để xử lý phân giải DNS không đồng bộ.
Chi tiết | Thông số | |
Giá trị trả lại | INET_NO_ERROR | nếu khởi tạo thành công. | other | mạng POSIX thích hợp hoặc lỗi hệ điều hành. |
|
Chuẩn bịDNSResolver
INET_ERROR PrepareDNSResolver(
DNSResolver & resolver,
const char *hostName,
uint16_t hostNameLen,
uint8_t options,
uint8_t maxAddrs,
IPAddress *addrArray,
DNSResolver::OnResolveCompleteFunct onComplete,
void *appState
)
Phương thức này chuẩn bị một đối tượng DNSResolver trước khi phân giải không đồng bộ.
Chi tiết | Thông số | [in] resolver | | [in] hostName | Một con trỏ đến một chuỗi C đại diện cho tên máy chủ được truy vấn. | [in] hostNameLen | Độ dài chuỗi của tên máy chủ. | [in] options | Giá trị số nguyên kiểm soát cách thực hiện phân giải địa chỉ tên máy chủ. Các giá trị lấy từ kiểu liệt kê #DNSOptions. | [in] maxAddrs | Số lượng địa chỉ tối đa để lưu trữ trong bảng DNS. | [in] addrArray | Một con trỏ đến bảng DNS. | [in] onComplete | Một con trỏ đến hàm gọi lại khi yêu cầu DNS hoàn tất. | [in] appState | Một con trỏ đến trạng thái ứng dụng sẽ được chuyển đến onComplete khi một yêu cầu DNS hoàn tất. |
|
Giá trị trả lại | INET_NO_ERROR | nếu một yêu cầu DNS được xử lý thành công. |
|
Tắt
INET_ERROR Shutdown(
void
)
Đây là trình định nghĩa rõ ràng của lớp AsyncDNSResolverSockets và nó xử lý việc tắt các luồng và hủy các biến mutex và semaphore.
Chi tiết | Giá trị trả lại | INET_NO_ERROR | nếu tắt máy thành công. | other | mạng POSIX thích hợp hoặc lỗi hệ điều hành. |
|