nl::Weave::Binding::Configuration

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

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

สรุป

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

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

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

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

รายละเอียด
พารามิเตอร์
[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 Application ที่ระบุ

รายละเอียด
พารามิเตอร์
[in] aAppGroupGlobalId
รหัสร่วมของกลุ่มแอปพลิเคชันที่ควรเข้ารหัสข้อความ
[in] aRootKeyId
คีย์รูทที่ใช้เพื่อรับคีย์การเข้ารหัสสำหรับกลุ่ม Weave Application ที่ระบุ
[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

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

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

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

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 ที่ได้มาจากรหัสโหนดของเพียร์และซับเน็ตที่ระบุ

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

TargetAddress_WeaveService

Configuration & TargetAddress_WeaveService(
  void
)

เมื่อสื่อสารกับเพียร์ ให้ใช้ที่อยู่ Weave Service Fabric ที่ได้มาจากรหัสโหนดของแอปเทียบเท่า

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

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 ที่สร้างจากออบเจ็กต์ การเชื่อมโยง นี้

รายละเอียด
พารามิเตอร์
[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 เมื่อสื่อสารกับเพียร์

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