nl::Weave::Binding::Configuration

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

Предоставляет интерфейс декларативного стиля для настройки и подготовки объекта 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)
Задает время ожидания ответа по умолчанию для контекстов обмена, созданных из этого объекта Binding.
GetError(void) const
Возвращает ошибку, возникшую при настройке привязки.
PrepareBinding(void)
Процесс подготовки привязки для связи с одноранговым узлом.
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 по умолчанию для контекстов обмена, созданных из этого объекта Binding.
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 при обмене данными с одноранговым узлом.

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

ConfigureFromMessage

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

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

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

DNS_Options

Configuration & DNS_Options(
  uint8_t dnsOptions
)

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

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

Exchange_ResponseTimeoutMsec

Configuration & Exchange_ResponseTimeoutMsec(
  uint32_t aResponseTimeoutMsec
)

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

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

GetError

WEAVE_ERROR GetError(
  void
) const 

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

PrepareBinding

WEAVE_ERROR PrepareBinding(
  void
)

Процесс подготовки привязки для связи с одноранговым узлом.

Security_AppGroupKey

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

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

Сведения
Параметры
[in] aAppGroupGlobalId
Глобальный идентификатор группы приложений, для которой нужно зашифровать сообщения.
[in] aRootKeyId
Корневой ключ, используемый для получения ключей шифрования для указанной группы приложений Weave.
[in] aUseRotatingKey
True, если группа приложений 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.

Security_Key

Configuration & Security_Key(
  uint32_t aKeyId
)

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

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

Security_None

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.

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

Transport_DefaultWRMPConfig

Configuration & Transport_DefaultWRMPConfig(
  const WRMPConfig & aWRMPConfig
)

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

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

Transport_ExistingConnection

Configuration & Transport_ExistingConnection(
  WeaveConnection *apConnection
)

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

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

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

Transport_TCP

Configuration & Transport_TCP(
  void
)

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

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

Transport_UDP

Configuration & Transport_UDP(
  void
)

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

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

Transport_UDP_PathMTU

Configuration & Transport_UDP_PathMTU(
  uint32_t aPathMTU
)

Задает ожидаемый MTU пути для UDP-пакетов, передаваемых на одноранговый узел.

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

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

Transport_UDP_WRM

Configuration & Transport_UDP_WRM(
  void
)

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

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