nl::Weave::Binding::Configuration

#include <src/lib/core/WeaveBinding.h>

Udostępnia interfejs w stylu deklaratywnym do konfigurowania i przygotowywania obiektu Binding (Wiązanie).

Podsumowanie

Podczas konfigurowania powiązania aplikacje muszą wywoływać co najmniej jedną metodę z każdej z tych grup konfiguracji: Target, Transport i Security. W razie potrzeby mogą być wywoływane inne metody w celu zastąpienia działania domyślnego.

Jeśli są wywoływane wzajemnie wykluczające się konfiguracje (np. Transport_TCP(), a następnie Transport_UDP()), z którym ostatnia zostanie wywołana.

Funkcje publiczne

ConfigureFromMessage(const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
Skonfiguruj powiązanie, aby umożliwić komunikację z nadawcą odebranej wiadomości.
DNS_Options(uint8_t dnsOptions)
Podczas rozpoznawania nazwy hosta peera użyj określonych opcji DNS.
Exchange_ResponseTimeoutMsec(uint32_t aResponseTimeoutMsec)
Ustaw domyślny czas oczekiwania na odpowiedź dla kontekstów wymiany utworzonych z tego obiektu Wiązanie.
GetError(void) const
Zwróć wszystkie błędy, które wystąpiły podczas konfigurowania powiązania.
PrepareBinding(void)
Trwa przygotowywanie Wiązania do komunikacji z peerem.
Security_AppGroupKey(uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
Podczas komunikowania się z peerem wysyłaj i odbieraj wiadomości zaszyfrowane dla określonej grupy aplikacji Weave.
Security_AuthenticationMode(WeaveAuthMode aAuthMode)
Ustaw żądany tryb uwierzytelniania, który ma być używany do uwierzytelniania peera.
Security_CASESession(void)
Podczas komunikacji z peerem wysyłaj i odbieraj wiadomości zaszyfrowane za pomocą klucza sesji CASE utworzonego z węzłem równorzędnym.
Security_EncryptionType(uint8_t aEncType)
Podczas komunikacji z peerem wysyłaj i odbieraj wiadomości zaszyfrowane za pomocą określonego typu szyfrowania wiadomości.
Security_Key(uint32_t aKeyId)
Podczas komunikacji z peerem wysyłaj i odbieraj wiadomości zaszyfrowane przy użyciu określonego klucza.
Security_None(void)
Podczas komunikacji z peerem wysyłaj i odbieraj wiadomości w formie niezaszyfrowanej (np.
Security_PASESession(uint8_t aPasswordSource)
Podczas komunikowania się z peerem wysyłaj i odbieraj wiadomości zaszyfrowane za pomocą klucza sesji PASE ustanowionego z węzłem równorzędnym.
Security_SharedCASESession(void)
Podczas komunikowania się z peerem wysyłaj i odbieraj wiadomości zaszyfrowane za pomocą udostępnionego klucza sesji CASE utworzonego na głównym routerze Nest.
Security_SharedCASESession(uint64_t aRouterNodeId)
Podczas komunikowania się z peerem wysyłaj i odbieraj wiadomości zaszyfrowane za pomocą udostępnionego klucza sesji CASE ustanowionego z określonym węzłem routera.
Security_TAKESession()
Podczas komunikowania się z peerem wysyłaj i odbieraj wiadomości zaszyfrowane za pomocą klucza sesji take utworzonego z węzłem równorzędnym.
TargetAddress_IP(nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId)
Podczas komunikacji z peerem używaj określonego adresu IP, portu i interfejsu sieci.
TargetAddress_IP(const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId)
Podczas komunikacji z peerem używaj konkretnej nazwy hosta, portu i interfejsu sieci.
TargetAddress_IP(const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
Podczas komunikacji z peerem używaj konkretnej nazwy hosta, portu i interfejsu sieci.
TargetAddress_WeaveFabric(uint16_t aSubnetId)
Podczas komunikacji z peerem używaj adresu tkaniny Weave pobranego z identyfikatora węzła peera i określonej podsieci.
TargetAddress_WeaveService(void)
Podczas komunikacji z peerem używaj adresu tkaniny usługi Weave pobranego z identyfikatora węzła peera.
Target_NodeId(uint64_t aPeerNodeId)
Skonfiguruj powiązanie, aby komunikować się z określonym identyfikatorem węzła Weave.
Target_ServiceEndpoint(uint64_t aPeerNodeId)
Skonfiguruj powiązanie, aby komunikować się z określonym punktem końcowym usługi Weave.
Transport_DefaultWRMPConfig(const WRMPConfig & aWRMPConfig)
Ustaw domyślną konfigurację WRMP dla kontekstów wymiany utworzonych z tego obiektu Binding (Wiązanie).
Transport_ExistingConnection(WeaveConnection *apConnection)
Użyj istniejącego połączenia Weave do komunikacji z peerem.
Transport_TCP(void)
Do komunikacji z peerem używaj TCP.
Transport_UDP(void)
Do komunikacji z peerem używaj UDP.
Transport_UDP_PathMTU(uint32_t aPathMTU)
Ustaw oczekiwaną ścieżkę MTU dla pakietów UDP przesyłanych do peera.
Transport_UDP_WRM(void)
Podczas komunikacji z peerem używaj protokołu Weave Reliable Messaging.

Funkcje publiczne

ConfigureFromMessage

Configuration & ConfigureFromMessage(
  const WeaveMessageInfo *aMsgInfo,
  const Inet::IPPacketInfo *aPacketInfo
)

Skonfiguruj powiązanie, aby umożliwić komunikację z nadawcą odebranej wiadomości.

Szczegóły
Parametry
[in] aMsgInfo
Struktura informacji o otrzymanej wiadomości.
[in] aPacketInfo
Informacje o pakiecie dla odebranej wiadomości.

DNS_Options

Configuration & DNS_Options(
  uint8_t dnsOptions
)

Podczas rozpoznawania nazwy hosta peera użyj określonych opcji DNS.

Szczegóły
Parametry
[in] dnsOptions
Wartość całkowita określająca sposób rozpoznawania nazwy hosta. Wartość powinna być jedną z wartości z wyliczenia #::nl::Inet::DNSOptions.
Zwroty
Odwołanie do obiektu powiązania.

Exchange_ResponseTimeoutMsec

Configuration & Exchange_ResponseTimeoutMsec(
  uint32_t aResponseTimeoutMsec
)

Ustaw domyślny czas oczekiwania na odpowiedź dla kontekstów wymiany utworzonych z tego obiektu Wiązanie.

Szczegóły
Parametry
[in] aResponseTimeoutMsec
Domyślny czas odpowiedzi w ms.
Zwroty
Odwołanie do obiektu powiązania.

GetError

WEAVE_ERROR GetError(
  void
) const 

Zwróć wszystkie błędy, które wystąpiły podczas konfigurowania powiązania.

PrepareBinding

WEAVE_ERROR PrepareBinding(
  void
)

Trwa przygotowywanie Wiązania do komunikacji z peerem.

Security_AppGroupKey

Configuration & Security_AppGroupKey(
  uint32_t aAppGroupGlobalId,
  uint32_t aRootKeyId,
  bool aUseRotatingKey
)

Podczas komunikowania się z peerem wysyłaj i odbieraj wiadomości zaszyfrowane dla określonej grupy aplikacji Weave.

Szczegóły
Parametry
[in] aAppGroupGlobalId
Globalny identyfikator grupy aplikacji, w której wiadomości mają być szyfrowane.
[in] aRootKeyId
Klucz główny użyty do uzyskania kluczy szyfrowania dla określonej grupy aplikacji Weave.
[in] aUseRotatingKey
Prawda, jeśli grupa aplikacji Weave używa rotacji kluczy wiadomości.
Zwroty
Odwołanie do obiektu Binding (Wiązanie).

Security_AuthenticationMode

Configuration & Security_AuthenticationMode(
  WeaveAuthMode aAuthMode
)

Ustaw żądany tryb uwierzytelniania, który ma być używany do uwierzytelniania peera.

Szczegóły
Parametry
[in] aAuthMode
Żądany tryb uwierzytelniania.
Zwroty
Odwołanie do obiektu Binding (Wiązanie).

Security_CASESession

Configuration & Security_CASESession(
  void
)

Podczas komunikacji z peerem wysyłaj i odbieraj wiadomości zaszyfrowane za pomocą klucza sesji CASE utworzonego z węzłem równorzędnym.

Jeśli niezbędna sesja nie jest dostępna, zostanie utworzona automatycznie w ramach przygotowań do powiązania.

Szczegóły
Zwroty
Odwołanie do obiektu powiązania.

Security_EncryptionType

Configuration & Security_EncryptionType(
  uint8_t aEncType
)

Podczas komunikowania się z peerem wysyłaj i odbieraj wiadomości zaszyfrowane za pomocą określonego typu szyfrowania wiadomości.

Szczegóły
Parametry
[in] aEncType
Typ szyfrowania wiadomości Weave.
Zwroty
Odwołanie do obiektu Binding (Wiązanie).

Security_Key

Configuration & Security_Key(
  uint32_t aKeyId
)

Podczas komunikacji z peerem wysyłaj i odbieraj wiadomości zaszyfrowane przy użyciu określonego klucza.

Szczegóły
Parametry
[in] aKeyId
Identyfikator klucza szyfrowania. Podany klucz musi być odpowiedni do szyfrowania wiadomości weave.
Zwroty
Odwołanie do obiektu Binding (Wiązanie).

Security_None

Configuration & Security_None(
  void
)

Podczas komunikacji z peerem wysyłaj i odbieraj wiadomości w formie niezaszyfrowanej (np.

niezabezpieczonych) wiadomości.

Szczegóły
Zwroty
Odwołanie do obiektu powiązania.

Security_PASESession

Configuration & Security_PASESession(
  uint8_t aPasswordSource
)

Podczas komunikowania się z peerem wysyłaj i odbieraj wiadomości zaszyfrowane za pomocą klucza sesji PASE ustanowionego z węzłem równorzędnym.

Jeśli niezbędna sesja nie jest dostępna, zostanie utworzona automatycznie w ramach przygotowań do powiązania.

Szczegóły
Parametry
[in] aPasswordSource
Źródło hasła, które będzie używane podczas tworzenia sesji PASE.
Zwroty
Odwołanie do obiektu powiązania.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  void
)

Podczas komunikowania się z peerem wysyłaj i odbieraj wiadomości zaszyfrowane za pomocą udostępnionego klucza sesji CASE utworzonego na głównym routerze Nest.

Jeśli niezbędna sesja nie jest dostępna, zostanie utworzona automatycznie w ramach przygotowań do powiązania.

Szczegóły
Zwroty
Odwołanie do obiektu powiązania.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  uint64_t aRouterNodeId
)

Podczas komunikowania się z peerem wysyłaj i odbieraj wiadomości zaszyfrowane za pomocą udostępnionego klucza sesji CASE ustanowionego z określonym węzłem routera.

Jeśli niezbędna sesja nie jest dostępna, zostanie utworzona automatycznie w ramach przygotowań do powiązania.

Szczegóły
Parametry
[in] aRouterNodeId
Identyfikator węzła Weave routera, z którym ma zostać ustanowiona sesja CASE.
Zwroty
Odwołanie do obiektu powiązania.

Security_TAKESession

Configuration & Security_TAKESession()

Podczas komunikowania się z peerem wysyłaj i odbieraj wiadomości zaszyfrowane za pomocą klucza sesji take utworzonego z węzłem równorzędnym.

Jeśli niezbędna sesja nie jest dostępna, zostanie utworzona automatycznie w ramach przygotowań do powiązania.

Szczegóły
Zwroty
Odwołanie do obiektu powiązania.

TargetAddress_IP

Configuration & TargetAddress_IP(
  nl::Inet::IPAddress aPeerAddress,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

Podczas komunikacji z peerem używaj określonego adresu IP, portu i interfejsu sieci.

Szczegóły
Parametry
[in] aPeerAddress
Adres IP peera
[in] aPeerPort
Port zdalny
[in] aInterfaceId
Identyfikator interfejsu sieci lokalnej do komunikacji
Zwroty
Odwołanie do obiektu powiązania.

TargetAddress_IP

Configuration & TargetAddress_IP(
  const char *aHostName,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

Podczas komunikacji z peerem używaj konkretnej nazwy hosta, portu i interfejsu sieci.

UWAGA: element wywołujący musi upewnić się, że podany ciąg nazwy hosta jest prawidłowy do zakończenia etapu przygotowywania powiązania.

Szczegóły
Parametry
[in] aHostName
Ciąg znaków z zakończeniem NULL, który zawiera nazwę hosta połączenia równorzędnego.
[in] aPeerPort
Port zdalny używany do komunikacji z peerem.
[in] aInterfaceId
Identyfikator interfejsu sieci lokalnej do komunikacji.
Zwroty
Odwołanie do obiektu powiązania.

TargetAddress_IP

Configuration & TargetAddress_IP(
  const char *aHostName,
  size_t aHostNameLen,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

Podczas komunikacji z peerem używaj konkretnej nazwy hosta, portu i interfejsu sieci.

UWAGA: element wywołujący musi upewnić się, że podany ciąg nazwy hosta jest prawidłowy do zakończenia etapu przygotowywania powiązania.

Szczegóły
Parametry
[in] aHostName
Ciąg tekstowy zawierający nazwę hosta elementu równorzędnego. Ten ciąg znaków nie musi mieć wartości NULL.
[in] aHostNameLen
Długość ciągu wskazywanego przez parametr aHostName.
[in] aPeerPort
Port zdalny używany do komunikacji z peerem.
[in] aInterfaceId
Identyfikator interfejsu sieci lokalnej do komunikacji.
Zwroty
Odwołanie do obiektu powiązania.

TargetAddress_WeaveFabric

Configuration & TargetAddress_WeaveFabric(
  uint16_t aSubnetId
)

Podczas komunikacji z peerem używaj adresu tkaniny Weave pobranego z identyfikatora węzła peera i określonej podsieci.

Szczegóły
Parametry
[in] aSubnetId
Identyfikator podsieci, który ma być używany do tworzenia adresu tkaniny Weave peera.
Zwroty
Odwołanie do obiektu powiązania.

TargetAddress_WeaveService

Configuration & TargetAddress_WeaveService(
  void
)

Podczas komunikacji z peerem używaj adresu tkaniny usługi Weave pobranego z identyfikatora węzła peera.

Szczegóły
Zwroty
Odwołanie do obiektu powiązania.

Target_NodeId

Configuration & Target_NodeId(
  uint64_t aPeerNodeId
)

Skonfiguruj powiązanie, aby komunikować się z określonym identyfikatorem węzła Weave.

Szczegóły
Parametry
[in] aPeerNodeId
Identyfikator węzła równorzędnego.
Zwroty
Odwołanie do obiektu powiązania.

Target_ServiceEndpoint

Configuration & Target_ServiceEndpoint(
  uint64_t aPeerNodeId
)

Skonfiguruj powiązanie, aby komunikować się z określonym punktem końcowym usługi Weave.

Jeśli nie skonfigurujesz inaczej, adres peera będzie ustawiony na adres tkaniny Weave punktu końcowego usługi.

Szczegóły
Parametry
[in] serviceEndpointId
Identyfikator węzła punktu końcowego usługi, z którym będzie nawiązywana komunikacja.
Zwroty
Odwołanie do obiektu powiązania.

Transport_DefaultWRMPConfig

Configuration & Transport_DefaultWRMPConfig(
  const WRMPConfig & aWRMPConfig
)

Ustaw domyślną konfigurację WRMP dla kontekstów wymiany utworzonych z tego obiektu Binding (Wiązanie).

Szczegóły
Parametry
[in] aWRMPConfig
Odwołanie do nowej domyślnej konfiguracji WRMP.
Zwroty
Odwołanie do obiektu powiązania.

Transport_ExistingConnection

Configuration & Transport_ExistingConnection(
  WeaveConnection *apConnection
)

Użyj istniejącego połączenia Weave do komunikacji z peerem.

UWAGA: liczba odwołań w obiekcie połączenia zwiększa się po zakończeniu przygotowywania powiązania. Dlatego to aplikacja odpowiada za zapewnienie aktywności obiektu połączenia do tego czasu.

Szczegóły
Parametry
[in] con
Wskaźnik istniejącego połączenia Weave.
Zwroty
Odwołanie do obiektu powiązania.

Transport_TCP

Configuration & Transport_TCP(
  void
)

Do komunikacji z peerem używaj TCP.

Szczegóły
Zwroty
Odwołanie do obiektu powiązania.

Transport_UDP

Configuration & Transport_UDP(
  void
)

Do komunikacji z peerem używaj UDP.

Szczegóły
Zwroty
Odwołanie do obiektu powiązania.

Transport_UDP_PathMTU

Configuration & Transport_UDP_PathMTU(
  uint32_t aPathMTU
)

Ustaw oczekiwaną ścieżkę MTU dla pakietów UDP przesyłanych do peera.

W przypadku niektórych protokołów Weave będzie on używany do dynamicznego dostosowywania rozmiaru ładunku wiadomości Weave.

Szczegóły
Parametry
[in] aPathMTU
Oczekiwana ścieżka MTU dla pakietów UDP przesyłanych do połączenia równorzędnego.
Zwroty
Odwołanie do obiektu powiązania.

Transport_UDP_WRM

Configuration & Transport_UDP_WRM(
  void
)

Podczas komunikacji z peerem używaj protokołu Weave Reliable Messaging.

Szczegóły
Zwroty
Odwołanie do obiektu powiązania.