nl::Weave::Binding::Configuration

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

توفِّر واجهة بنمط البيان لإعداد عنصر الربط وإعداده.

ملخّص

عند ضبط الربط، يجب أن تطلب التطبيقات طريقة واحدة على الأقل من كل مجموعة من مجموعات الضبط التالية: الاستهداف والنقل والأمان. ويمكن استدعاء طرق أخرى حسب الحاجة لإلغاء السلوك التلقائي.

في حال استدعاء الإعدادات المتنافية (مثل الأمر Transport_TCP() متبوعًا بـ Transport_UDP())، والعمليات الأخيرة التي يتم طلبها هي الفائزة.

وظائف عامة

ConfigureFromMessage(const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
يمكنك تهيئة الربط للسماح بالاتصال بمرسل الرسالة المُستلَمة.
DNS_Options(uint8_t dnsOptions)
عند حل اسم المضيف النظير، استخدم خيارات نظام أسماء النطاقات المحددة.
Exchange_ResponseTimeoutMsec(uint32_t aResponseTimeoutMsec)
يمكنك ضبط مهلة الاستجابة التلقائية لسياقات التبادل التي تم إنشاؤها من كائن الربط هذا.
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 التلقائية لسياقات التبادل التي تم إنشاؤها من كائن الربط هذا.
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 عند التواصل مع الأقران.

وظائف عامة

ConfigureFromMessage

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

يمكنك تهيئة الربط للسماح بالاتصال بمرسل الرسالة المُستلَمة.

التفاصيل
المعلمات
[in] aMsgInfo
بنية معلومات الرسالة المرتبطة بالرسالة المُستلَمة
[in] aPacketInfo
معلومات الحزمة للرسالة المُستلَمة.

DNS_Options

Configuration & DNS_Options(
  uint8_t dnsOptions
)

عند حل اسم المضيف النظير، استخدم خيارات نظام أسماء النطاقات المحددة.

التفاصيل
المعلمات
[in] dnsOptions
قيمة عددية تتحكم في كيفية تنفيذ تحليل اسم المضيف. يجب أن تكون القيمة واحدة من القيم من التعداد #::nl::Inet::DNSOptions.
المرتجعات
مرجع إلى كائن الربط.

Exchange_ResponseTimeoutMsec

Configuration & Exchange_ResponseTimeoutMsec(
  uint32_t aResponseTimeoutMsec
)

يمكنك ضبط مهلة الاستجابة التلقائية لسياقات التبادل التي تم إنشاؤها من كائن الربط هذا.

التفاصيل
المعلمات
[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 تستخدم مفاتيح رسائل متغيرة.
المرتجعات
مرجع إلى الكائن 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
سلسلة تحتوي على اسم المضيف للنظير. لا يلزم إنهاء هذه السلسلة "فارغ".
[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 التلقائية لسياقات التبادل التي تم إنشاؤها من كائن الربط هذا.

التفاصيل
المعلمات
[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 عند التواصل مع الأقران.

التفاصيل
المرتجعات
مرجع إلى كائن الربط.