nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

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

요약

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

공개 함수

Cancel(DNSResolver & resolver)
아직 활성 상태일 수 있는 미해결 DNS 쿼리를 취소합니다.
EnqueueRequest(DNSResolver & resolver)
지정된 호스트 이름의 비동기 IP 주소 확인을 위해 DNSResolver 객체를 큐에 추가합니다.
Init(InetLayer *inet)
AasyncDNSResolverSockets 클래스의 명시적 이니셜라이저입니다.
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
성공적으로 처리되는 경우에 그렇습니다.

종료

INET_ERROR Shutdown(
  void
)

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

세부정보
반환 값
INET_NO_ERROR
종료에 성공한 경우
other
POSIX 네트워크 또는 OS 오류가 있습니다.