DNS - Piattaforma

Questo modulo include l'astrazione della piattaforma per l'invio di query DNS ricorsive ai server DNS upstream.

Riepilogo

Typedef

otPlatDnsUpstreamQuery typedef
Questo tipo opaco rappresenta una transazione di query DNS a monte.

Funzioni

otPlatDnsCancelUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn)
void
Annulla una transazione di query upstream.
otPlatDnsStartUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, const otMessage *aQuery)
void
Avvia una transazione di query upstream.
otPlatDnsUpstreamQueryDone(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, otMessage *aResponse)
void
La piattaforma chiama questa funzione per completare la query DNS.

Typedef

otPlatDnsUpstreamQuery

struct otPlatDnsUpstreamQuery otPlatDnsUpstreamQuery

Questo tipo opaco rappresenta una transazione di query DNS a monte.

Funzioni

otPlatDnsCancelUpstreamQuery

void otPlatDnsCancelUpstreamQuery(
  otInstance *aInstance,
  otPlatDnsUpstreamQuery *aTxn
)

Annulla una transazione di query upstream.

La piattaforma deve chiamare otPlatDnsUpstreamQueryDone per svincolare le risorse.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aTxn
Un puntatore all'oggetto transazione query DNS opaco.

otPlatDnsStartUpstreamQuery

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

Avvia una transazione di query upstream.

  • Nei casi di esito positivo (e negli errori rappresentati dai messaggi del protocollo DNS), la piattaforma dovrebbe chiamare otPlatDnsUpstreamQueryDone.
  • Il core OpenThread può annullare una transazione di query (probabilmente timeout) chiamando otPlatDnsCancelUpstreamQuery; la piattaforma non deve chiamare otPlatDnsUpstreamQueryDone in caso di transazione annullata.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aTxn
Un puntatore all'oggetto transazione query DNS opaco.
[in] aQuery
Un buffer dei messaggi del payload DNS che deve essere inviato al server DNS upstream.

otPlatDnsUpstreamQueryDone

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

La piattaforma chiama questa funzione per completare la query DNS.

La transazione verrà rilasciata, quindi la piattaforma non deve chiamare due volte la stessa transazione. Questa funzione passa la proprietà di aResponse allo stack OpenThread.

La piattaforma può passare un valore nullptr per chiudere una transazione senza risposta.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aTxn
Un puntatore all'oggetto transazione query DNS opaco.
[in] aResponse
Un buffer dei messaggi del payload della risposta DNS o nullptr per chiudere una transazione senza risposta.

Risorse

Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per saperne di più o per contribuire alla nostra documentazione, consulta la sezione Risorse.