DNS – platforma

Ten moduł zawiera abstrakcję platformy do wysyłania rekurencyjnego zapytania DNS do nadrzędnych serwerów DNS.

Podsumowanie

Definicje typów

otPlatDnsUpstreamQuery typedef
Ten nieprzejrzysty typ reprezentuje nadchodzącą transakcję zapytania DNS.

Funkcje

otPlatDnsCancelUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn)
void
Anuluje transakcję nadrzędnego zapytania.
otPlatDnsStartUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, const otMessage *aQuery)
void
Uruchamia nadrzędną transakcję zapytania.
otPlatDnsUpstreamQueryDone(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, otMessage *aResponse)
void
Platforma wywołuje tę funkcję, aby zakończyć zapytanie DNS.

Definicje typów

otPlatDnsUpstreamQuery

struct otPlatDnsUpstreamQuery otPlatDnsUpstreamQuery

Ten nieprzejrzysty typ reprezentuje nadchodzącą transakcję zapytania DNS.

Funkcje

otPlatDnsCancelUpstreamQuery

void otPlatDnsCancelUpstreamQuery(
  otInstance *aInstance,
  otPlatDnsUpstreamQuery *aTxn
)

Anuluje transakcję nadrzędnego zapytania.

Aby zwolnić zasoby, platforma musi wywołać metodę otPlatDnsUpstreamQueryDone.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aTxn
Wskaźnik nieprzejrzystego obiektu transakcji zapytania DNS.

otPlatDnsStartUpstreamQuery

void otPlatDnsStartUpstreamQuery(
  otInstance *aInstance,
  otPlatDnsUpstreamQuery *aTxn,
  const otMessage *aQuery
)

Uruchamia nadrzędną transakcję zapytania.

  • W przypadku powodzenia (i błędów reprezentowanych przez komunikaty protokołu DNS) platforma powinna wywołać otPlatDnsUpstreamQueryDone.
  • Rdzeń OpenThread może anulować (prawdopodobnie przekroczenie limitu czasu) transakcji związanej z zapytaniem, wywołując funkcję otPlatDnsCancelUpstreamQuery. Platforma nie może wywoływać metody otPlatDnsUpstreamQueryDone w przypadku anulowanej transakcji.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aTxn
Wskaźnik nieprzejrzystego obiektu transakcji zapytania DNS.
[in] aQuery
Bufor wiadomości z ładunkiem DNS, który powinien zostać wysłany do nadrzędnego serwera DNS.

otPlatDnsUpstreamQueryDone

void otPlatDnsUpstreamQueryDone(
  otInstance *aInstance,
  otPlatDnsUpstreamQuery *aTxn,
  otMessage *aResponse
)

Platforma wywołuje tę funkcję, aby zakończyć zapytanie DNS.

Transakcja zostanie zwolniona, więc platforma nie może dwukrotnie wywołać tej samej transakcji. Ta funkcja przekazuje własność zasobu aResponse do stosu OpenThread.

Platforma może przekazać wartość nullptr, aby zamknąć transakcję bez odpowiedzi.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aTxn
Wskaźnik nieprzejrzystego obiektu transakcji zapytania DNS.
[in] aResponse
Bufor wiadomości z ładunkiem odpowiedzi DNS lub nullptr w celu zamknięcia transakcji bez odpowiedzi.

Zasoby

Tematy referencyjne interfejsu OpenThread API pochodzą z kodu źródłowego dostępnego w GitHub. Aby dowiedzieć się więcej lub dołączyć do naszej dokumentacji, skorzystaj z sekcji Zasoby.