nl::Weave::Binding::Configuration

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

Zapewnia interfejs w stylu deklaratywnym do konfigurowania i przygotowywania obiektu Binding.

Podsumowanie

Podczas konfigurowania wiązania aplikacje muszą wywoływać co najmniej jedną metodę z każdej z tych grup konfiguracji: Target, Transport i Security. Inne metody mogą być wywoływane w razie potrzeby, aby zastąpić działanie domyślne.

W przypadku wywołania wzajemnie wykluczających się konfiguracji (np. Transport_TCP(), a następnie Transport_UDP()), ostatni, który zostanie wywołany.

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 Binding.
GetError(void) const
Zwraca wszystkie błędy, które wystąpiły podczas konfigurowania funkcji Binding.
PrepareBinding(void)
Podczas przygotowywania Wiązania do komunikacji z grupą porównawczą.
Security_AppGroupKey(uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
Podczas komunikacji 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 połączenia równorzędnego.
Security_CASESession(void)
Podczas komunikacji z peerem należy wysyłać i odbierać wiadomości zaszyfrowane za pomocą klucza sesji CASE ustalonego w węźle równorzędnym.
Security_EncryptionType(uint8_t aEncType)
Podczas komunikacji z peerem należy wysyłać i odbierać wiadomości zaszyfrowane przy użyciu określonego typu szyfrowania.
Security_Key(uint32_t aKeyId)
Podczas komunikacji z peerem wysyłaj i odbieraj wiadomości zaszyfrowane za pomocą określonego klucza.
Security_None(void)
Podczas komunikacji z peerem wysyłaj i odbieraj niezaszyfrowane (tj.
Security_PASESession(uint8_t aPasswordSource)
Podczas komunikacji z peerem należy wysyłać i odbierać wiadomości zaszyfrowane za pomocą klucza sesji PASE ustalonego w węźle równorzędnym.
Security_SharedCASESession(void)
Podczas komunikacji z peerem wysyłaj i odbieraj wiadomości zaszyfrowane przy użyciu klucza sesji CASE określonego na routerze głównym Nest.
Security_SharedCASESession(uint64_t aRouterNodeId)
Podczas komunikacji z peerem wysyłaj i odbieraj wiadomości zaszyfrowane przy użyciu udostępnionego klucza sesji CASE ustalonym dla określonego węzła routera.
Security_TAKESession()
Podczas komunikacji z peerem należy wysyłać i odbierać wiadomości zaszyfrowane przy użyciu klucza sesji Take ustalonego w węźle równorzędnym.
TargetAddress_IP(nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId)
Podczas komunikacji z peerem użyj określonego adresu IP, portu i interfejsu sieciowego.
TargetAddress_IP(const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId)
Podczas komunikacji z peerem użyj konkretnej nazwy hosta, portu i interfejsu sieciowego.
TargetAddress_IP(const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
Podczas komunikacji z peerem użyj konkretnej nazwy hosta, portu i interfejsu sieciowego.
TargetAddress_WeaveFabric(uint16_t aSubnetId)
Podczas komunikacji z peerem użyj adresu tkaniny Weave pobranego z identyfikatora węzła peera i określonej podsieci.
TargetAddress_WeaveService(void)
Podczas komunikacji z peerem użyj adresu tkaniny usługi Weave pobranego z jego identyfikatora węzła.
Target_NodeId(uint64_t aPeerNodeId)
Skonfiguruj powiązanie pod kątem komunikacji 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 giełdy utworzonych na podstawie tego obiektu Binding.
Transport_ExistingConnection(WeaveConnection *apConnection)
Do komunikacji z peerem użyj istniejącego połączenia Weave.
Transport_TCP(void)
Komunikuj się z peerem przez TCP.
Transport_UDP(void)
Do komunikacji z peerem użyj UDP.
Transport_UDP_PathMTU(uint32_t aPathMTU)
Ustaw oczekiwaną ścieżkę MTU dla pakietów UDP przesyłanych do połączenia równorzędnego.
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 wiadomości powiązana z otrzymaną wiadomością.
[in] aPacketInfo
Informacje o pakiecie 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ść liczby całkowitej 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 Binding.

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

GetError

WEAVE_ERROR GetError(
  void
) const 

Zwraca wszystkie błędy, które wystąpiły podczas konfigurowania funkcji Binding.

PrepareBinding

WEAVE_ERROR PrepareBinding(
  void
)

Podczas przygotowywania Wiązania do komunikacji z grupą porównawczą.

Security_AppGroupKey

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

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

Szczegóły
Parametry
[in] aAppGroupGlobalId
Globalny identyfikator grupy aplikacji, dla której mają być szyfrowane wiadomości.
[in] aRootKeyId
Klucz główny używany do uzyskiwania 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.

Security_AuthenticationMode

Configuration & Security_AuthenticationMode(
  WeaveAuthMode aAuthMode
)

Ustaw żądany tryb uwierzytelniania, który ma być używany do uwierzytelniania połączenia równorzędnego.

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

Security_CASESession

Configuration & Security_CASESession(
  void
)

Podczas komunikacji z peerem należy wysyłać i odbierać wiadomości zaszyfrowane za pomocą klucza sesji CASE ustalonego w węźle równorzędnym.

Jeśli niezbędna sesja nie jest dostępna, zostanie ustanowiona automatycznie w ramach przygotowywania powiązania.

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

Security_EncryptionType

Configuration & Security_EncryptionType(
  uint8_t aEncType
)

Podczas komunikacji z peerem należy wysyłać i odbierać wiadomości zaszyfrowane przy użyciu określonego typu szyfrowania.

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

Security_Key

Configuration & Security_Key(
  uint32_t aKeyId
)

Podczas komunikacji z peerem wysyłaj i odbieraj wiadomości zaszyfrowane za pomocą określonego klucza.

Szczegóły
Parametry
[in] aKeyId
Identyfikator klucza szyfrowania. Podany klucz musi być zgodny z szyfrowaniem wiadomości Weave.
Zwroty
Odwołanie do obiektu Binding.

Security_None

Configuration & Security_None(
  void
)

Podczas komunikacji z peerem wysyłaj i odbieraj niezaszyfrowane (tj.

wiadomości niezabezpieczonych.

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

Security_PASESession

Configuration & Security_PASESession(
  uint8_t aPasswordSource
)

Podczas komunikacji z peerem należy wysyłać i odbierać wiadomości zaszyfrowane za pomocą klucza sesji PASE ustalonego w węźle równorzędnym.

Jeśli niezbędna sesja nie jest dostępna, zostanie ustanowiona automatycznie w ramach przygotowywania powiązania.

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

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  void
)

Podczas komunikacji z peerem wysyłaj i odbieraj wiadomości zaszyfrowane przy użyciu klucza sesji CASE określonego na routerze głównym Nest.

Jeśli niezbędna sesja nie jest dostępna, zostanie ustanowiona automatycznie w ramach przygotowywania powiązania.

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

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  uint64_t aRouterNodeId
)

Podczas komunikacji z peerem wysyłaj i odbieraj wiadomości zaszyfrowane przy użyciu udostępnionego klucza sesji CASE ustalonym dla określonego węzła routera.

Jeśli niezbędna sesja nie jest dostępna, zostanie ustanowiona automatycznie w ramach przygotowywania powiązania.

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

Security_TAKESession

Configuration & Security_TAKESession()

Podczas komunikacji z peerem należy wysyłać i odbierać wiadomości zaszyfrowane przy użyciu klucza sesji Take ustalonego w węźle równorzędnym.

Jeśli niezbędna sesja nie jest dostępna, zostanie ustanowiona automatycznie w ramach przygotowywania 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żyj określonego adresu IP, portu i interfejsu sieciowego.

Szczegóły
Parametry
[in] aPeerAddress
Adres IP peera
[in] aPeerPort
Port zdalny
[in] aInterfaceId
Identyfikator interfejsu sieci lokalnej używany 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żyj konkretnej nazwy hosta, portu i interfejsu sieciowego.

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

Szczegóły
Parametry
[in] aHostName
Ciąg znaków z zakończeniem wartości NULL zawierający nazwę hosta elementu równorzędnego.
[in] aPeerPort
Port zdalny używany podczas komunikacji z peerem.
[in] aInterfaceId
Identyfikator interfejsu sieci lokalnej używany 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żyj konkretnej nazwy hosta, portu i interfejsu sieciowego.

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

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

TargetAddress_WeaveFabric

Configuration & TargetAddress_WeaveFabric(
  uint16_t aSubnetId
)

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

Szczegóły
Parametry
[in] aSubnetId
Identyfikator podsieci, który ma zostać użyty do utworzenia adresu tkaniny Weave elementu równorzędnego.
Zwroty
Odwołanie do obiektu powiązania.

TargetAddress_WeaveService

Configuration & TargetAddress_WeaveService(
  void
)

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

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

Target_NodeId

Configuration & Target_NodeId(
  uint64_t aPeerNodeId
)

Skonfiguruj powiązanie pod kątem komunikacji 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 zostanie ustawiony na adres sieci Wave 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ązana komunikacja.
Zwroty
Odwołanie do obiektu powiązania.

Transport_DefaultWRMPConfig

Configuration & Transport_DefaultWRMPConfig(
  const WRMPConfig & aWRMPConfig
)

Ustaw domyślną konfigurację WRMP dla kontekstów giełdy utworzonych na podstawie tego obiektu Binding.

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
)

Do komunikacji z peerem użyj istniejącego połączenia Weave.

UWAGA: liczba odwołań w obiekcie połączenia zwiększa się po pomyślnym przygotowaniu powiązania. Aplikacja jest odpowiedzialna za zapewnienie, że obiekt połączenia pozostaje aktywny 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
)

Komunikuj się z peerem przez TCP.

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

Transport_UDP

Configuration & Transport_UDP(
  void
)

Do komunikacji z peerem użyj 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 połączenia równorzędnego.

W niektórych protokołach Weave będzie ona używana 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.