nl::Weave::الملفات الشخصية::DataManagement_Legacy::DMPublisher

#include <src/lib/profiles/data-management/Legacy/DMPublisher.h>

الفئة الأساسية المجرّدة للناشرين الذين يقدّمون خدمات WDM تحديدًا.

الملخّص

DMPublisher هو الفئة الأساسية للناشرين على منصة WDM. وهذا المزيج هو عبارة عن مزيج من فئة ProtocolEngine المباشرة التي تتعامل مع تناوب الطلبات، وفئة PublisherDataManager المجرّدة بالكامل. يُعد دعم الاشتراك والإشعارات اختياريًا ويمكن منعه ببساطة عن طريق إعداد جدول اشتراك بدون إدخالات.

الاكتساب

يكتسب من:
nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

الماكينات والبناء

DMPublisher(void)
طريقة الإنشاء التلقائية لكائنات DMPublisher.
~DMPublisher(void)
دورال كائنات DMPublisher.

وظائف عامة

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
محو الحالة الداخلية للعنصر DMPublisher.
Finalize(void)
virtual void
أوقِف DMPublisher قيد التشغيل.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
معالجة مؤشر على تعذُّر الربط
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
عليك ضبط عنصر DMPublisher.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
الردّ على طلب تعديل
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
الردّ على طلب العرض

وظائف عامة

إلغاء RequestRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

محو

virtual void Clear(
  void
)

محو الحالة الداخلية للعنصر DMPublisher.

محو مجموعة معاملات الإشعارات وجدول الاشتراك

ناشر رسالة مباشرة

 DMPublisher(
  void
)

طريقة الإنشاء التلقائية لكائنات DMPublisher.

محو كل الحالة الداخلية.

الصياغة النهائية

virtual void Finalize(
  void
)

أوقِف DMPublisher قيد التشغيل.

محو كل حالة التشغيل وإيقاف المستمع إذا كان قيد التشغيل.

مؤشر غير مكتمل

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

معالجة مؤشر على تعذُّر الربط

عندما يصبح الربط غير مكتمل، أي عندما يكون الاتصال مغلقًا لربط TCP، يجب أن يخفق محرك البروتوكول على أي معاملات تعتمد عليه، بما في ذلك استدعاء معالجات حالته. يتم أيضًا تمرير المؤشر غير المكتمل إلى أي كائن من فئة الدرجة العليا ينفِّذ النموذج البديل لهذه الطريقة الذي يستخدم رقم تعريف نظير.

التفاصيل
المعلَمات
[in] aBinding
مؤشر إلى الرابط المتعذِّر.
[in] aReport
مرجع إلى عنصر StatusReport يوضح بالتفصيل سبب الفشل.

إنيت

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

عليك ضبط عنصر DMPublisher.

يكون لهذه الطريقة التأثير الجانبي لتثبيت أداة معالجة في مدير تبادل المجموعة الكاملة لطلبات العملاء التي قد تشمل طلبات الاشتراك.

التفاصيل
المعلَمات
[in] aExchangeMgr
مؤشر إلى عنصر WeaveExchangeManager لاستخدامه في جميع عمليات التبادل التي يريد الناشر المشاركة فيها.
[in] aResponseTimeout
مهلة الاستجابة بالمللي ثانية، أي الحد الأقصى لوقت انتظار الرد.
المرتجعات
WEAVE_NO_ERROR على النجاح. وإلا، اعرض WEAVE_ERROR الذي يشير إلى تعذُّر إعداد الناشر بشكلٍ صحيح.

إنيت

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

استجابة الرد

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

الردّ على طلب تعديل

أرسِل الرد على طلب تعديل بعد المعالجة، باستخدام سياق التبادل الذي تم تقديمه في المؤشر.

التفاصيل
المعلَمات
[in] aResponseCtx
مؤشر إلى سياق التبادل الذي تم تلقّي الطلب من خلاله.
[in] aStatus
مرجع إلى عنصر StatusReport يحتوي على معلومات عن حالة الطلب.
المرتجعات
WEAVE_NO_ERROR على النجاح. وبخلاف ذلك، يمكنك عرض WEAVE_ERROR يعكس تعذُّر إرسال رسالة الرد.

عرض الاستجابة

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

الردّ على طلب العرض

أرسِل الرد إلى طلب المشاهدة بعد المعالجة، باستخدام سياق التبادل الذي تم تقديمه في المؤشر.

التفاصيل
المعلَمات
[in] aResponseCtx
مؤشر إلى سياق التبادل الذي تم تلقّي الطلب من خلاله.
[in] aStatus
مرجع إلى عنصر StatusReport يحتوي على معلومات عن حالة الطلب. وفي هذه الحالة، يتوقع مقدِّم الطلب قائمة بيانات تحتوي على البيانات محل الاهتمام.
[in] aDataList
مؤشر إلى عنصر ReferencedTLVData اختياري يحتوي على قائمة بيانات بترميز TLV تتضمّن بيانات الاهتمام والمسارات التي تشير إلى كيفية تنظيم تلك البيانات. تجدر الإشارة إلى أن هذه المعلّمة ستكون فارغة في حال عدم نجاح الحالة المحدّدة في المعلّمة السابقة.
قيم الإرجاع
WEAVE_NO_ERROR
النجاح. بخلاف ذلك، يمكنك عرض WEAVE_ERROR الذي يشير إلى تعذُّر إرسال رسالة الرد.
WEAVE_ERROR_INVALID_ARGUMENT
في حال عدم تطابق المعلمات المحدّدة
WEAVE_ERROR_NO_MEMORY
في حال تعذّر تخصيص المخزن المؤقت Inet.

ناشر DMDM

virtual  ~DMPublisher(
  void
)

دورال كائنات DMPublisher.

محو جميع الحالة الداخلية وإزالة المستمع من مدير التبادل في حال وجوده.