nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

이는 InetLayer에서 비동기 도메인 이름 시스템 (DNS) 변환을 위한 도우미 API를 제공하는 InetLayer의 내부 클래스입니다.

요약

애플리케이션 레이어에 사용할 수 있는 공개 인터페이스는 없습니다.

공개 함수

Cancel(DNSResolver & resolver)
아직 활성 상태일 수 있는 미해결 DNS 쿼리를 취소합니다.
EnqueueRequest(DNSResolver & resolver)
지정된 호스트 이름의 비동기 IP 주소 변환을 위해 DNSResolver 객체를 큐에 추가합니다.
Init(InetLayer *inet)
비동기 DNSResolverSockets 클래스의 명시적 이니셜라이저입니다.
PrepareDNSResolver(DNSResolver & resolver, const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolver::OnResolveCompleteFunct onComplete, void *appState)
이 메서드는 비동기 확인 전에 DNSResolver 객체를 준비합니다.
Shutdown(void)
이 메서드는 AsyncDNSResolverSockets 클래스의 명시적 초기화 해제이며 스레드를 종료하고 뮤텍스 및 세마포어 변수를 제거합니다.

공개 함수

취소

INET_ERROR Cancel(
  DNSResolver & resolver
)

아직 활성 상태일 수 있는 미해결 DNS 쿼리를 취소합니다.

세부정보
매개변수
[in] resolver
DNSResolver 객체에 대한 참조입니다.

EnqueueRequest

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

지정된 호스트 이름의 비동기 IP 주소 변환을 위해 DNSResolver 객체를 큐에 추가합니다.

세부정보
매개변수
[in] resolver
DNSResolver 객체에 대한 참조입니다.
반환 값
INET_NO_ERROR
성공적으로 큐에 추가된 경우.
INET_ERROR_NO_MEMORY
Inet 레이어 리졸버 풀이 가득 찬 경우
other
POSIX 네트워크 또는 OS 오류가 발생할 수 있습니다.

Init

INET_ERROR Init(
  InetLayer *inet
)

AasyncDNSResolverSockets 클래스의 명시적 이니셜라이저입니다.

이 메서드는 뮤텍스 및 세마포어 변수를 초기화하고 비동기 DNS 변환을 처리하기 위한 스레드를 만듭니다.

세부정보
매개변수
[in] aInet
InetLayer 개체를 가리키는 포인터입니다.
반환 값
INET_NO_ERROR
확인할 수 있습니다.
other
POSIX 네트워크 또는 OS 오류가 발생할 수 있습니다.

PrepareDNSResolver

INET_ERROR PrepareDNSResolver(
  DNSResolver & resolver,
  const char *hostName,
  uint16_t hostNameLen,
  uint8_t options,
  uint8_t maxAddrs,
  IPAddress *addrArray,
  DNSResolver::OnResolveCompleteFunct onComplete,
  void *appState
)

이 메서드는 비동기 확인 전에 DNSResolver 객체를 준비합니다.

세부정보
매개변수
[in] resolver
할당된 DNSResolver 객체에 대한 참조입니다.
[in] hostName
쿼리할 호스트 이름을 나타내는 C 문자열에 대한 포인터입니다.
[in] hostNameLen
호스트 이름의 문자열 길이입니다.
[in] options
호스트 이름 주소 확인이 수행되는 방법을 제어하는 정수 값입니다. 값은 #DNSOptions 열거형에서 가져옵니다.
[in] maxAddrs
DNS 테이블에 저장할 최대 주소 수입니다.
[in] addrArray
DNS 테이블에 대한 포인터입니다.
[in] onComplete
DNS 요청이 완료되었을 때 콜백 함수에 대한 포인터입니다.
[in] appState
DNS 요청이 완료되면 onComplete에 전달할 애플리케이션 상태에 대한 포인터입니다.
반환 값
INET_NO_ERROR
DNS 요청이 성공적으로 처리되는 경우

종료

INET_ERROR Shutdown(
  void
)

이 메서드는 AsyncDNSResolverSockets 클래스의 명시적 초기화 해제이며 스레드를 종료하고 뮤텍스 및 세마포어 변수를 제거합니다.

세부정보
반환 값
INET_NO_ERROR
메시지를 보낼 수 있습니다
other
POSIX 네트워크 또는 OS 오류가 발생할 수 있습니다.