nl::Weave::Binding::Configuration

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

มีอินเทอร์เฟซแบบประกาศสำหรับการกำหนดค่าและเตรียมออบเจ็กต์การเชื่อมโยง

สรุป

เมื่อกำหนดค่าการเชื่อมโยง แอปพลิเคชันต้องเรียกใช้อย่างน้อย 1 วิธีจากกลุ่มการกำหนดค่าแต่ละกลุ่ม ได้แก่ เป้าหมาย การส่ง และความปลอดภัย อาจมีการเรียกวิธีการอื่นๆ ตามความจำเป็นเพื่อลบล้างลักษณะการทำงานเริ่มต้น

กรณีที่มีการเรียกใช้การกำหนดค่าที่ใช้พร้อมกันไม่ได้ (เช่น Transport_TCP() ตามด้วย Transport_UDP()) การตั้งค่าสุดท้ายจะเรียกว่าชนะ

ฟังก์ชันสาธารณะ

ConfigureFromMessage(const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
กำหนดค่าการเชื่อมโยงเพื่ออนุญาตให้สื่อสารกับผู้ส่งข้อความที่ได้รับ
DNS_Options(uint8_t dnsOptions)
เมื่อแปลงชื่อโฮสต์ของเพียร์ ให้ใช้ตัวเลือก DNS ที่ระบุ
Exchange_ResponseTimeoutMsec(uint32_t aResponseTimeoutMsec)
ตั้งค่าระยะหมดเวลาตอบกลับเริ่มต้นสำหรับบริบท Exchange ที่สร้างจากออบเจ็กต์ 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 Core
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 Fabric ที่ได้มาจากรหัสโหนดของเพียร์และซับเน็ตที่ระบุ
TargetAddress_WeaveService(void)
เมื่อสื่อสารกับเพียร์ ให้ใช้ที่อยู่ผ้าของบริการ Weave ที่ได้จากรหัสโหนดของแอปเทียบเท่า
Target_NodeId(uint64_t aPeerNodeId)
กำหนดค่าการเชื่อมโยงเพื่อสื่อสารกับรหัสโหนด Weave ที่เฉพาะเจาะจง
Target_ServiceEndpoint(uint64_t aPeerNodeId)
กำหนดค่าการเชื่อมโยงเพื่อสื่อสารกับปลายทางบริการ Weave ที่เฉพาะเจาะจง
Transport_DefaultWRMPConfig(const WRMPConfig & aWRMPConfig)
ตั้งค่าการกำหนดค่า WRMP เริ่มต้นสำหรับบริบท Exchange ที่สร้างจากออบเจ็กต์ 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
)

ตั้งค่าระยะหมดเวลาตอบกลับเริ่มต้นสำหรับบริบท Exchange ที่สร้างจากออบเจ็กต์ 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
เป็นจริงหากกลุ่มแอปพลิเคชัน Weave ใช้คีย์ข้อความแบบหมุนเวียน
การคืนสินค้า
การอ้างอิงออบเจ็กต์การเชื่อมโยง

Security_AuthenticationMode

Configuration & Security_AuthenticationMode(
  WeaveAuthMode aAuthMode
)

ตั้งค่าโหมดการตรวจสอบสิทธิ์ที่ขอเพื่อใช้ตรวจสอบสิทธิ์เพียร์

รายละเอียด
พารามิเตอร์
[in] aAuthMode
โหมดการตรวจสอบสิทธิ์ที่ขอ
การคืนสินค้า
การอ้างอิงออบเจ็กต์การเชื่อมโยง

Security_CASESession

Configuration & Security_CASESession(
  void
)

เมื่อสื่อสารกับเพียร์ ให้รับส่งข้อความที่เข้ารหัสโดยใช้เซสชันคีย์ CASE ที่สร้างขึ้นด้วยโหนดเพียร์

หากเซสชันที่จำเป็นไม่พร้อมใช้งาน ระบบจะสร้างเซสชันโดยอัตโนมัติเพื่อเตรียมการเชื่อมโยง

รายละเอียด
การคืนสินค้า
การอ้างอิงออบเจ็กต์การเชื่อมโยง

Security_EncryptionType

Configuration & Security_EncryptionType(
  uint8_t aEncType
)

เมื่อสื่อสารกับเพียร์ ให้รับส่งข้อความที่เข้ารหัสโดยใช้ประเภทการเข้ารหัสข้อความที่ระบุ

รายละเอียด
พารามิเตอร์
[in] aEncType
ประเภทการเข้ารหัสข้อความ Weave
การคืนสินค้า
การอ้างอิงออบเจ็กต์การเชื่อมโยง

Security_Key

Configuration & Security_Key(
  uint32_t aKeyId
)

เมื่อสื่อสารกับเพียร์ ให้ส่งและรับข้อความที่เข้ารหัสโดยใช้คีย์ที่ระบุ

รายละเอียด
พารามิเตอร์
[in] aKeyId
รหัสของคีย์การเข้ารหัส คีย์ที่ระบุต้องเหมาะสำหรับการเข้ารหัสข้อความ Weave
การคืนสินค้า
การอ้างอิงออบเจ็กต์การเชื่อมโยง

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 Core

หากเซสชันที่จำเป็นไม่พร้อมใช้งาน ระบบจะสร้างเซสชันโดยอัตโนมัติเพื่อเตรียมการเชื่อมโยง

รายละเอียด
การคืนสินค้า
การอ้างอิงออบเจ็กต์การเชื่อมโยง

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
สตริงที่มีการยุติค่า Null ซึ่งมีชื่อโฮสต์ของเพียร์
[in] aPeerPort
พอร์ตระยะไกลสำหรับใช้เมื่อสื่อสารกับเพียร์
[in] aInterfaceId
รหัสของอินเทอร์เฟซเครือข่ายภายในที่จะใช้สำหรับการสื่อสาร
การคืนสินค้า
การอ้างอิงออบเจ็กต์การเชื่อมโยง

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
รหัสของอินเทอร์เฟซเครือข่ายภายในที่จะใช้สำหรับการสื่อสาร
การคืนสินค้า
การอ้างอิงออบเจ็กต์การเชื่อมโยง

TargetAddress_WeaveFabric

Configuration & TargetAddress_WeaveFabric(
  uint16_t aSubnetId
)

เมื่อสื่อสารกับเพียร์ ให้ใช้ที่อยู่ Weave Fabric ที่ได้มาจากรหัสโหนดของเพียร์และซับเน็ตที่ระบุ

รายละเอียด
พารามิเตอร์
[in] aSubnetId
รหัสซับเน็ตที่จะใช้ในการสร้างที่อยู่ Weave Fabric ของเพียร์
การคืนสินค้า
การอ้างอิงออบเจ็กต์การเชื่อมโยง

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 เริ่มต้นสำหรับบริบท Exchange ที่สร้างจากออบเจ็กต์ 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 เมื่อสื่อสารกับเพียร์

รายละเอียด
การคืนสินค้า
การอ้างอิงออบเจ็กต์การเชื่อมโยง