nl::Weave::Binding::Configuration

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

Binding オブジェクトの設定と準備を行うための宣言型スタイルのインターフェースを提供します。

概要

バインディングを構成する場合、アプリケーションはターゲット、トランスポート、セキュリティの各構成グループから 1 つ以上のメソッドを呼び出す必要があります。デフォルトの動作をオーバーライドするために、必要に応じて他のメソッドを呼び出すこともできます。

相互に排他的な構成が呼び出される場合(例: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
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)
ピアと通信する際は、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 

Binding の構成中に発生したエラーを返します。

PrepareBinding

WEAVE_ERROR PrepareBinding(
  void
)

ピアとの通信用の Binding を準備するプロセス。

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
ピアのホスト名を含む文字列。この文字列は NULL で終わる必要はありません。
[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 プロトコルを使用する。

詳細
戻り値
バインディング オブジェクトへの参照。