TREL – stos wątków

Ten moduł definiuje interfejsy API Thread Radio Encapsulation Link (TREL) dla Thread Over Infrastructure.

Podsumowanie

Funkcje w tym module wymagają włączenia klasy OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE.

Definicje typów

otTrelPeer typedef
struct otTrelPeer
Reprezentuje instancję TREL.
otTrelPeerIterator typedef
uint16_t
Reprezentuje iterator do iteracji ponad wpisami w tabeli porównawczej TREL.

Funkcje

otTrelGetNextPeer(otInstance *aInstance, otTrelPeerIterator *aIterator)
const otTrelPeer *
Wykonuje iterację nad wpisami tabeli porównawczej i pobiera następny wpis z tabeli.
otTrelInitPeerIterator(otInstance *aInstance, otTrelPeerIterator *aIterator)
void
Inicjuje iterator tabeli porównawczej.
otTrelIsEnabled(otInstance *aInstance)
bool
Wskazuje, czy operacja TREL jest włączona.
otTrelIsFilterEnabled(otInstance *aInstance)
bool
Wskazuje, czy tryb filtra jest włączony.
otTrelSetEnabled(otInstance *aInstance, bool aEnable)
void
Włącza lub wyłącza operację TREL.
otTrelSetFilterEnabled(otInstance *aInstance, bool aEnable)
void
Ustawia tryb filtra (włącza lub wyłącza filtrowanie).

Konstrukcja

otTrelPeer

Reprezentuje instancję TREL.

Definicje typów

otTrelPeer

struct otTrelPeer otTrelPeer

Reprezentuje instancję TREL.

otTrelPeerIterator

uint16_t otTrelPeerIterator

Reprezentuje iterator do iteracji ponad wpisami w tabeli porównawczej TREL.

Funkcje

otTrelGetNextPeer

const otTrelPeer * otTrelGetNextPeer(
  otInstance *aInstance,
  otTrelPeerIterator *aIterator
)

Wykonuje iterację nad wpisami tabeli porównawczej i pobiera następny wpis z tabeli.

Szczegóły
Parametry
[in] aInstance
Instancja OpenThread.
[in] aIterator
iterator. MUSI być zainicjowana.
Zwroty
Wskaźnik do następnego wpisu otTrelPeer lub NULL, jeśli w tabeli nie ma więcej wpisów.

otTrelInitPeerIterator

void otTrelInitPeerIterator(
  otInstance *aInstance,
  otTrelPeerIterator *aIterator
)

Inicjuje iterator tabeli porównawczej.

Szczegóły
Parametry
[in] aInstance
Instancja OpenThread.
[in] aIterator
iterator do zainicjowania.

otTrelIsEnabled

bool otTrelIsEnabled(
  otInstance *aInstance
)

Wskazuje, czy operacja TREL jest włączona.

Szczegóły
Parametry
[in] aInstance
Instancja OpenThread.
Zwracane wartości
TRUE
jeśli włączona jest operacja TREL.
FALSE
jeśli operacja TREL jest wyłączona.

otTrelIsFilterEnabled

bool otTrelIsFilterEnabled(
  otInstance *aInstance
)

Wskazuje, czy tryb filtra jest włączony.

Szczegóły
Parametry
[in] aInstance
Instancja OpenThread.
Zwracane wartości
TRUE
jeśli włączony jest tryb filtra TREL.
FALSE
jeśli tryb filtra TREL jest wyłączony.

otTrelSetEnabled

void otTrelSetEnabled(
  otInstance *aInstance,
  bool aEnable
)

Włącza lub wyłącza operację TREL.

Gdy aEnable ma wartość prawda, ta funkcja inicjuje trwające przeglądanie DNS-SD usługi o nazwie „_trel._udp” w domenie przeglądania lokalnego, aby znaleźć inne urządzenia obsługujące TREL. Urządzenie rejestruje też nową usługę, która ma być rozgłaszana za pomocą DNS-SD. Nazwa usługi to „_trel._udp” wskazująca, że obsługuje ona TREL. Urządzenie będzie wtedy gotowe do odbierania wiadomości w formacie TREL od połączeń równorzędnych.

Gdy aEnable ma wartość false (fałsz), ta funkcja zatrzymuje przeglądanie DNS-SD usługi o nazwie „_trel._udp”, przestaje reklamować usługę TREL DNS-SD i czyści tabelę równorzędną TREL.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aEnable
Wartość logiczna służąca do włączania/wyłączania operacji TREL.

otTrelSetFilterEnabled

void otTrelSetFilterEnabled(
  otInstance *aInstance,
  bool aEnable
)

Ustawia tryb filtra (włącza lub wyłącza filtrowanie).

W trybie filtra cały ruch rx i tx przez interfejs TREL jest dyskretnie usuwany. Służy on głównie do testowania.

W przeciwieństwie do narzędzia otTrel{Enable/Disable}(), które całkowicie uruchamia/zatrzymuje operację TREL, po włączeniu trybu filtra interfejs TREL pozostaje włączony.

Szczegóły
Parametry
[in] aInstance
Instancja OpenThread.
[in] aFiltered
PRAWDA, aby włączyć tryb filtra, lub FAŁSZ, aby go wyłączyć.

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.