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
[READ ONLY] حالة الكائن 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

[READ ONLY] حالة الكائن 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 الذي يمثل اتصال بروتوكول التحكم بالنقل (TCP) مع النظير.
[in] appState
يشير هذا المصطلح إلى مؤشر يؤدي إلى كائن من طبقات أعلى يحتفظ بحالة السياق.
[in] isInitiator
مؤشر منطقي يشير إلى ما إذا كانت العقدة المحلية هي بادئ التبادل.
المرتجعات
مؤشر للكائن ExchangeContext الذي يتطابق مع المَعلمات المقدّمة عند نجاح العملية، NULL في حالة عدم تطابق.

Init

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 الذي تم إنشاؤه بنجاح بخلاف ذلك، إذا لم يكن من الممكن تخصيص أي كائن أو كان غير متوفر.

NewContext

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

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

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

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 الذي تم إنشاؤه بنجاح بخلاف ذلك، تكون القيمة "NULL" (فارغ) إذا لم يكن من الممكن تخصيص أي عنصر أو كان متاحًا.

NewContext

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

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

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

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 الذي يمثل اتصال بروتوكول التحكم بالنقل (TCP) مع النظير.
[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 الذي يمثل اتصال بروتوكول التحكم بالنقل (TCP) مع النظير.
[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 الذي يمثل اتصال بروتوكول التحكم بالنقل (TCP) مع النظير.
قيم الإرجاع
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
في حال عدم العثور على مُعالِج الرسائل غير المرغوب فيه المطابق.
WEAVE_NO_ERROR
عند النجاح.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

دالة إنشاء للفئة WeaveExchangeManager

وهو يضبط الحالة على kState_NotInitialized.