strona wyników wyszukiwania
Ten moduł zawiera funkcje, które kontrolują działanie klientów SRP.
Podsumowanie
Ten moduł zawiera funkcje protokołu rejestracji usługi.
Ten moduł zawiera funkcje buforów klienta SRP i puli usług.
Funkcje w tym module są dostępne tylko wtedy, gdy włączona jest funkcja OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_ENABLE.
Wyliczenia |
|
---|---|
otSrpClientItemState{
|
enum | typ wyliczeniowy Określa stan elementu klienta SRP (informacje o usłudze lub hoście). |
otSrpServerAddressMode{
|
enum | typ wyliczeniowy Reprezentuje tryb adresu używany przez serwer SRP. |
otSrpServerState{
|
enum | typ wyliczeniowy Reprezentuje stan serwera SRP. |
Definicje typów |
|
---|---|
otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
|
typedefvoid(*
Typ wskaźnika określa wywołanie zwrotne używane przez klienta SRP do powiadamiania użytkownika o automatycznym uruchomieniu lub zatrzymaniu. |
otSrpClientBuffersServiceEntry
|
typedef Reprezentuje wpis puli usług klienta SRP. |
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)
|
typedefvoid(*
Typ wskaźnika określa wywołanie zwrotne używane przez klienta SRP do powiadamiania użytkownika o zmianach, zdarzeniach i błędach. |
otSrpClientHostInfo
|
typedefstruct otSrpClientHostInfo
Reprezentuje informacje o hoście klienta SRP. |
otSrpClientService
|
typedefstruct otSrpClientService
Reprezentuje usługę klienta SRP. |
otSrpServerAddressMode
|
typedef Reprezentuje tryb adresu używany przez serwer SRP. |
otSrpServerHost
|
typedefstruct otSrpServerHost
Ten nieprzejrzysty typ reprezentuje hosta usługi SRP. |
otSrpServerLeaseConfig
|
typedefstruct otSrpServerLeaseConfig
Obejmuje konfiguracje LEASE serwera SRP i KEY-LEASE. |
otSrpServerLeaseInfo
|
typedefstruct otSrpServerLeaseInfo
Obejmuje informacje o dzierżawie serwera SRP hosta lub usługi. |
otSrpServerResponseCounters
|
typedefstruct otSrpServerResponseCounters
Obejmuje statystyki odpowiedzi serwera SRP. |
otSrpServerService
|
typedefstruct otSrpServerService
Ten nieprzejrzysty typ reprezentuje usługę SRP. |
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)
|
typedefvoid(*
Obsługuje aktualizacje usługi SRP. |
otSrpServerServiceUpdateId
|
typedefuint32_t
Identyfikator transakcji aktualizacji usługi SRP na serwerze SRP. |
otSrpServerTtlConfig
|
typedefstruct otSrpServerTtlConfig
Obejmuje konfiguracje TTL serwera SRP. |
Funkcje |
|
---|---|
otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
|
Dodaje usługę, która ma zostać zarejestrowana na serwerze.
|
otSrpClientBuffersAllocateService(otInstance *aInstance)
|
Przypisuje z puli nowy wpis usługi.
|
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
|
void
Zwalnia wszystkie przydzielone wcześniej wpisy usługi.
|
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
|
void
Zwalnia wcześniej przydzielony wpis usługi.
|
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
|
Pobiera tablicę wpisów z adresami IPv6, które mają być używane jako lista adresów hosta klienta SRP.
|
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
|
char *
Pobiera bufor ciągu znaków, który ma być używany w przypadku nazwy hosta klienta SRP.
|
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
|
char *
Pobiera bufor ciągu znaków dla nazwy instancji usługi z wpisu usługi.
|
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
|
char *
Pobiera bufor ciągu znaków dla nazwy usługi z wpisu usługi.
|
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
|
uint8_t *
Pobiera bufor rekordu TXT z wpisu usługi.
|
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
|
const char **
Pobiera tablicę etykiet podtypu usługi ze wpisu usługi.
|
otSrpClientClearHostAndServices(otInstance *aInstance)
|
void
Usuwa wszystkie informacje o hoście i wszystkie usługi.
|
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
|
Czyści usługę, natychmiast usuwając ją z listy usług klienta.
|
otSrpClientDisableAutoStartMode(otInstance *aInstance)
|
void
Wyłącza tryb automatycznego uruchamiania.
|
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
|
Włącza tryb automatycznego adresu hosta.
|
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
|
void
Włącza tryb automatycznego uruchamiania.
|
otSrpClientGetDomainName(otInstance *aInstance)
|
const char *
Pobiera nazwę domeny używaną przez klienta SRP.
|
otSrpClientGetHostInfo(otInstance *aInstance)
|
const otSrpClientHostInfo *
Pobiera informacje o hoście.
|
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
|
uint32_t
Pobiera domyślny interwał dzierżawy klucza używany w żądaniach aktualizacji SRP.
|
otSrpClientGetLeaseInterval(otInstance *aInstance)
|
uint32_t
Pobiera domyślny interwał dzierżawy używany w żądaniach aktualizacji SRP.
|
otSrpClientGetServerAddress(otInstance *aInstance)
|
const otSockAddr *
Pobiera adres gniazda (adres IPv6 i numer portu) serwera SRP, który jest używany przez klienta SRP.
|
otSrpClientGetServices(otInstance *aInstance)
|
const otSrpClientService *
Pobiera listę usług zarządzanych przez klienta.
|
otSrpClientGetTtl(otInstance *aInstance)
|
uint32_t
Pobiera wartość TTL z każdego rekordu zawartego w żądaniach aktualizacji SRP.
|
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
|
bool
Wskazuje bieżący stan trybu automatycznego uruchamiania (włączony lub wyłączony).
|
otSrpClientIsRunning(otInstance *aInstance)
|
bool
Wskazuje, czy klient SRP jest uruchomiony.
|
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
|
bool
Wskazuje, czy tryb „uwzględniania rekordu klucza usługi” jest włączony czy wyłączony.
|
otSrpClientItemStateToString(otSrpClientItemState aItemState)
|
const char *
Konwertuje
otSrpClientItemState na ciąg znaków. |
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
|
Rozpoczyna proces usuwania informacji o hoście i wszystkich usług.
|
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
|
Żąda wyrejestrowania usługi z serwera.
|
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
|
void
Ustawia wywołanie zwrotne powiadamiające osobę wywołującą o zdarzeniach/zmianach związanych z klientem SRP.
|
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
|
Ustawia nazwę domeny, która ma być używana przez klienta SRP.
|
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
|
Konfiguruje lub aktualizuje listę adresów IPv6 hosta.
|
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
|
Ustawia etykietę nazwy hosta.
|
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
|
void
Ustawia domyślny interwał dzierżawy klucza używany w żądaniach aktualizacji SRP.
|
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
|
void
Ustawia domyślny interwał dzierżawy używany w żądaniach aktualizacji SRP.
|
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
|
void
Włącza lub wyłącza tryb uwzględniania rekordu klucza usługi.
|
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
|
void
Ustawia wartość TTL w każdym rekordzie zawartym w żądaniach aktualizacji SRP.
|
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
|
Uruchamia operację klienta SRP.
|
otSrpClientStop(otInstance *aInstance)
|
void
Zatrzymuje operację klienta SRP.
|
otSrpServerGetAddressMode(otInstance *aInstance)
|
Zwraca tryb adresu używany przez serwer SRP.
|
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
|
uint8_t
Zwraca numer sekwencyjny używany w trybie adresu Anycast.
|
otSrpServerGetDomain(otInstance *aInstance)
|
const char *
Zwraca domenę autoryzowaną dla serwera SRP.
|
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
|
void
Zwraca konfiguracje LEASE serwera SRP i KEY-LEASE.
|
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
|
const otSrpServerHost *
Zwraca następny zarejestrowany host na serwerze SRP.
|
otSrpServerGetPort(otInstance *aInstance)
|
uint16_t
Zwraca port, na który nasłuchuje serwer SRP.
|
otSrpServerGetResponseCounters(otInstance *aInstance)
|
const otSrpServerResponseCounters *
Zwraca liczniki odpowiedzi serwera SRP.
|
otSrpServerGetState(otInstance *aInstance)
|
Zwraca stan serwera SRP.
|
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
|
void
Zwraca konfigurację TTL serwera SRP.
|
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
|
void
Raportuje wynik przetwarzania aktualizacji SRP na serwerze SRP.
|
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
|
const otIp6Address *
Zwraca adresy podanego hosta.
|
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
|
const char *
Zwraca pełną nazwę hosta.
|
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
|
void
Zwraca informacje LEASE i KEY-LEASE o danym hoście.
|
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
|
const otSrpServerService *
Zwraca następną usługę danego hosta.
|
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
|
bool
Informuje, czy host usługi SRP został usunięty.
|
otSrpServerHostMatchesFullName(const otSrpServerHost *aHost, const char *aFullName)
|
bool
Wskazuje, czy host jest zgodny z podaną nazwą hosta.
|
otSrpServerIsAutoEnableMode(otInstance *aInstance)
|
bool
Wskazuje, czy tryb automatycznego włączania jest włączony czy wyłączony.
|
otSrpServerParseSubTypeServiceName(const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize)
|
Analizuje nazwę usługi podtypu (pełna nazwa) i wyodrębnia etykietę podtypu.
|
otSrpServerServiceGetHost(const otSrpServerService *aService)
|
const otSrpServerHost *
Zwraca hosta, na którym znajduje się instancja usługi.
|
otSrpServerServiceGetInstanceLabel(const otSrpServerService *aService)
|
const char *
Zwraca etykietę instancji usługi (pierwszą etykietę w nazwie instancji) usługi.
|
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
|
const char *
Zwraca pełną nazwę instancji usługi.
|
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
|
void
Zwraca informacje LEASE i KEY-LEASE o danej usłudze.
|
otSrpServerServiceGetNumberOfSubTypes(const otSrpServerService *aService)
|
uint16_t
Pobiera liczbę podtypów usługi.
|
otSrpServerServiceGetPort(const otSrpServerService *aService)
|
uint16_t
Zwraca port instancji usługi.
|
otSrpServerServiceGetPriority(const otSrpServerService *aService)
|
uint16_t
Zwraca priorytet instancji usługi.
|
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
|
const char *
Zwraca pełną nazwę usługi.
|
otSrpServerServiceGetSubTypeServiceNameAt(const otSrpServerService *aService, uint16_t aIndex)
|
const char *
Pobiera nazwę podtypu usługi (pełna nazwa) usługi w danym indeksie.
|
otSrpServerServiceGetTtl(const otSrpServerService *aService)
|
uint32_t
Zwraca wartość TTL instancji usługi.
|
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
|
const uint8_t *
Zwraca dane rekordu TXT instancji usługi.
|
otSrpServerServiceGetWeight(const otSrpServerService *aService)
|
uint16_t
Zwraca wagę instancji usługi.
|
otSrpServerServiceHasSubTypeServiceName(const otSrpServerService *aService, const char *aSubTypeServiceName)
|
bool
Wskazuje, czy usługa ma dany podtyp.
|
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
|
bool
Wskazuje, czy usługa SRP została usunięta.
|
otSrpServerServiceMatchesInstanceName(const otSrpServerService *aService, const char *aInstanceName)
|
bool
Wskazuje, czy usługa jest zgodna z podaną nazwą instancji usługi.
|
otSrpServerServiceMatchesServiceName(const otSrpServerService *aService, const char *aServiceName)
|
bool
Wskazuje, czy usługa jest zgodna z podaną nazwą usługi.
|
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
|
Ustawia tryb adresu, który ma być używany przez serwer SRP.
|
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
|
Ustawia numer sekwencyjny używany w trybie adresu Anycast.
|
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
|
void
Włącza lub wyłącza tryb automatycznego włączania na serwerze SRP.
|
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
|
Ustawia domenę na serwerze SRP.
|
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
|
void
Włącza lub wyłącza serwer SRP.
|
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
|
Ustawia konfiguracje LEASE serwera SRP i KEY-LEASE.
|
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
|
void
Ustawia moduł obsługi aktualizacji usługi SRP na serwerze SRP.
|
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
|
Ustawia konfigurację TTL serwera SRP.
|
Konstrukcja |
|
---|---|
otSrpClientBuffersServiceEntry |
Reprezentuje wpis puli usług klienta SRP. |
otSrpClientHostInfo |
Reprezentuje informacje o hoście klienta SRP. |
otSrpClientService |
Reprezentuje usługę klienta SRP. |
otSrpServerLeaseConfig |
Obejmuje konfiguracje LEASE serwera SRP i KEY-LEASE. |
otSrpServerLeaseInfo |
Obejmuje informacje o dzierżawie serwera SRP hosta lub usługi. |
otSrpServerResponseCounters |
Obejmuje statystyki odpowiedzi serwera SRP. |
otSrpServerTtlConfig |
Obejmuje konfiguracje TTL serwera SRP. |
Wyliczenia
otSrpClientItemState
otSrpClientItemState
Określa stan elementu klienta SRP (informacje o usłudze lub hoście).
Właściwości | |
---|---|
OT_SRP_CLIENT_ITEM_STATE_ADDING
|
Dodaję/rejestruję produkt. |
OT_SRP_CLIENT_ITEM_STATE_REFRESHING
|
Odświeżam element. |
OT_SRP_CLIENT_ITEM_STATE_REGISTERED
|
Element został zarejestrowany na serwerze. |
OT_SRP_CLIENT_ITEM_STATE_REMOVED
|
Element został usunięty. |
OT_SRP_CLIENT_ITEM_STATE_REMOVING
|
Usuwam element. |
OT_SRP_CLIENT_ITEM_STATE_TO_ADD
|
Element do dodania/zarejestrowania. |
OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH
|
Element do odświeżenia (zarejestruj się ponownie, aby odnowić dzierżawę). |
OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE
|
Element do usunięcia. |
otSrpServerAddressMode
otSrpServerAddressMode
Reprezentuje tryb adresu używany przez serwer SRP.
Tryb adresu określa sposób określania adresu i numeru portu przez serwer SRP oraz sposobu publikowania tych informacji w danych sieci Thread.
Właściwości | |
---|---|
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST
|
Tryb adresu Anycast. |
OT_SRP_SERVER_ADDRESS_MODE_UNICAST
|
Tryb adresu Unicast. |
otSrpServerState
otSrpServerState
Reprezentuje stan serwera SRP.
Właściwości | |
---|---|
OT_SRP_SERVER_STATE_DISABLED
|
Serwer SRP jest wyłączony. |
OT_SRP_SERVER_STATE_RUNNING
|
Serwer SRP jest włączony i działa. |
OT_SRP_SERVER_STATE_STOPPED
|
Serwer SRP jest włączony, ale zatrzymany. |
Definicje typów
otSrpClientAutoStartCallback
void(* otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
Typ wskaźnika określa wywołanie zwrotne używane przez klienta SRP do powiadamiania użytkownika o automatycznym uruchomieniu lub zatrzymaniu.
Jest używana tylko wtedy, gdy włączona jest funkcja automatycznego uruchamiania OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
.
To wywołanie zwrotne jest wywoływane, gdy włączony jest tryb automatycznego uruchamiania, a klient SRP zostaje automatycznie uruchomiony lub zatrzymany.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otSrpClientBuffersServiceEntry
struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry
Reprezentuje wpis puli usług klienta SRP.
otSrpClientCallback
void(* otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)
Typ wskaźnika określa wywołanie zwrotne używane przez klienta SRP do powiadamiania użytkownika o zmianach, zdarzeniach i błędach.
Wywołanie zwrotne jest wywoływane po pomyślnym zarejestrowaniu aktualizacji (np. dodaniu/usunięciu informacji o hoście lub niektórych usługach) na serwerze SRP albo w przypadku awarii lub błędu (np. serwer odrzuca żądanie aktualizacji lub przekroczono limit czasu oczekiwania na odpowiedź klienta).
W przypadku ponownej rejestracji aktualizacji parametr aError
będzie mieć wartość OT_ERROR_NONE
, a informacje o hoście i pełna lista usług będą podane jako parametry wejściowe wywołania zwrotnego. Pamiętaj, że informacje o hoście i usługi śledzą swój własny stan w odpowiedniej zmiennej członkowskiej mState
powiązanej struktury danych (stan wskazujący, czy informacje o hoście/usługa są zarejestrowane lub usunięte, czy wciąż są dodawane/usuwane itp.).
Lista usuniętych usług jest przekazywana w wywołaniu zwrotnym jako własną powiązaną listę aRemovedServices
. Pamiętaj, że po wywołaniu wywołania zwrotnego klient SRP (implementacja OpenThread) wykonywany jest z usuniętymi instancjami usługi wymienionymi w aRemovedServices
i nie śledzi ich już ani nie przechowuje (np. jeśli z wywołania zwrotnego wywołamy otSrpClientGetServices()
usunięte usługi nie będą widoczne na zwróconej liście). Podanie osobnej listy usuniętych usług w wywołaniu zwrotnym pomaga wskazać użytkownikowi, które elementy są teraz usuwane, i umożliwia ponowne zgłoszenie roszczenia do instancji lub ponowne użycie instancji.
Jeśli serwer odrzuci żądanie aktualizacji SRP, kod odpowiedzi DNS (RFC 2136) zostanie zmapowany na te błędy:
- (0) NOERROR Udało się (brak warunku błędu) -> OT_ERROR_NONE
- (1) Serwer FORMERR nie może zinterpretować z powodu błędu formatu -> OT_ERROR_PARSE
- (2) Serwer SERVFAIL napotkał błąd wewnętrzny -> OT_ERROR_FAILED
- (3) Nazwa NXDOMAIN, która powinna istnieć, nie istnieje -> OT_ERROR_NOT_FOUND
- (4) Serwer NOTIMP nie obsługuje typu zapytania (kod OpCode) -> OT_ERROR_NOT_IMPLEMENTED
- (5) Odrzucenie serwera REFUSE z powodu naruszenia zasad/bezpieczeństwa -> OT_ERROR_ERROR
- (6) YXDOMAIN Jedna nazwa, która nie powinna istnieć, istnieje -> OT_ERROR_DUPLICATED
- (7) YXRRSET Jakiś parametr RRset, który nie powinien istnieć, jednak istnieje -> OT_ERROR_DUPLICATED
- (8) NXRRSET Jakiś RRset, który powinien istnieć, nie istnieje -> OT_ERROR_NOT_FOUND
- (9) Usługa NOTAUTH nie jest autorytatywna w przypadku strefy -> OT_ERROR_BEZPIECZEŃSTWO
- (10) NOTZONE Nazwa nie znajduje się w strefie -> OT_ERROR_PARSE
- (20) BADNAME Niewłaściwa nazwa -> OT_ERROR_PARSE
- (21) BADALG Nieprawidłowy algorytm -> OT_ERROR_ERROR
- (22) BADTRUN Nieprawidłowe obcięcie -> OT_ERROR_PARSE
- Inne kody odpowiedzi -> OT_ERROR_FAILED
Możliwe są również następujące błędy:
- OT_ERROR_odpowiedź_TIMEOUT : przekroczono limit czasu oczekiwania na odpowiedź serwera (klient będzie nadal ponawiał próby).
- OT_ERROR_TRUE_ARGS: podana struktura usługi jest nieprawidłowa (np. nieprawidłowa nazwa usługi lub niepoprawna nazwa usługi:
otDnsTxtEntry
). - OT_ERROR_NO_BUFS : niewystarczający bufor, aby przygotować lub wysłać komunikat aktualizacji.
Pamiętaj, że w przypadku awarii klient kontynuuje operację, tj. przygotowuje i (ponownie) przesyła komunikat o aktualizacji SRP do serwera po pewnym czasie oczekiwania. Interwał oczekiwania na ponawianie prób rozpoczyna się od wartości minimalnej i jest zwiększany o współczynnik wzrostu przy każdym niepowodzeniu aż do wartości maksymalnej (więcej informacji znajdziesz w parametrze konfiguracji OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL
i powiązanych z nim parametrach).
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
otSrpClientHostInfo
struct otSrpClientHostInfo otSrpClientHostInfo
Reprezentuje informacje o hoście klienta SRP.
otSrpClientService
struct otSrpClientService otSrpClientService
Reprezentuje usługę klienta SRP.
Wartości w tej strukturze, w tym bufory ciągów znaków dla nazw i wpisów rekordów TXT, MUSZĄ pozostawać bez zmian po przekazaniu instancji tej struktury do OpenThread z otSrpClientAddService()
lub otSrpClientRemoveService()
.
Pola mState
, mData
, mNext
są używane i zarządzane tylko przez rdzeni OT. Ich wartość jest ignorowana, gdy wystąpienie otSrpClientService
jest przekazywane w funkcji otSrpClientAddService()
, otSrpClientRemoveService()
lub innej. Element wywołujący nie musi konfigurować tych pól.
Pola mLease
i mKeyLease
określają wymagany okres dzierżawy i przedziału dzierżawy kluczy dla tej usługi. Wartość zerowa oznacza, że przedział nie jest określony i w przypadku tej usługi używane są domyślne przedziały dzierżawy kluczy z otSrpClientGetLeaseInterval()
i otSrpClientGetKeyLeaseInterval()
. Jeśli okres dzierżawy klucza (ustawiony bezpośrednio lub określony jako domyślny) jest krótszy niż okres dzierżawy usługi, klient SRP ponownie użyje wartości tego okresu także w przypadku okresu dzierżawy klucza. Jeśli na przykład w usłudze mLease
jest bezpośrednio ustawiona wartość 2 dni, a mKeyLease
ma wartość 0, a domyślna dzierżawa kluczy jest ustawiona na 1 dzień, to podczas rejestracji tej usługi żądana dzierżawa kluczy dla tej usługi także jest ustawiona na 2 dni.
otSrpServerAddressMode
enum otSrpServerAddressMode otSrpServerAddressMode
Reprezentuje tryb adresu używany przez serwer SRP.
Tryb adresu określa sposób określania adresu i numeru portu przez serwer SRP oraz sposobu publikowania tych informacji w danych sieci Thread.
otSrpServerHost
struct otSrpServerHost otSrpServerHost
Ten nieprzejrzysty typ reprezentuje hosta usługi SRP.
otSrpServerLeaseConfig
struct otSrpServerLeaseConfig otSrpServerLeaseConfig
Obejmuje konfiguracje LEASE serwera SRP i KEY-LEASE.
otSrpServerLeaseInfo
struct otSrpServerLeaseInfo otSrpServerLeaseInfo
Obejmuje informacje o dzierżawie serwera SRP hosta lub usługi.
otSrpServerResponseCounters
struct otSrpServerResponseCounters otSrpServerResponseCounters
Obejmuje statystyki odpowiedzi serwera SRP.
otSrpServerService
struct otSrpServerService otSrpServerService
Ten nieprzejrzysty typ reprezentuje usługę SRP.
otSrpServerServiceUpdateHandler
void(* otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)
Obsługuje aktualizacje usługi SRP.
Jest wywoływane przez serwer SRP w celu powiadomienia o aktualizowaniu hosta SRP i prawdopodobnie usług SRP. Ważne jest, aby aktualizacje SRP nie były zatwierdzane, dopóki moduł obsługi nie zwróci wyniku przez wywołanie otSrpServerHandleServiceUpdateResult lub przekroczenie limitu czasu po aTimeout
.
Obserwator usługi SRP powinien zawsze wywoływać metodę otSrpServerHandleServiceUpdateResult z kodem błędu OT_ERROR_NONE bezpośrednio po otrzymaniu zdarzeń aktualizacji.
Bardziej ogólny moduł obsługi może przeprowadzać weryfikację na hoście/usługach SRP i odrzucać aktualizacje SRP, jeśli weryfikacja się nie powiedzie. Na przykład serwer proxy reklam powinien rozgłaszać (lub usunąć) hosta i usługi w ramach połączenia obsługującego multiemisję, a w razie wystąpienia błędu zwraca określony kod błędu.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult
otSrpServerServiceUpdateId
uint32_t otSrpServerServiceUpdateId
Identyfikator transakcji aktualizacji usługi SRP na serwerze SRP.
otSrpServerTtlConfig
struct otSrpServerTtlConfig otSrpServerTtlConfig
Obejmuje konfiguracje TTL serwera SRP.
Funkcje
otSrpClientAddService
otError otSrpClientAddService( otInstance *aInstance, otSrpClientService *aService )
Dodaje usługę, która ma zostać zarejestrowana na serwerze.
Po pomyślnym wywołaniu tej funkcji funkcja otSrpClientCallback
zostanie wywołana w celu zgłoszenia stanu dodania lub rejestracji usługi na serwerze SRP.
Instancja otSrpClientService
, na którą wskazuje aService
, MUSI być widoczna i niezmieniona po powrocie z tej funkcji (przy użyciu funkcji OT_ERROR_NONE
). OpenThread zapisze wskaźnik do instancji usługi.
Instancja otSrpClientService
nie jest już śledzona przez OpenThread i można ją odzyskać tylko wtedy, gdy
- Jest usuwana bezpośrednio przez wywołanie
otSrpClientRemoveService()
lub usuwana wraz z innymi usługami przez wywołanieotSrpClientRemoveHostAndServices() and only after the
otSrpClientCallback`, co oznacza, że usługa została usunięta. - Wywołanie
otSrpClientClearHostAndServices()
, które natychmiast usuwa hosta i wszystkie powiązane usługi.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
otSrpClientBuffersAllocateService
otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService( otInstance *aInstance )
Przypisuje z puli nowy wpis usługi.
Zwrócona instancja wpisu usługi zostanie zainicjowana w ten sposób:
mService.mName
będzie wskazywać przydzielony bufor ciągu znaków, który można pobrać za pomocą funkcjiotSrpClientBuffersGetServiceEntryServiceNameString()
.mService.mInstanceName
będzie wskazywać przydzielony bufor ciągu znaków, który można pobrać za pomocą funkcjiotSrpClientBuffersGetServiceEntryInstanceNameString()
.mService.mSubTypeLabels
wskazuje tablicę zwracaną z funkcjiotSrpClientBuffersGetSubTypeLabelsArray()
.mService.mTxtEntries
będzie wskazywać elementmTxtEntry
.- Pole
mService.mNumTxtEntries
zostanie ustawione na jeden. - Inne pola
mService
(port, priorytet, waga) są ustawione na 0. mTxtEntry.mKey
ma wartość NULL (wartość jest traktowana jako już zakodowana).mTxtEntry.mValue
będzie wskazywać przydzielony bufor, który można pobrać za pomocą funkcjiotSrpClientBuffersGetServiceEntryTxtBuffer()
.mTxtEntry.mValueLength
ma wartość zero.- Wszystkie powiązane bufory danych/ciągów znaków i tablice zostaną wyczyszczone do zera.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wskaźnik do nowo przydzielonego wpisu usługi lub wartości NULL, jeśli nie ma więcej wpisów dostępnych w puli.
|
otSrpClientBuffersFreeAllServices
void otSrpClientBuffersFreeAllServices( otInstance *aInstance )
Zwalnia wszystkie przydzielone wcześniej wpisy usługi.
Szczegóły | |||
---|---|---|---|
Parametry |
|
otSrpClientBuffersFreeService
void otSrpClientBuffersFreeService( otInstance *aInstance, otSrpClientBuffersServiceEntry *aService )
Zwalnia wcześniej przydzielony wpis usługi.
aService
MUSI zostać wcześniej przydzielona za pomocą otSrpClientBuffersAllocateService()
i jeszcze nie zwolniona. W przeciwnym razie działanie tej funkcji będzie nieokreślone.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otSrpClientBuffersGetHostAddressesArray
otIp6Address * otSrpClientBuffersGetHostAddressesArray( otInstance *aInstance, uint8_t *aArrayLength )
Pobiera tablicę wpisów z adresami IPv6, które mają być używane jako lista adresów hosta klienta SRP.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Wskaźnik do tablicy wpisów w liczbie
otIp6Address (liczba wpisów jest zwracana w ciągu aArrayLength ). |
otSrpClientBuffersGetHostNameString
char * otSrpClientBuffersGetHostNameString( otInstance *aInstance, uint16_t *aSize )
Pobiera bufor ciągu znaków, który ma być używany w przypadku nazwy hosta klienta SRP.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Wskaźnik bufora znaków używany w przypadku nazwy hosta klienta SRP.
|
otSrpClientBuffersGetServiceEntryInstanceNameString
char * otSrpClientBuffersGetServiceEntryInstanceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Pobiera bufor ciągu znaków dla nazwy instancji usługi z wpisu usługi.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Wskaźnik do bufora ciągów znaków.
|
otSrpClientBuffersGetServiceEntryServiceNameString
char * otSrpClientBuffersGetServiceEntryServiceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Pobiera bufor ciągu znaków dla nazwy usługi z wpisu usługi.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Wskaźnik do bufora ciągów znaków.
|
otSrpClientBuffersGetServiceEntryTxtBuffer
uint8_t * otSrpClientBuffersGetServiceEntryTxtBuffer( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Pobiera bufor rekordu TXT z wpisu usługi.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Wskaźnik do bufora.
|
otSrpClientBuffersGetSubTypeLabelsArray
const char ** otSrpClientBuffersGetSubTypeLabelsArray( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength )
Pobiera tablicę etykiet podtypu usługi ze wpisu usługi.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Wskaźnik do tablicy.
|
otSrpClientClearHostAndServices
void otSrpClientClearHostAndServices( otInstance *aInstance )
Usuwa wszystkie informacje o hoście i wszystkie usługi.
W odróżnieniu od funkcji otSrpClientRemoveHostAndServices()
, która wysyła wiadomość o aktualizacji na serwer z prośbą o usunięcie wszystkich informacji, ta funkcja natychmiast usuwa wszystkie te informacje, bez jakiegokolwiek udziału z serwerem.
Szczegóły | |||
---|---|---|---|
Parametry |
|
otSrpClientClearService
otError otSrpClientClearService( otInstance *aInstance, otSrpClientService *aService )
Czyści usługę, natychmiast usuwając ją z listy usług klienta.
W odróżnieniu od funkcji otSrpClientRemoveService()
, która wysyła wiadomość o aktualizacji do serwera w celu usunięcia usługi, ta funkcja usuwa usługę z listy usług klienta bez żadnej interakcji z serwerem. Po pomyślnym wywołaniu tej funkcji otSrpClientCallback
NIE zostanie wywołana, a wpis aService
może być natychmiast odzyskany i ponownie użyty przez element wywołujący.
Można jej używać razem z kolejnym wywołaniem funkcji otSrpClientAddService()
(potencjalnie wykorzystującej ten sam wpis aService
z tą samą nazwą usługi i instancji) w celu zaktualizowania niektórych parametrów istniejącej usługi.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otSrpClientDisableAutoStartMode
void otSrpClientDisableAutoStartMode( otInstance *aInstance )
Wyłącza tryb automatycznego uruchamiania.
Ta funkcja jest dostępna tylko wtedy, gdy włączona jest funkcja automatycznego uruchamiania OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
.
Wyłączenie trybu automatycznego uruchamiania nie zatrzyma klienta, jeśli jest już uruchomiony, ale klient przestanie monitorować dane sieci typu Thread, aby sprawdzić, czy wybrany serwer SRP nadal jest na nim obecny.
Pamiętaj, że wywołanie metody otSrpClientStop()
spowoduje też wyłączenie trybu automatycznego uruchamiania.
Szczegóły | |||
---|---|---|---|
Parametry |
|
otSrpClientEnableAutoHostAddress
otError otSrpClientEnableAutoHostAddress( otInstance *aInstance )
Włącza tryb automatycznego adresu hosta.
Gdy ta opcja jest włączona, adresy IPv6 hosta są automatycznie ustawiane przez klienta SRP przy użyciu wszystkich preferowanych adresów typu unicast w Threadif z wyłączeniem wszystkich adresów lokalnych i lokalnych w sieci typu mesh. Jeśli nie ma preferowanego adresu, dodawany jest lokalny adres EID sieci typu mesh. Klient SRP zostanie automatycznie zarejestrowany ponownie po zaktualizowaniu adresów w sieci Threadif (dodane są nowe adresy lub istniejące adresy są usuwane bądź oznaczane jako niepreferowane).
Tryb automatycznego adresu hosta można włączyć przed uruchomieniem lub w trakcie działania klienta SRP, chyba że informacje o hoście są usuwane (klient jest zajęty obsługą żądania usunięcia z wywołania otSrpClientRemoveHostAndServices()
, a informacje o hoście nadal mają stan STATE_TO_REMOVE
lub STATE_REMOVING
).
Gdy tryb automatycznego adresu hosta jest włączony, można go wyłączyć przez wywołanie otSrpClientSetHostAddresses()
, które następnie jawnie ustawia adresy hosta.
Szczegóły | |||||
---|---|---|---|---|---|
Zwracane wartości |
|
otSrpClientEnableAutoStartMode
void otSrpClientEnableAutoStartMode( otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext )
Włącza tryb automatycznego uruchamiania.
Ta funkcja jest dostępna tylko wtedy, gdy włączona jest funkcja automatycznego uruchamiania OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
.
Opcja konfiguracji OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE
określa domyślny tryb automatycznego uruchamiania (niezależnie od tego, czy jest on włączony czy wyłączony na początku stosu OT).
Gdy automatyczne uruchamianie jest włączone, klient SRP monitoruje dane sieci Thread, by wykrywać serwery SRP i wybierać preferowany serwer oraz automatycznie uruchamiać i zatrzymywać klienta po wykryciu takiego serwera.
Istnieją 3 kategorie wpisów danych sieci wskazujących na obecność serwera SRP. Są one preferowane w tej kolejności:
1) Preferowane wpisy pojedyncze, w których adres serwera jest zawarty w danych usługi. Jeśli dostępnych jest kilka opcji, preferowana jest ta z liczbowo najniższym adresem IPv6.
2) Wpisy typu Anycast, każdy z numerem sekwencyjnym. Większy numer sekwencyjny określony przez funkcję arytmetyczną numeru seryjnego w dokumencie RFC-1982 jest uważany za nowszy i dlatego preferowany. Preferowany jest największy numer sekwencyjny z zastosowaniem funkcji arytmetycznej numeru seryjnego, jeśli jest on dobrze zdefiniowany (tzn. numer sekwencyjny jest większy niż wszystkie pozostałe liczby na kolejnych). Jeśli nie jest on dokładnie określony, preferowany jest liczbowy największy numer sekwencyjny.
3) Wpisy Unicast, w których dane serwera zawierają informacje o adresie serwera. Jeśli dostępnych jest kilka opcji, preferowana jest ta z liczbowo najniższym adresem IPv6.
W przypadku zmiany we wpisach Dane sieci klient sprawdzi, czy aktualnie wybrany serwer znajduje się w danych sieci i nadal jest preferowany. W przeciwnym razie klient przełączy się na nowy preferowany serwer, a jeśli nie ma takiego serwera, zostanie wyłączony.
Gdy klient SRP zostanie bezpośrednio uruchomiony za pomocą udanego wywołania otSrpClientStart()
, podany adres serwera SRP w otSrpClientStart()
będzie nadal używany niezależnie od stanu trybu automatycznego uruchamiania i tego, czy ten sam adres serwera SRP zostanie wykryty w danych sieci typu Thread. W takim przypadku tylko bezpośrednie wywołanie otSrpClientStop()
spowoduje zatrzymanie klienta.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
otSrpClientGetDomainName
const char * otSrpClientGetDomainName( otInstance *aInstance )
Pobiera nazwę domeny używaną przez klienta SRP.
Wymaga włączenia zasady OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
.
Jeśli nazwa domeny nie zostanie ustawiona, będzie używana domena „default.service.arpa”.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Ciąg tekstowy nazwy domeny.
|
otSrpClientGetHostInfo
const otSrpClientHostInfo * otSrpClientGetHostInfo( otInstance *aInstance )
Pobiera informacje o hoście.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wskaźnik struktury informacji o hoście.
|
otSrpClientGetKeyLeaseInterval
uint32_t otSrpClientGetKeyLeaseInterval( otInstance *aInstance )
Pobiera domyślny interwał dzierżawy klucza używany w żądaniach aktualizacji SRP.
Interwał domyślny jest używany tylko w przypadku otSrpClientService
instancji z wartością mKeyLease
ustawioną na 0.
Pamiętaj, że jest to czas dzierżawy, o który prosi klient SRP. Serwer może zaakceptować inny interwał dzierżawy.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Interwał dzierżawy kluczy (w sekundach).
|
otSrpClientGetLeaseInterval
uint32_t otSrpClientGetLeaseInterval( otInstance *aInstance )
Pobiera domyślny interwał dzierżawy używany w żądaniach aktualizacji SRP.
Interwał domyślny jest używany tylko w przypadku otSrpClientService
instancji z wartością mLease
ustawioną na 0.
Pamiętaj, że jest to czas dzierżawy, o który prosi klient SRP. Serwer może zaakceptować inny interwał dzierżawy.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Interwał dzierżawy (w sekundach).
|
otSrpClientGetServerAddress
const otSockAddr * otSrpClientGetServerAddress( otInstance *aInstance )
Pobiera adres gniazda (adres IPv6 i numer portu) serwera SRP, który jest używany przez klienta SRP.
Jeśli klient nie jest uruchomiony, adres jest nieokreślony (tylko zero) i ma zerowy numer portu.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wskaźnik do adresu gniazda serwera SRP (zawsze nie ma wartości NULL).
|
otSrpClientGetServices
const otSrpClientService * otSrpClientGetServices( otInstance *aInstance )
Pobiera listę usług zarządzanych przez klienta.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wskaźnik do nagłówka połączonej listy wszystkich usług lub wartość NULL, jeśli lista jest pusta.
|
otSrpClientGetTtl
uint32_t otSrpClientGetTtl( otInstance *aInstance )
Pobiera wartość TTL z każdego rekordu zawartego w żądaniach aktualizacji SRP.
Pamiętaj, że jest to wartość TTL wymagana przez klienta SRP. Serwer może zaakceptować inną wartość TTL.
Domyślnie wartość TTL jest równa interwałowi dzierżawy. Jeśli w metodzie otSrpClientSetTtl()
zostanie przesłana wartość 0 lub wartość większa niż interwał dzierżawy, wartość TTL będzie też równa odstępowi dzierżawy.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość TTL (w sekundach).
|
otSrpClientIsAutoStartModeEnabled
bool otSrpClientIsAutoStartModeEnabled( otInstance *aInstance )
Wskazuje bieżący stan trybu automatycznego uruchamiania (włączony lub wyłączony).
Ta funkcja jest dostępna tylko wtedy, gdy włączona jest funkcja automatycznego uruchamiania OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość TRUE, jeśli włączony jest tryb automatycznego uruchamiania, lub wartość FALSE w przeciwnym razie.
|
otSrpClientIsRunning
bool otSrpClientIsRunning( otInstance *aInstance )
Wskazuje, czy klient SRP jest uruchomiony.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość TRUE, jeśli klient SRP jest uruchomiony, lub wartość FALSE w przeciwnym razie.
|
otSrpClientIsServiceKeyRecordEnabled
bool otSrpClientIsServiceKeyRecordEnabled( otInstance *aInstance )
Wskazuje, czy tryb „uwzględniania rekordu klucza usługi” jest włączony czy wyłączony.
Jest dostępne, gdy włączona jest konfiguracja OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
TRUE, jeśli włączony jest tryb „uwzględnianie rekordu klucza usługi”. W przeciwnym razie ma wartość FALSE.
|
otSrpClientItemStateToString
const char * otSrpClientItemStateToString( otSrpClientItemState aItemState )
Konwertuje otSrpClientItemState
na ciąg znaków.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Ciąg znaków reprezentujący
aItemState . |
otSrpClientRemoveHostAndServices
otError otSrpClientRemoveHostAndServices( otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer )
Rozpoczyna proces usuwania informacji o hoście i wszystkich usług.
Po powrocie z tej funkcji funkcja otSrpClientCallback
zostanie wywołana w celu zgłoszenia stanu żądania usunięcia z serwera SRP.
Jeśli informacje o hoście mają zostać trwale usunięte z serwera, właściwość aRemoveKeyLease
powinna mieć wartość true
, co spowoduje usunięcie dzierżawy klucza powiązanej z hostem na serwerze. W przeciwnym razie rekord dzierżawy kluczy zostanie zachowany tak jak dotychczas, dzięki czemu serwer zachowa nazwę hosta w rezerwacji, gdy klient znów będzie mógł świadczyć i rejestrować swoje usługi.
Pole aSendUnregToServer
określa zachowanie, gdy informacje o hoście nie są jeszcze zarejestrowane na serwerze. Jeśli zasada aSendUnregToServer
ma wartość false
(czyli wartość domyślną/oczekiwaną), klient SRP usuwa informacje o hoście i usługi bez wysyłania komunikatu o aktualizacji do serwera (nie trzeba aktualizować serwera, jeśli nie zostały w nim jeszcze zarejestrowane żadne dane). Jeśli zasada aSendUnregToServer
ma wartość true
, klient SRP wysyła do serwera wiadomość o aktualizacji. Pamiętaj, że jeśli informacje o hoście są zarejestrowane, wartość aSendUnregToServer
nie ma znaczenia, a klient SRP zawsze wysyła do serwera wiadomość z prośbą o usunięcie wszystkich informacji.
Jednym z sytuacji, w której aSendUnregToServer
może być przydatny, jest zresetowanie lub ponowne uruchomienie urządzenia. Osoba wywołująca może chcieć usunąć z serwera wszystkie wcześniej zarejestrowane usługi. W takim przypadku rozmówca może otSrpClientSetHostName()
, a następnie poprosić o otSrpClientRemoveHostAndServices()
, używając aSendUnregToServer
jako true
.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
otSrpClientRemoveService
otError otSrpClientRemoveService( otInstance *aInstance, otSrpClientService *aService )
Żąda wyrejestrowania usługi z serwera.
Po pomyślnym wywołaniu tej funkcji funkcja otSrpClientCallback
zostanie wywołana w celu zgłoszenia stanu żądania usunięcia z serwerem SRP.
Instancja otSrpClientService
, na którą wskazuje aService
, MUSI pozostać niezmieniona po powrocie z tej funkcji (przy użyciu: OT_ERROR_NONE
). OpenThread zachowa instancję usługi podczas procesu usuwania. Dopiero po wywołaniu interfejsu otSrpClientCallback
wskazującego, że instancja usługi została usunięta z listy usług klienta SRP i można ją zwolnić/ponownie wykorzystać.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otSrpClientSetCallback
void otSrpClientSetCallback( otInstance *aInstance, otSrpClientCallback aCallback, void *aContext )
Ustawia wywołanie zwrotne powiadamiające osobę wywołującą o zdarzeniach/zmianach związanych z klientem SRP.
Klient SRP umożliwia zarejestrowanie pojedynczego wywołania zwrotnego. Kolejne wywołania tej funkcji zastąpią wszelkie wcześniej ustawione funkcje wywołań zwrotnych.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
otSrpClientSetDomainName
otError otSrpClientSetDomainName( otInstance *aInstance, const char *aName )
Ustawia nazwę domeny, która ma być używana przez klienta SRP.
Wymaga włączenia zasady OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
.
Jeśli nie skonfigurujesz tej zasady, używana będzie domena „default.service.arpa”.
Bufor z ciągiem nazwy wskazywany przez funkcję aName
MUSI zostać zachowany i pozostać niezmieniony po powrocie z tej funkcji. OpenThread zachowa wskaźnik na ciągu.
Nazwę domeny możesz ustawić przed uruchomieniem klienta lub po jego uruchomieniu, ale przed zarejestrowaniem informacji o hoście na serwerze (informacje o hoście powinny być w formacie STATE_TO_ADD
lub STATE_TO_REMOVE
).
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otSrpClientSetHostAddresses
otError otSrpClientSetHostAddresses( otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses )
Konfiguruje lub aktualizuje listę adresów IPv6 hosta.
Adresy IPv6 hosta można ustawiać/zmieniać przed uruchomieniem lub w trakcie działania klienta SRP (np. w celu dodania, usunięcia lub zmiany wcześniej zarejestrowanego adresu hosta), chyba że informacje o hoście są usuwane (klient jest zajęty obsługą żądania usunięcia z wcześniejszego wywołania otSrpClientRemoveHostAndServices()
, a informacje o hoście nadal są w stanie STATE_TO_REMOVE
lub STATE_REMOVING
).
Tablica adresów IPv6 hosta, na którą wskazuje aIp6Addresses
, MUSI być trwała i niezmieniona po powrocie z tej funkcji (przy użyciu funkcji OT_ERROR_NONE
). OpenThread zapisze w niej wskaźnik.
Po pomyślnym wywołaniu tej funkcji funkcja otSrpClientCallback
zostanie wywołana w celu zgłoszenia stanu rejestracji adresu na serwerze SRP.
Wywołanie tej funkcji wyłącza tryb automatycznego adresu hosta, jeśli został on wcześniej włączony z udanego wywołania otSrpClientEnableAutoHostAddress()
.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
otSrpClientSetHostName
otError otSrpClientSetHostName( otInstance *aInstance, const char *aName )
Ustawia etykietę nazwy hosta.
Po pomyślnym wywołaniu tej funkcji funkcja otSrpClientCallback
zostanie wywołana w celu zgłoszenia stanu rejestracji informacji o hoście na serwerze SRP.
Bufor z ciągiem nazwy wskazywany przez funkcję aName
MUSI zostać zachowany i pozostać niezmieniony po powrocie z tej funkcji. OpenThread zachowa wskaźnik na ciągu.
Nazwę hosta można ustawić przed uruchomieniem klienta lub po jego uruchomieniu, ale przed zarejestrowaniem informacji o hoście na serwerze (informacje o hoście powinny być w formacie STATE_TO_ADD
lub STATE_REMOVED
).
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
otSrpClientSetKeyLeaseInterval
void otSrpClientSetKeyLeaseInterval( otInstance *aInstance, uint32_t aInterval )
Ustawia domyślny interwał dzierżawy klucza używany w żądaniach aktualizacji SRP.
Interwał domyślny jest używany tylko w przypadku otSrpClientService
instancji z wartością mKeyLease
ustawioną na 0.
Zmiana okresu dzierżawy nie ma wpływu na zaakceptowany okres dzierżawy już zarejestrowanych usług lub informacji o hoście. Dotyczy tylko przyszłych wiadomości aktualizacji SRP (np. dodawania nowych usług lub odświeżeń istniejących usług).
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otSrpClientSetLeaseInterval
void otSrpClientSetLeaseInterval( otInstance *aInstance, uint32_t aInterval )
Ustawia domyślny interwał dzierżawy używany w żądaniach aktualizacji SRP.
Interwał domyślny jest używany tylko w przypadku otSrpClientService
instancji z wartością mLease
ustawioną na 0.
Zmiana okresu dzierżawy nie ma wpływu na zaakceptowany okres dzierżawy już zarejestrowanych usług lub informacji o hoście. Dotyczy tylko przyszłych wiadomości aktualizacji SRP (np. dodawania nowych usług lub odświeżeń istniejących usług).
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otSrpClientSetServiceKeyRecordEnabled
void otSrpClientSetServiceKeyRecordEnabled( otInstance *aInstance, bool aEnabled )
Włącza lub wyłącza tryb uwzględniania rekordu klucza usługi.
Gdy ta opcja jest włączona, klient SRP umieszcza rekord KEY w instrukcjach opisu usługi w wysyłanych komunikatach o aktualizacji SRP.
Jest dostępne, gdy włączona jest konfiguracja OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otSrpClientSetTtl
void otSrpClientSetTtl( otInstance *aInstance, uint32_t aTtl )
Ustawia wartość TTL w każdym rekordzie zawartym w żądaniach aktualizacji SRP.
Zmiana wartości TTL nie ma wpływu na wartości TTL już zarejestrowanych usług/informacji o hoście. Ma wpływ tylko na przyszłe komunikaty SRP (np. dodawanie nowych usług lub odświeżanie istniejących usług).
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otSrpClientStart
otError otSrpClientStart( otInstance *aInstance, const otSockAddr *aServerSockAddr )
Uruchamia operację klienta SRP.
Klient SRP przygotuje i wyśle komunikat „SRP Update” (Aktualizacja SRP) do serwera SRP, gdy zostaną spełnione wszystkie poniższe warunki:
- Klient SRP został uruchomiony – wywoływany jest
otSrpClientStart()
. - Nazwa hosta jest ustawiona – wywoływana jest nazwa
otSrpClientSetHostName()
. - Ustawiony co najmniej 1 adres IPv6 hosta – wywoływana jest właściwość
otSrpClientSetHostName()
. - Dodano co najmniej 1 usługę – wywoływana jest usługa
otSrpClientAddService()
.
Nie ma znaczenia, w jakiej kolejności te funkcje są wywoływane. Gdy wszystkie warunki są spełnione, klient SRP czeka z krótkim opóźnieniem, zanim przygotuje komunikat „SRP Update” (Aktualizacja SRP) i wyśle go na serwer. To opóźnienie umożliwia użytkownikowi dodanie wielu usług lub adresów IPv6 przed wysłaniem pierwszego komunikatu z aktualizacją SRP (dzięki czemu zostanie wysłana jedna aktualizacja SRP zawierająca wszystkie informacje). Konfiguracja OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY
określa odstęp czasu opóźnienia.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
otSrpClientStop
void otSrpClientStop( otInstance *aInstance )
Zatrzymuje operację klienta SRP.
Zatrzymuje dalsze interakcje z serwerem SRP. Pamiętaj, że nie spowoduje to usunięcia ani wyczyszczenia informacji o hoście i/lub listy usług. Oznacza to wszystkie usługi, które mają zostać dodane lub usunięte ponownie po (ponownym) uruchomieniu klienta.
Szczegóły | |||
---|---|---|---|
Parametry |
|
otSrpServerGetAddressMode
otSrpServerAddressMode otSrpServerGetAddressMode( otInstance *aInstance )
Zwraca tryb adresu używany przez serwer SRP.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Tryb adresu serwera SRP.
|
otSrpServerGetAnycastModeSequenceNumber
uint8_t otSrpServerGetAnycastModeSequenceNumber( otInstance *aInstance )
Zwraca numer sekwencyjny używany w trybie adresu Anycast.
Numer sekwencyjny jest widoczny we wpisie „Adres Anycast usługi DNS/SRP” opublikowany w danych sieciowych.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Numer sekwencyjny dowolnego obiektu.
|
otSrpServerGetDomain
const char * otSrpServerGetDomain( otInstance *aInstance )
Zwraca domenę autoryzowaną dla serwera SRP.
Jeśli domena nie jest ustawiona przez SetDomain, zwracana jest wartość „default.service.arpa.”. Kropka na końcu jest zawsze dołączana, nawet jeśli domena została ustawiona bez niej.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wskaźnik do ciągu znaków domeny połączonego kropką.
|
otSrpServerGetLeaseConfig
void otSrpServerGetLeaseConfig( otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig )
Zwraca konfiguracje LEASE serwera SRP i KEY-LEASE.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otSrpServerGetNextHost
const otSrpServerHost * otSrpServerGetNextHost( otInstance *aInstance, const otSrpServerHost *aHost )
Zwraca następny zarejestrowany host na serwerze SRP.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Wskaźnik do zarejestrowanego hosta. NULL, jeśli nie można znaleźć więcej hostów.
|
otSrpServerGetPort
uint16_t otSrpServerGetPort( otInstance *aInstance )
Zwraca port, na który nasłuchuje serwer SRP.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Port serwera SRP. Jeśli serwer nie jest uruchomiony, zwracana jest wartość 0.
|
otSrpServerGetResponseCounters
const otSrpServerResponseCounters * otSrpServerGetResponseCounters( otInstance *aInstance )
Zwraca liczniki odpowiedzi serwera SRP.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wskaźnik do liczników odpowiedzi serwera SRP.
|
otSrpServerGetState
otSrpServerState otSrpServerGetState( otInstance *aInstance )
Zwraca stan serwera SRP.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Bieżący stan serwera SRP.
|
otSrpServerGetTtlConfig
void otSrpServerGetTtlConfig( otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig )
Zwraca konfigurację TTL serwera SRP.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otSrpServerHandleServiceUpdateResult
void otSrpServerHandleServiceUpdateResult( otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError )
Raportuje wynik przetwarzania aktualizacji SRP na serwerze SRP.
Moduł obsługi aktualizacji usługi powinien wywołać tę funkcję, aby zwrócić wynik przetwarzania aktualizacji SRP.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
otSrpServerHostGetAddresses
const otIp6Address * otSrpServerHostGetAddresses( const otSrpServerHost *aHost, uint8_t *aAddressesNum )
Zwraca adresy podanego hosta.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Wskaźnik do tablicy adresów IPv6.
|
otSrpServerHostGetFullName
const char * otSrpServerHostGetFullName( const otSrpServerHost *aHost )
Zwraca pełną nazwę hosta.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wskaźnik do ciągu nazwy hosta zakończonego wartością null.
|
otSrpServerHostGetLeaseInfo
void otSrpServerHostGetLeaseInfo( const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo )
Zwraca informacje LEASE i KEY-LEASE o danym hoście.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otSrpServerHostGetNextService
const otSrpServerService * otSrpServerHostGetNextService( const otSrpServerHost *aHost, const otSrpServerService *aService )
Zwraca następną usługę danego hosta.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Wskaźnik do następnej usługi lub wartość NULL, jeśli nie ma więcej usług.
|
otSrpServerHostIsDeleted
bool otSrpServerHostIsDeleted( const otSrpServerHost *aHost )
Informuje, czy host usługi SRP został usunięty.
Host usługi SRP można usunąć, ale zachowa on swoją nazwę na przyszłość. W takim przypadku instancja hosta nie zostanie usunięta z serwera/rejestru SRP.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość TRUE, jeśli host został usunięty, lub wartość FALSE w przypadku usunięcia hosta.
|
otSrpServerHostMatchesFullName
bool otSrpServerHostMatchesFullName( const otSrpServerHost *aHost, const char *aFullName )
Wskazuje, czy host jest zgodny z podaną nazwą hosta.
Dopasowywanie nazw DNS jest przeprowadzane przy użyciu porównania ciągów znaków bez rozróżniania wielkości liter (np. kolumny „Abc” i „aBc” oznaczają to samo).
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otSrpServerIsAutoEnableMode
bool otSrpServerIsAutoEnableMode( otInstance *aInstance )
Wskazuje, czy tryb automatycznego włączania jest włączony czy wyłączony.
Wymaga funkcji OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otSrpServerParseSubTypeServiceName
otError otSrpServerParseSubTypeServiceName( const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize )
Analizuje nazwę usługi podtypu (pełna nazwa) i wyodrębnia etykietę podtypu.
Pełna nazwa usługi dla podtypu występuje po „
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
otSrpServerServiceGetHost
const otSrpServerHost * otSrpServerServiceGetHost( const otSrpServerService *aService )
Zwraca hosta, na którym znajduje się instancja usługi.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wskaźnik do instancji hosta.
|
otSrpServerServiceGetInstanceLabel
const char * otSrpServerServiceGetInstanceLabel( const otSrpServerService *aService )
Zwraca etykietę instancji usługi (pierwszą etykietę w nazwie instancji) usługi.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wskaźnik do ciągu etykiety instancji usługi zakończonej wartością null.
|
otSrpServerServiceGetInstanceName
const char * otSrpServerServiceGetInstanceName( const otSrpServerService *aService )
Zwraca pełną nazwę instancji usługi.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wskaźnik do ciągu nazwy instancji usługi zakończonej wartością null.
|
otSrpServerServiceGetLeaseInfo
void otSrpServerServiceGetLeaseInfo( const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo )
Zwraca informacje LEASE i KEY-LEASE o danej usłudze.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otSrpServerServiceGetNumberOfSubTypes
uint16_t otSrpServerServiceGetNumberOfSubTypes( const otSrpServerService *aService )
Pobiera liczbę podtypów usługi.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Liczba podtypów obiektu typu
aService . |
otSrpServerServiceGetPort
uint16_t otSrpServerServiceGetPort( const otSrpServerService *aService )
Zwraca port instancji usługi.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Port usługi.
|
otSrpServerServiceGetPriority
uint16_t otSrpServerServiceGetPriority( const otSrpServerService *aService )
Zwraca priorytet instancji usługi.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Priorytet usługi.
|
otSrpServerServiceGetServiceName
const char * otSrpServerServiceGetServiceName( const otSrpServerService *aService )
Zwraca pełną nazwę usługi.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wskaźnik do ciągu nazwy usługi zakończonej wartością null.
|
otSrpServerServiceGetSubTypeServiceNameAt
const char * otSrpServerServiceGetSubTypeServiceNameAt( const otSrpServerService *aService, uint16_t aIndex )
Pobiera nazwę podtypu usługi (pełna nazwa) usługi w danym indeksie.
Pełna nazwa usługi dla podtypu występuje po „
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Wskaźnik do nazwy podtypu usługi w lokalizacji
aIndex lub NULL , jeśli nie ma podtypu w tym indeksie. |
otSrpServerServiceGetTtl
uint32_t otSrpServerServiceGetTtl( const otSrpServerService *aService )
Zwraca wartość TTL instancji usługi.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość TTL instancji usługi.
|
otSrpServerServiceGetTxtData
const uint8_t * otSrpServerServiceGetTxtData( const otSrpServerService *aService, uint16_t *aDataLength )
Zwraca dane rekordu TXT instancji usługi.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Wskaźnik do bufora zawierającego dane rekordu TXT (długość danych TXT jest zwracana w
aDataLength ). |
otSrpServerServiceGetWeight
uint16_t otSrpServerServiceGetWeight( const otSrpServerService *aService )
Zwraca wagę instancji usługi.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Waga usługi.
|
otSrpServerServiceHasSubTypeServiceName
bool otSrpServerServiceHasSubTypeServiceName( const otSrpServerService *aService, const char *aSubTypeServiceName )
Wskazuje, czy usługa ma dany podtyp.
Dopasowywanie nazw DNS jest przeprowadzane przy użyciu porównania ciągów znaków bez rozróżniania wielkości liter (np. kolumny „Abc” i „aBc” oznaczają to samo).
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otSrpServerServiceIsDeleted
bool otSrpServerServiceIsDeleted( const otSrpServerService *aService )
Wskazuje, czy usługa SRP została usunięta.
Usługę SRP można usunąć, ale zachować nazwę na przyszłość. W takim przypadku instancja usługi nie zostanie usunięta z serwera/rejestru SRP. Po usunięciu hosta wszystkie usługi na pewno zostaną usunięte.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość TRUE, jeśli usługa została usunięta, lub wartość FALSE, jeśli nie została usunięta.
|
otSrpServerServiceMatchesInstanceName
bool otSrpServerServiceMatchesInstanceName( const otSrpServerService *aService, const char *aInstanceName )
Wskazuje, czy usługa jest zgodna z podaną nazwą instancji usługi.
Dopasowywanie nazw DNS jest przeprowadzane przy użyciu porównania ciągów znaków bez rozróżniania wielkości liter (np. kolumny „Abc” i „aBc” oznaczają to samo).
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otSrpServerServiceMatchesServiceName
bool otSrpServerServiceMatchesServiceName( const otSrpServerService *aService, const char *aServiceName )
Wskazuje, czy usługa jest zgodna z podaną nazwą usługi.
Dopasowywanie nazw DNS jest przeprowadzane przy użyciu porównania ciągów znaków bez rozróżniania wielkości liter (np. kolumny „Abc” i „aBc” oznaczają to samo).
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otSrpServerSetAddressMode
otError otSrpServerSetAddressMode( otInstance *aInstance, otSrpServerAddressMode aMode )
Ustawia tryb adresu, który ma być używany przez serwer SRP.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otSrpServerSetAnycastModeSequenceNumber
otError otSrpServerSetAnycastModeSequenceNumber( otInstance *aInstance, uint8_t aSequenceNumber )
Ustawia numer sekwencyjny używany w trybie adresu Anycast.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otSrpServerSetAutoEnableMode
void otSrpServerSetAutoEnableMode( otInstance *aInstance, bool aEnabled )
Włącza lub wyłącza tryb automatycznego włączania na serwerze SRP.
Wymaga funkcji OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
.
Gdy ten tryb jest włączony, menedżer Border Routing Manager określa, czy i kiedy włączyć lub wyłączyć serwer SRP. Serwer SRP jest automatycznie włączony, jeśli uruchomiono Routing graniczny i korzysta z początkowych konfiguracji prefiksu i trasy (gdy prefiks OMR i prefiks on-link są określone, rozgłaszane w wysłanej wiadomości reklamy routera po stronie infrastruktury i publikowane w danych sieci typu Thread). Serwer SRP zostaje automatycznie wyłączony w przypadku zatrzymania BR (np. w przypadku wyłączenia interfejsu sieciowego infrastruktury lub odłączenia BR).
Ten tryb można wyłączyć przez wywołanie otSrpServerSetAutoEnableMode()
z ustawieniem aEnabled
ustawionym na false
lub przez włączenie lub wyłączenie serwera SRP przez wywołanie funkcji otSrpServerSetEnabled()
. Wyłączenie trybu automatycznego włączania przy użyciu otSrpServerSetAutoEnableMode(false)
nie zmieni bieżącego stanu serwera SRP (np. jeśli jest włączony, pozostanie włączony).
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otSrpServerSetDomain
otError otSrpServerSetDomain( otInstance *aInstance, const char *aDomain )
Ustawia domenę na serwerze SRP.
Końcowa kropka zostanie dodana do elementu aDomain
, jeśli jeszcze go tam nie ma. Powinno być wywoływane tylko przed włączeniem serwera SRP.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
otSrpServerSetEnabled
void otSrpServerSetEnabled( otInstance *aInstance, bool aEnabled )
Włącza lub wyłącza serwer SRP.
W przypadku routera granicznego zalecamy użycie zasady otSrpServerSetAutoEnableMode()
.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otSrpServerSetLeaseConfig
otError otSrpServerSetLeaseConfig( otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig )
Ustawia konfiguracje LEASE serwera SRP i KEY-LEASE.
Gdy klient otrzyma od klienta żądanie czasu LEASE o wartości innej niż zero, przyznana wartość będzie ograniczona do zakresu [aMinLease, aMaxLease], a wartość KEY-LEASE o wartości innej niż zero zostanie przyznana w zakresie [aMinKeyLease, aMaxKeyLease]. Przy zerowym czasie LEASE lub KEY-LEASE zostanie przyznane 0.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otSrpServerSetServiceUpdateHandler
void otSrpServerSetServiceUpdateHandler( otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext )
Ustawia moduł obsługi aktualizacji usługi SRP na serwerze SRP.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
otSrpServerSetTtlConfig
otError otSrpServerSetTtlConfig( otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig )
Ustawia konfigurację TTL serwera SRP.
Przyznany czas TTL zawsze nie będzie większy niż maksymalny interwał dzierżawy skonfigurowany w otSrpServerSetLeaseConfig()
, niezależnie od minimalnej i maksymalnej konfiguracji TTL.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
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.