nl::Weave::Binding::Configuration

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

提供宣告式介面,用於設定及準備 Binding 物件。

摘要

設定繫結時,應用程式必須從下列配置群組呼叫至少一種方法:目標、傳輸和安全性。您可以視需要呼叫其他方法,以覆寫預設行為。

如果叫用互斥的設定 (例如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)
與對等裝置通訊時,透過 Nest 核心路由器建立的共用 CASE 工作階段金鑰,與其他使用者進行通訊。
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)
與對等點通訊時,請使用衍生自對等互連的節點 ID 和指定子網路的 Weave 架構位址。
TargetAddress_WeaveService(void)
與對等點通訊時,請使用衍生自對等互連的節點 ID 的 Weave 服務架構位址。
Target_NodeId(uint64_t aPeerNodeId)
設定繫結,與特定的 Weave 節點 ID 通訊。
Target_ServiceEndpoint(uint64_t aPeerNodeId)
設定繫結,與特定的 Weave 服務端點通訊。
Transport_DefaultWRMPConfig(const WRMPConfig & aWRMPConfig)
針對從這個 Binding 物件建立的交換環境,設定預設的 WRMP 設定。
Transport_ExistingConnection(WeaveConnection *apConnection)
使用現有的 Weave 連線與同事通訊。
Transport_TCP(void)
使用 TCP 與對等點通訊。
Transport_UDP(void)
使用 UDP 與對等點通訊。
Transport_UDP_PathMTU(uint32_t aPathMTU)
設定 UDP 封包傳輸至對等點的預期路徑 MTU。
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
應加密訊息的應用程式群組的全域 ID。
[in] aRootKeyId
這個根金鑰是用來為指定 Weave 應用程式群組產生加密金鑰,
[in] aUseRotatingKey
如果 Weave 應用程式群組使用旋轉訊息金鑰,則為 True。
傳回
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
加密金鑰的 ID。指定的金鑰必須適合用於 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
)

與對等裝置通訊時,透過 Nest 核心路由器建立的共用 CASE 工作階段金鑰,與其他使用者進行通訊。

如果無法購買必要的工作階段,系統會在準備繫結時自動建立工作階段。

詳細資料
傳回
繫結物件的參照。

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  uint64_t aRouterNodeId
)

與對等端的通訊時,透過建立於指定路由器節點的共用 CASE 工作階段金鑰,與對等端進行通訊時。

如果無法購買必要的工作階段,系統會在準備繫結時自動建立工作階段。

詳細資料
參數
[in] aRouterNodeId
應建立共用 CASE 工作階段的路由器 Weave 節點 ID。
傳回
繫結物件的參照。

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
用於通訊的本機網路介面 ID
傳回
繫結物件的參照。

TargetAddress_IP

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

與對等點通訊時,請使用特定的主機名稱、通訊埠和網路介面。

注意:呼叫端必須確認提供的主機名稱字串仍有效,直到繫結準備階段完成為止。

詳細資料
參數
[in] aHostName
包含對等點主機名稱的 NULL 結尾字串。
[in] aPeerPort
與對等點通訊時使用的遠端通訊埠。
[in] aInterfaceId
用於通訊的本機網路介面 ID。
傳回
繫結物件的參照。

TargetAddress_IP

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

與對等點通訊時,請使用特定的主機名稱、通訊埠和網路介面。

注意:呼叫端必須確認提供的主機名稱字串仍有效,直到繫結準備階段完成為止。

詳細資料
參數
[in] aHostName
包含對等點主機名稱的字串。這個字串不需要以空值終止。
[in] aHostNameLen
aHostName 指向的字串長度。
[in] aPeerPort
與對等點通訊時使用的遠端通訊埠。
[in] aInterfaceId
用於通訊的本機網路介面 ID。
傳回
繫結物件的參照。

TargetAddress_WeaveFabric

Configuration & TargetAddress_WeaveFabric(
  uint16_t aSubnetId
)

與對等點通訊時,請使用衍生自對等互連的節點 ID 和指定子網路的 Weave 架構位址。

詳細資料
參數
[in] aSubnetId
用來構成對等點 Weave 布料位址的子網路 ID。
傳回
繫結物件的參照。

TargetAddress_WeaveService

Configuration & TargetAddress_WeaveService(
  void
)

與對等點通訊時,請使用衍生自對等互連的節點 ID 的 Weave 服務架構位址。

詳細資料
傳回
繫結物件的參照。

Target_NodeId

Configuration & Target_NodeId(
  uint64_t aPeerNodeId
)

設定繫結,與特定的 Weave 節點 ID 通訊。

詳細資料
參數
[in] aPeerNodeId
對等互連節點的節點 ID,
傳回
繫結物件的參照。

Target_ServiceEndpoint

Configuration & Target_ServiceEndpoint(
  uint64_t aPeerNodeId
)

設定繫結,與特定的 Weave 服務端點通訊。

如未設定,對等位址會設為服務端點的 Weave 布料位址。

詳細資料
參數
[in] serviceEndpointId
進行通訊的服務端點節點 ID。
傳回
繫結物件的參照。

Transport_DefaultWRMPConfig

Configuration & Transport_DefaultWRMPConfig(
  const WRMPConfig & aWRMPConfig
)

針對從這個 Binding 物件建立的交換環境,設定預設的 WRMP 設定。

詳細資料
參數
[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
)

設定 UDP 封包傳輸至對等點的預期路徑 MTU。

某些 Weave 通訊協定會用來動態調整 Weave 訊息酬載大小。

詳細資料
參數
[in] aPathMTU
UDP 封包傳輸至對等點的預期路徑 MTU。
傳回
繫結物件的參照。

Transport_UDP_WRM

Configuration & Transport_UDP_WRM(
  void
)

使用 Weave Reliable Messaging 通訊協定與同事通訊。

詳細資料
傳回
繫結物件的參照。