нл:: Переплетение:: Привязка:: Конфигурация

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

Предоставляет интерфейс в декларативном стиле для настройки и подготовки объекта Binding .

Краткое содержание

При настройке Binding приложения должны вызывать хотя бы один метод из каждой из следующих групп конфигурации: Target, Transport и Security. Другие методы могут быть вызваны по мере необходимости, чтобы переопределить поведение по умолчанию.

Если вызываются взаимоисключающие конфигурации (например, Transport_TCP(), за которым следует Transport_UDP() ), выигрывает тот, который был вызван последним.

Общественные функции

ConfigureFromMessage (const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
Настройте привязку, чтобы разрешить связь с отправителем полученного сообщения.
DNS_Options (uint8_t dnsOptions)
При разрешении имени узла узла используйте указанные параметры DNS.
Exchange_ResponseTimeoutMsec (uint32_t aResponseTimeoutMsec)
Установите время ожидания ответа по умолчанию для контекстов обмена, созданных из этого объекта привязки .
GetError (void) const
Возвращает любую ошибку, возникшую при настройке Binding .
PrepareBinding (void)
Это процесс подготовки Binding к общению с одноранговым узлом.
Security_AppGroupKey (uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
При общении с партнером отправляйте и получайте сообщения, зашифрованные для указанной группы приложений Weave.
Security_AuthenticationMode (WeaveAuthMode aAuthMode)
Установите запрошенный режим аутентификации, который будет использоваться для аутентификации узла.
Security_CASESession (void)
При общении с одноранговым узлом отправляйте и получайте сообщения, зашифрованные с использованием сеансового ключа CASE, установленного с одноранговым узлом.
Security_EncryptionType (uint8_t aEncType)
При общении с партнером отправляйте и получайте сообщения, зашифрованные с использованием указанного типа шифрования сообщений.
Security_Key (uint32_t aKeyId)
При общении с партнером отправляйте и получайте сообщения, зашифрованные с использованием указанного ключа.
Security_None (void)
При общении с партнером отправляйте и получайте незашифрованные данные (т. е.
Security_PASESession (uint8_t aPasswordSource)
При общении с одноранговым узлом отправляйте и получайте сообщения, зашифрованные с использованием сеансового ключа PASE, установленного с одноранговым узлом.
Security_SharedCASESession (void)
При общении с одноранговым узлом отправляйте и получайте сообщения, зашифрованные с использованием общего сеансового ключа CASE, установленного с помощью основного маршрутизатора Nest.
Security_SharedCASESession (uint64_t aRouterNodeId)
При общении с одноранговым узлом отправляйте и получайте сообщения, зашифрованные с использованием общего сеансового ключа CASE, установленного с указанным узлом маршрутизатора.
Security_TAKESession ()
При общении с одноранговым узлом отправляйте и получайте сообщения, зашифрованные с использованием сеансового ключа TAKE, установленного с одноранговым узлом.
TargetAddress_IP ( nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId)
При общении с партнером используйте конкретный IP-адрес, порт и сетевой интерфейс.
TargetAddress_IP (const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId)
При общении с партнером используйте конкретное имя хоста, порт и сетевой интерфейс.
TargetAddress_IP (const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
При общении с партнером используйте конкретное имя хоста, порт и сетевой интерфейс.
TargetAddress_WeaveFabric (uint16_t aSubnetId)
При обмене данными с одноранговым узлом используйте адрес структуры Weave, полученный на основе идентификатора узла однорангового узла и указанной подсети.
TargetAddress_WeaveService (void)
При общении с одноранговым узлом используйте адрес структуры службы Weave, полученный из идентификатора узла однорангового узла.
Target_NodeId (uint64_t aPeerNodeId)
Настройте привязку для связи с определенным идентификатором узла Weave.
Target_ServiceEndpoint (uint64_t aPeerNodeId)
Настройте привязку для связи с определенной конечной точкой службы Weave.
Transport_DefaultWRMPConfig (const WRMPConfig & aWRMPConfig)
Установите конфигурацию WRMP по умолчанию для контекстов обмена, созданных из этого объекта привязки .
Transport_ExistingConnection ( WeaveConnection *apConnection)
Используйте существующее соединение Weave для связи с одноранговым узлом.
Transport_TCP (void)
Используйте TCP для связи с одноранговым узлом.
Transport_UDP (void)
Используйте UDP для связи с одноранговым узлом.
Transport_UDP_PathMTU (uint32_t aPathMTU)
Установите ожидаемый MTU пути для пакетов UDP, направляющихся к партнеру.
Transport_UDP_WRM (void)
Используйте протокол Weave Reliable Messaging при общении с партнером.

Общественные функции

Конфигурефроммессаже

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

Настройте привязку, чтобы разрешить связь с отправителем полученного сообщения.

Подробности
Параметры
[in] aMsgInfo
Информационная структура сообщения, связанная с полученным сообщением.
[in] aPacketInfo
Информация о пакете для полученного сообщения.

DNS_Параметры

Configuration & DNS_Options(
  uint8_t dnsOptions
)

При разрешении имени узла узла используйте указанные параметры DNS.

Подробности
Параметры
[in] dnsOptions
Целочисленное значение, управляющее тем, как выполняется разрешение имени хоста. Значение должно быть одним из значений перечисления #::nl::Inet::DNSOptions.
Возврат
Ссылка на объект привязки.

Exchange_ResponseTimeoutMsec

Configuration & Exchange_ResponseTimeoutMsec(
  uint32_t aResponseTimeoutMsec
)

Установите время ожидания ответа по умолчанию для контекстов обмена, созданных из этого объекта привязки .

Подробности
Параметры
[in] aResponseTimeoutMsec
Время ответа по умолчанию, в мс.
Возврат
Ссылка на объект привязки.

Получить ошибку

WEAVE_ERROR GetError(
  void
) const 

Возвращает любую ошибку, возникшую при настройке Binding .

ПодготовкаBinding

WEAVE_ERROR PrepareBinding(
  void
)

Это процесс подготовки Binding к общению с одноранговым узлом.

Security_AppGroupKey

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

При общении с партнером отправляйте и получайте сообщения, зашифрованные для указанной группы приложений Weave.

Подробности
Параметры
[in] aAppGroupGlobalId
Глобальный идентификатор группы приложений, сообщения для которой должны быть зашифрованы.
[in] aRootKeyId
Корневой ключ, используемый для получения ключей шифрования для указанной группы приложений Weave.
[in] aUseRotatingKey
Истинно, если группа приложений Weave использует чередующиеся ключи сообщений.
Возврат
Ссылка на объект Binding .

Security_AuthenticationMode

Configuration & Security_AuthenticationMode(
  WeaveAuthMode aAuthMode
)

Установите запрошенный режим аутентификации, который будет использоваться для аутентификации узла.

Подробности
Параметры
[in] aAuthMode
Запрошенный режим аутентификации.
Возврат
Ссылка на объект Binding .

Security_CASESession

Configuration & Security_CASESession(
  void
)

При общении с одноранговым узлом отправляйте и получайте сообщения, зашифрованные с использованием сеансового ключа CASE, установленного с одноранговым узлом.

Если необходимая сессия недоступна, она будет установлена ​​автоматически в рамках подготовки привязки.

Подробности
Возврат
Ссылка на объект привязки.

Security_EncryptionType

Configuration & Security_EncryptionType(
  uint8_t aEncType
)

При общении с партнером отправляйте и получайте сообщения, зашифрованные с использованием указанного типа шифрования сообщений.

Подробности
Параметры
[in] aEncType
Тип шифрования сообщения Weave.
Возврат
Ссылка на объект Binding .

Ключ_безопасности

Configuration & Security_Key(
  uint32_t aKeyId
)

При общении с партнером отправляйте и получайте сообщения, зашифрованные с использованием указанного ключа.

Подробности
Параметры
[in] aKeyId
Идентификатор ключа шифрования. Указанный ключ должен подходить для шифрования сообщений Weave.
Возврат
Ссылка на объект Binding .

Безопасность_Нет

Configuration & Security_None(
  void
)

При общении с партнером отправляйте и получайте незашифрованные данные (т. е.

незащищенные) сообщения.

Подробности
Возврат
Ссылка на объект привязки.

Security_PASESession

Configuration & Security_PASESession(
  uint8_t aPasswordSource
)

При общении с одноранговым узлом отправляйте и получайте сообщения, зашифрованные с использованием сеансового ключа PASE, установленного с одноранговым узлом.

Если необходимая сессия недоступна, она будет установлена ​​автоматически в рамках подготовки привязки.

Подробности
Параметры
[in] aPasswordSource
Источник пароля, который будет использоваться во время установления сеанса PASE.
Возврат
Ссылка на объект привязки.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  void
)

При общении с одноранговым узлом отправляйте и получайте сообщения, зашифрованные с использованием общего сеансового ключа CASE, установленного с помощью основного маршрутизатора Nest.

Если необходимая сессия недоступна, она будет установлена ​​автоматически в рамках подготовки привязки.

Подробности
Возврат
Ссылка на объект привязки.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  uint64_t aRouterNodeId
)

При общении с партнером отправляйте и получайте сообщения, зашифрованные с использованием общего сеансового ключа CASE, установленного с указанным узлом маршрутизатора.

Если необходимая сессия недоступна, она будет установлена ​​автоматически в рамках подготовки привязки.

Подробности
Параметры
[in] aRouterNodeId
Идентификатор узла Weave маршрутизатора, с которым должен быть установлен общий сеанс CASE.
Возврат
Ссылка на объект привязки.

Security_TAKESession

Configuration & Security_TAKESession()

При общении с одноранговым узлом отправляйте и получайте сообщения, зашифрованные с использованием сеансового ключа TAKE, установленного с одноранговым узлом.

Если необходимая сессия недоступна, она будет установлена ​​автоматически в рамках подготовки привязки.

Подробности
Возврат
Ссылка на объект привязки.

TargetAddress_IP

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

При общении с партнером используйте конкретный IP-адрес, порт и сетевой интерфейс.

Подробности
Параметры
[in] aPeerAddress
IP-адрес узла
[in] aPeerPort
Удаленный порт
[in] aInterfaceId
Идентификатор локального сетевого интерфейса, который будет использоваться для связи.
Возврат
Ссылка на объект привязки.

TargetAddress_IP

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

При общении с партнером используйте конкретное имя хоста, порт и сетевой интерфейс.

ПРИМЕЧАНИЕ. Вызывающий объект должен убедиться, что предоставленная строка имени хоста остается допустимой до завершения этапа подготовки привязки.

Подробности
Параметры
[in] aHostName
Строка с нулевым завершением, содержащая имя узла узла.
[in] aPeerPort
Удаленный порт, используемый при общении с партнером.
[in] aInterfaceId
Идентификатор локального сетевого интерфейса, который будет использоваться для связи.
Возврат
Ссылка на объект привязки.

TargetAddress_IP

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

При общении с партнером используйте конкретное имя хоста, порт и сетевой интерфейс.

ПРИМЕЧАНИЕ. Вызывающий объект должен убедиться, что предоставленная строка имени хоста остается допустимой до завершения этапа подготовки привязки.

Подробности
Параметры
[in] aHostName
Строка, содержащая имя узла узла. Эта строка не обязательно должна заканчиваться NULL.
[in] aHostNameLen
Длина строки, на которую указывает aHostName.
[in] aPeerPort
Удаленный порт, используемый при общении с партнером.
[in] aInterfaceId
Идентификатор локального сетевого интерфейса, который будет использоваться для связи.
Возврат
Ссылка на объект привязки.

TargetAddress_WeaveFabric

Configuration & TargetAddress_WeaveFabric(
  uint16_t aSubnetId
)

При обмене данными с одноранговым узлом используйте адрес структуры Weave, полученный на основе идентификатора узла однорангового узла и указанной подсети.

Подробности
Параметры
[in] aSubnetId
Идентификатор подсети, который будет использоваться при формировании адреса структуры Weave узла.
Возврат
Ссылка на объект привязки.

TargetAddress_WeaveService

Configuration & TargetAddress_WeaveService(
  void
)

При общении с одноранговым узлом используйте адрес структуры службы Weave, полученный из идентификатора узла однорангового узла.

Подробности
Возврат
Ссылка на объект привязки.

Target_NodeId

Configuration & Target_NodeId(
  uint64_t aPeerNodeId
)

Настройте привязку для связи с определенным идентификатором узла Weave.

Подробности
Параметры
[in] aPeerNodeId
Идентификатор однорангового узла.
Возврат
Ссылка на объект привязки.

Target_ServiceEndpoint

Configuration & Target_ServiceEndpoint(
  uint64_t aPeerNodeId
)

Настройте привязку для связи с определенной конечной точкой службы Weave.

Если не настроено иное, адрес узла устанавливается на адрес Weave Fabric конечной точки службы.

Подробности
Параметры
[in] serviceEndpointId
Идентификатор узла конечной точки службы, с которой будет осуществляться связь.
Возврат
Ссылка на объект привязки.

Transport_DefaultWRMPConfig

Configuration & Transport_DefaultWRMPConfig(
  const WRMPConfig & aWRMPConfig
)

Установите конфигурацию WRMP по умолчанию для контекстов обмена, созданных из этого объекта привязки .

Подробности
Параметры
[in] aWRMPConfig
Ссылка на новую конфигурацию WRMP по умолчанию.
Возврат
Ссылка на объект привязки.

Transport_ExistingConnection

Configuration & Transport_ExistingConnection(
  WeaveConnection *apConnection
)

Используйте существующее соединение Weave для связи с одноранговым узлом.

ПРИМЕЧАНИЕ. Счетчик ссылок на объект соединения увеличивается при успешной подготовке привязки. Таким образом, приложение несет ответственность за то, чтобы объект соединения оставался активным до этого времени.

Подробности
Параметры
[in] con
Указатель на существующее соединение Weave.
Возврат
Ссылка на объект привязки.

Транспорт_TCP

Configuration & Transport_TCP(
  void
)

Используйте TCP для связи с одноранговым узлом.

Подробности
Возврат
Ссылка на объект привязки.

Транспорт_UDP

Configuration & Transport_UDP(
  void
)

Используйте UDP для связи с одноранговым узлом.

Подробности
Возврат
Ссылка на объект привязки.

Transport_UDP_PathMTU

Configuration & Transport_UDP_PathMTU(
  uint32_t aPathMTU
)

Установите ожидаемый MTU пути для пакетов UDP, направляющихся к партнеру.

Для некоторых протоколов Weave это будет использоваться для динамической настройки размера полезной нагрузки сообщения Weave.

Подробности
Параметры
[in] aPathMTU
Ожидаемый MTU пути для пакетов UDP, направляющихся к партнеру.
Возврат
Ссылка на объект привязки.

Транспорт_UDP_WRM

Configuration & Transport_UDP_WRM(
  void
)

Используйте протокол Weave Reliable Messaging при общении с партнером.

Подробности
Возврат
Ссылка на объект привязки.