Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

nl::Inet::AasyncDNSSolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

Đây là một lớp nội bộ tới Inetlayer cung cấp các API trợ giúp cho độ phân giải của Hệ thống tên miền không đồng bộ (DNS) trong InetOverlay.

Tóm tắt

Không có giao diện công khai nào cho lớp ứng dụng.

Hàm công khai

Cancel(DNSResolver & resolver)
Hãy hủy một truy vấn DNS chưa xử lý có thể vẫn hoạt động.
EnqueueRequest(DNSResolver & resolver)
Thêm một đối tượng DNSSolver vào hàng đợi để phân giải địa chỉ IP không đồng bộ của tên máy chủ đã chỉ định.
Init(InetLayer *inet)
Trình khởi tạo rõ ràng cho lớp asyncDNSExceptionsrSockets.
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 Trình phân giải DNS trước khi phân giải không đồng bộ.
Shutdown(void)
Đây là trình hủy kích hoạt rõ ràng của lớp AasyncDNS GiarSockets và giúp xử lý việc tắt các chuỗi và hủy bỏ biến tắt tiếng và biến ngữ.

Hàm công khai

Hủy

INET_ERROR Cancel(
  DNSResolver & resolver
)

Hãy hủy một truy vấn DNS chưa xử lý có thể vẫn hoạt động.

Thông tin chi tiết
Các thông số
[in] resolver
Tham chiếu đến đối tượng Trình phân giải DNS.

Hàng đợi yêu cầu

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

Thêm một đối tượng DNSSolver vào hàng đợi để phân giải địa chỉ IP không đồng bộ của tên máy chủ đã chỉ định.

Thông tin chi tiết
Các thông số
[in] resolver
Tham chiếu đến đối tượng Trình phân giải DNS.
Giá trị trả về
INET_NO_ERROR
nếu một yêu cầu DNS được xếp hàng thành công.
INET_ERROR_NO_MEMORY
nếu bộ phân giải lớp Inet đầy.
other
lỗi hệ điều hành hoặc mạng POSIX thích hợp.

Số nguyên

INET_ERROR Init(
  InetLayer *inet
)

Trình khởi tạo rõ ràng cho lớp asyncDNSExceptionsrSockets.

Thao tác này sẽ khởi tạo biến relx và semaphore, đồng thời tạo các luồng để xử lý độ phân giải DNS không đồng bộ.

Thông tin chi tiết
Các thông số
[in] aInet
Con trỏ đến đối tượng Inetlayer.
Giá trị trả về
INET_NO_ERROR
nếu việc khởi chạy thành công.
other
lỗi hệ điều hành hoặc mạng POSIX thích hợp.

Chuẩn bị Trình phân giải DNS

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 Trình phân giải DNS trước khi phân giải không đồng bộ.

Thông tin chi tiết
Các thông số
[in] resolver
Tham chiếu đến đối tượng Trình phân giải DNS đã phân bổ.
[in] hostName
Con trỏ tới chuỗi C đại diện cho tên máy chủ cần truy vấn.
[in] hostNameLen
Độ dài chuỗi của tên máy chủ.
[in] options
Một giá trị số nguyên kiểm soát cách thực hiện độ phân giải địa chỉ của tên máy chủ lưu trữ. Giá trị được lấy từ giá trị liệt kê #DNSOptions.
[in] maxAddrs
Số lượng địa chỉ tối đa cần lưu trữ trong bảng DNS.
[in] addrArray
Con trỏ tới bảng DNS.
[in] onComplete
Con trỏ đến hàm callback khi một yêu cầu DNS hoàn tất.
[in] appState
Con trỏ đến trạng thái của ứng dụng cần chuyển sang oncomplete khi một yêu cầu DNS hoàn tất.
Giá trị trả về
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 hủy kích hoạt rõ ràng của lớp AasyncDNS GiarSockets và giúp xử lý việc tắt các chuỗi và hủy bỏ biến tắt tiếng và biến ngữ.

Thông tin chi tiết
Giá trị trả về
INET_NO_ERROR
nếu tắt thành công.
other
lỗi hệ điều hành hoặc mạng POSIX thích hợp.