nl::Weave::WeaveExchangeManager

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

تُستخدَم هذه الفئة لإدارة ExchangeContexts مع عُقد Weave الأخرى.

ملخّص

وتعمل هذه الخدمة نيابةً عن الطبقات العليا، من خلال إنشاء ExchangeContexts والتعامل مع عمليات التسجيل/إلغاء التسجيل لمعالِجات الرسائل غير المرغوب فيها.

الدلالة والهياكل

WeaveExchangeManager(void)
منشئ لفئة WeaveExchangeManager.

الأنواع العلنية

State{
  kState_NotInitialized = 0,
  kState_Initialized = 1
}
تعداد

السمات العامة

FabricState
[للقراءة فقط] كائن FabricState المرتبط.
MessageLayer
[READ ONLY] كائن WeaveMessageLayer المرتبط.
State
uint8_t
[قراءة فقط] حالة الكائن WeaveExchangeManager.

الدوال العامة

AllowUnsolicitedMessages(WeaveConnection *con)
void
السماح باستلام الرسائل غير المرغوب فيها على الاتصال المحدّد.
ClearMsgCounterSyncReq(uint64_t peerNodeId)
void
محو علامة MsgCounterSyncReq لجميع الرسائل المعلّقة المرسَلة إلى هذا النظير.
FindContext(uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
ابحث عن ExchangeContext من مجموعة تتطابق مع مجموعة معيّنة من المَعلمات.
Init(WeaveMessageLayer *msgLayer)
ابدأ تشغيل الكائن WeaveExchangeManager.
NewBinding(Binding::EventCallback eventCallback, void *appState)
خصِّص ربط جديدًا بالوسيطات المُقدَّمة.
NewContext(const uint64_t & peerNodeId, void *appState)
تنشئ ExchangeContext جديدًا باستخدام عقدة Weave نظيرة محدَّدة بواسطة معرِّف عقدة النظير.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
تنشئ ExchangeContext جديدًا باستخدام عقدة Weave نظيرة محدَّدة من خلال معرِّف عقدة النظير وعنوان IP للنظير.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
تنشئ ExchangeContext جديدًا باستخدام عقدة Weave نظيرة محدَّدة بواسطة معرِّف عقدة النظير وعنوان IP للنظير ومنفذ الوجهة على واجهة محدَّدة.
NewContext(WeaveConnection *con, void *appState)
ينشئ ExchangeContext جديدًا باستخدام عقدة Weave نظيرة محدَّدة عبر WeaveConnection محدَّد.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي معيّن
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي معيّن
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
يمكنك تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي ونوع رسالة معيّنَين.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
يمكنك تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي ونوع رسالة معيّنَين.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي معيّن، ونوع الرسالة في اتصال Weave محدد.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي معيّن، ونوع الرسالة في اتصال Weave محدد.
Shutdown(void)
UnregisterUnsolicitedMessageHandler(uint32_t profileId)
إلغاء تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي معيّن
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
إلغاء تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي ونوع رسالة معيّنين
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
يمكنك إلغاء تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي معيّن ونوع الرسالة واتصال Weave.

الأنواع العلنية

الحالة

 State
أماكن إقامة
kState_Initialized

يُستخدم للإشارة إلى تهيئة WeaveExchangeManager.

kState_NotInitialized

يُستخدم للإشارة إلى عدم تهيئة WeaveExchangeManager.

السمات العامة

FabricState

WeaveFabricState * FabricState

[للقراءة فقط] كائن FabricState المرتبط.

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY] كائن WeaveMessageLayer المرتبط.

الحالة

uint8_t State

[قراءة فقط] حالة الكائن WeaveExchangeManager.

الدوال العامة

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

السماح باستلام الرسائل غير المرغوب فيها على الاتصال المحدّد.

تعيّن هذه الطريقة معالج استقبال الرسالة على اتصال Weave المحدد.

التفاصيل
المَعلمات
[in] con
مؤشر إلى كائن اتصال Weave.

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

محو علامة MsgCounterSyncReq لجميع الرسائل المعلّقة المرسَلة إلى هذا النظير.

التفاصيل
المَعلمات
[in] peerNodeId
معرِّف العُقدة للعقدة الوجهة.

FindContext

ExchangeContext * FindContext(
  uint64_t peerNodeId,
  WeaveConnection *con,
  void *appState,
  bool isInitiator
)

ابحث عن ExchangeContext من مجموعة تتطابق مع مجموعة معيّنة من المَعلمات.

التفاصيل
المَعلمات
[in] peerNodeId
معرّف العقدة للنظير الذي تم إعداد ExchangeContext به.
[in] con
مؤشر يشير إلى الكائن WeaveConnection الذي يمثّل اتصال بروتوكول التحكم بالنقل مع نظيره في الشبكة.
[in] appState
يشير هذا المصطلح إلى مؤشر لكائن طبقة أعلى يحمل حالة السياق.
[in] isInitiator
مؤشر منطقي لتحديد ما إذا كانت العُقدة المحلية هي بداية عملية التبادل أم لا
المرتجعات
مؤشر يشير إلى عنصر ExchangeContext الذي يتطابق مع المَعلمات المقدَّمة عند نجاح العملية، وتكون فارغة (NULL) بدون تطابق.

إنت

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

ابدأ تشغيل الكائن WeaveExchangeManager.

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

التفاصيل
المَعلمات
[in] msgLayer
مؤشر للكائن WeaveMessageLayer
قيم الإرجاع
WEAVE_ERROR_INCORRECT_STATE
إذا لم تكن الحالة مساوية لـ kState_NotInitialized.
WEAVE_NO_ERROR
عند النجاح

NewBinding

Binding * NewBinding(
  Binding::EventCallback eventCallback,
  void *appState
)

خصِّص ربط جديدًا بالوسيطات المُقدَّمة.

التفاصيل
المَعلمات
[in] eventCallback
مؤشر دالة يمكن استخدامه لاستدعاء الحدث
[in] appState
يشير هذا المصطلح إلى مؤشر إلى بعض السياق يمكن استخدامه عند معاودة الاتصال بالحدث لاحقًا.
المرتجعات
مؤشر إلى الربط الذي تم تخصيصه حديثًا أو NULL في حال نفاد مجموعة التجميع

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  void *appState
)

تنشئ ExchangeContext جديدًا باستخدام عقدة Weave نظيرة محدَّدة بواسطة معرِّف عقدة النظير.

التفاصيل
المَعلمات
[in] peerNodeId
معرّف العقدة للنظير الذي يتم إعداد ExchangeContext به.
[in] appState
يشير هذا المصطلح إلى مؤشر لكائن طبقة أعلى يحمل حالة السياق.
المرتجعات
مؤشر يشير إلى عنصر ExchangeContext الذي تم إنشاؤه "عند النجاح" وإلا "NULL" (فارغ) إذا لم يكن بالإمكان تخصيص كائن أو لم يكن متاحًا.

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  void *appState
)

تنشئ ExchangeContext جديدًا باستخدام عقدة Weave نظيرة محدَّدة من خلال معرِّف عقدة النظير وعنوان IP للنظير.

التفاصيل
المَعلمات
[in] peerNodeId
معرّف العقدة للنظير الذي يتم إعداد ExchangeContext به.
[in] peerAddr
عنوان IP للعقدة المشابهة.
[in] appState
يشير هذا المصطلح إلى مؤشر لكائن طبقة أعلى يحمل حالة السياق.
المرتجعات
مؤشر يشير إلى عنصر ExchangeContext الذي تم إنشاؤه "عند النجاح" وبخلاف ذلك، تكون فارغة إذا لم يكن بالإمكان تخصيص كائن أو كان متاحًا.

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId sendIntfId,
  void *appState
)

تنشئ ExchangeContext جديدًا باستخدام عقدة Weave نظيرة محدَّدة بواسطة معرِّف عقدة النظير وعنوان IP للنظير ومنفذ الوجهة على واجهة محدَّدة.

التفاصيل
المَعلمات
[in] peerNodeId
معرّف العقدة للنظير الذي يتم إعداد ExchangeContext به.
[in] peerAddr
عنوان IP للعقدة المشابهة.
[in] peerPort
منفذ العقدة المشابهة.
[in] sendIntfId
الواجهة المطلوب استخدامها لإرسال رسائل Weave في عملية التبادل هذه.
[in] appState
يشير هذا المصطلح إلى مؤشر لكائن طبقة أعلى يحمل حالة السياق.
المرتجعات
مؤشر يشير إلى عنصر ExchangeContext الذي تم إنشاؤه "عند النجاح" وبخلاف ذلك، تكون فارغة إذا لم يكن بالإمكان تخصيص كائن أو كان متاحًا.

NewContext

ExchangeContext * NewContext(
  WeaveConnection *con,
  void *appState
)

ينشئ ExchangeContext جديدًا باستخدام عقدة Weave نظيرة محدَّدة عبر WeaveConnection محدَّد.

التفاصيل
المَعلمات
[in] con
مؤشر يشير إلى الكائن WeaveConnection الذي يمثّل اتصال بروتوكول التحكم بالنقل مع نظيره في الشبكة.
[in] appState
يشير هذا المصطلح إلى مؤشر لكائن طبقة أعلى يحمل حالة السياق.
المرتجعات
مؤشر يشير إلى عنصر ExchangeContext الذي تم إنشاؤه "عند النجاح" وبخلاف ذلك، تكون فارغة إذا لم يكن بالإمكان تخصيص كائن أو كان متاحًا.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي معيّن

سيتم استدعاء هذا المعالج لجميع الرسائل في الملف الشخصي المحدّد.

التفاصيل
المَعلمات
[in] profileId
معرّف الملف الشخصي للرسالة المُستلَمة
[in] handler
معالج الرسائل غير المرغوب فيها
[in] appState
يشير هذا المصطلح إلى مؤشر لكائن طبقة أعلى يحمل حالة السياق.
قيم الإرجاع
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
إذا كانت مجموعة معالجات الرسائل غير المطلوبة ممتلئة ولا يمكن تخصيص مجموعة جديدة.
WEAVE_NO_ERROR
عند النجاح

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي معيّن

سيتم استدعاء هذا المعالج لجميع الرسائل في الملف الشخصي المحدّد.

التفاصيل
المَعلمات
[in] profileId
معرّف الملف الشخصي للرسالة المُستلَمة
[in] handler
معالج الرسائل غير المرغوب فيها
[in] allowDups
مؤشر منطقي لتوضيح ما إذا كان مسموحًا بالرسائل المكرّرة لملف شخصي معيّن
[in] appState
يشير هذا المصطلح إلى مؤشر لكائن طبقة أعلى يحمل حالة السياق.
قيم الإرجاع
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
إذا كانت مجموعة معالجات الرسائل غير المطلوبة ممتلئة ولا يمكن تخصيص مجموعة جديدة.
WEAVE_NO_ERROR
عند النجاح

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

يمكنك تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي ونوع رسالة معيّنَين.

التفاصيل
المَعلمات
[in] profileId
معرّف الملف الشخصي للرسالة المُستلَمة
[in] msgType
نوع الرسالة للملف الشخصي المقابل
[in] handler
معالج الرسائل غير المرغوب فيها
[in] appState
يشير هذا المصطلح إلى مؤشر لكائن طبقة أعلى يحمل حالة السياق.
قيم الإرجاع
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
إذا كانت مجموعة معالجات الرسائل غير المطلوبة ممتلئة ولا يمكن تخصيص مجموعة جديدة.
WEAVE_NO_ERROR
عند النجاح

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

يمكنك تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي ونوع رسالة معيّنَين.

التفاصيل
المَعلمات
[in] profileId
معرّف الملف الشخصي للرسالة المُستلَمة
[in] msgType
نوع الرسالة للملف الشخصي المقابل
[in] handler
معالج الرسائل غير المرغوب فيها
[in] allowDups
مؤشر منطقي لتوضيح ما إذا كان مسموحًا بالرسائل المكرّرة لمعرّف ملف شخصي ونوع رسالة معيّنَين
[in] appState
يشير هذا المصطلح إلى مؤشر لكائن طبقة أعلى يحمل حالة السياق.
قيم الإرجاع
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
إذا كانت مجموعة معالجات الرسائل غير المطلوبة ممتلئة ولا يمكن تخصيص مجموعة جديدة.
WEAVE_NO_ERROR
عند النجاح

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي معيّن، ونوع الرسالة في اتصال Weave محدد.

التفاصيل
المَعلمات
[in] profileId
معرّف الملف الشخصي للرسالة المُستلَمة
[in] msgType
نوع الرسالة للملف الشخصي المقابل
[in] con
مؤشر يشير إلى الكائن WeaveConnection الذي يمثّل اتصال بروتوكول التحكم بالنقل مع نظيره في الشبكة.
[in] handler
معالج الرسائل غير المرغوب فيها
[in] appState
يشير هذا المصطلح إلى مؤشر لكائن طبقة أعلى يحمل حالة السياق.
قيم الإرجاع
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
إذا كانت مجموعة معالجات الرسائل غير المطلوبة ممتلئة ولا يمكن تخصيص مجموعة جديدة.
WEAVE_NO_ERROR
عند النجاح

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي معيّن، ونوع الرسالة في اتصال Weave محدد.

التفاصيل
المَعلمات
[in] profileId
معرّف الملف الشخصي للرسالة المُستلَمة
[in] msgType
نوع الرسالة للملف الشخصي المقابل
[in] con
مؤشر يشير إلى الكائن WeaveConnection الذي يمثّل اتصال بروتوكول التحكم بالنقل مع نظيره في الشبكة.
[in] handler
معالج الرسائل غير المرغوب فيها
[in] allowDups
مؤشر منطقي يوضّح ما إذا كان مسموحًا بالرسائل المكرّرة لمعرّف ملف شخصي معيّن أو نوع الرسالة في اتصال Weave محدّد
[in] appState
يشير هذا المصطلح إلى مؤشر لكائن طبقة أعلى يحمل حالة السياق.
قيم الإرجاع
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
إذا كانت مجموعة معالجات الرسائل غير المطلوبة ممتلئة ولا يمكن تخصيص مجموعة جديدة.
WEAVE_NO_ERROR
عند النجاح

إيقاف التشغيل

WEAVE_ERROR Shutdown(
  void
)

أوقِف WeaveExchangeManager.

يؤدي ذلك إلى إنهاء مثيل الكائن وإصدار جميع الموارد المحجوزة.

التفاصيل
المرتجعات
WEAVE_NO_ERROR بدون شرط.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

إلغاء تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي معيّن

التفاصيل
المَعلمات
[in] profileId
معرّف الملف الشخصي للرسالة المُستلَمة
قيم الإرجاع
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
في حال عدم العثور على معالِج الرسائل غير المرغوب فيها المطابِق
WEAVE_NO_ERROR
عند النجاح

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

إلغاء تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي ونوع رسالة معيّنين

التفاصيل
المَعلمات
[in] profileId
معرّف الملف الشخصي للرسالة المُستلَمة
[in] msgType
نوع الرسالة للملف الشخصي المقابل
قيم الإرجاع
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
في حال عدم العثور على معالِج الرسائل غير المرغوب فيها المطابِق
WEAVE_NO_ERROR
عند النجاح

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con
)

يمكنك إلغاء تسجيل معالج رسائل غير مرغوب فيه لمعرّف ملف شخصي معيّن ونوع الرسالة واتصال Weave.

التفاصيل
المَعلمات
[in] profileId
معرّف الملف الشخصي للرسالة المُستلَمة
[in] msgType
نوع الرسالة للملف الشخصي المقابل
[in] con
مؤشر يشير إلى الكائن WeaveConnection الذي يمثّل اتصال بروتوكول التحكم بالنقل مع نظيره في الشبكة.
قيم الإرجاع
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
في حال عدم العثور على معالِج الرسائل غير المرغوب فيها المطابِق
WEAVE_NO_ERROR
عند النجاح

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

منشئ لفئة WeaveExchangeManager.

يعيّن الحالة على kState_NotInitialized.