nl:: بافت:: پروفایل ها:: DataManagement_Legacy:: DMClient

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

کلاس پایه انتزاعی برای سرویس گیرندگان WDM ویژه برنامه.

خلاصه

DMClient مشتری استاندارد WDM است. پیاده سازی به صورت اختیاری شامل اشتراک/اعلان است. این ترکیبی از کلاس DM ProtocolEngine است که کام‌های crank-turning را مدیریت می‌کند و کلاس کاملاً انتزاعی ClientDataManager با برخی از روش‌های مربوط به اشتراک پیاده‌سازی شده‌اند تا لایه‌های بالاتر نگران آن‌ها نباشند.

کنترل کننده های وظایف مربوط به اشتراک عمدتاً به عنوان یک آداپتور نازک روی شی ClientNotifier عمل می کنند. پیاده‌کننده‌های کلاس فرعی باید مراقب باشند که روش‌های فوق‌کلاس مربوطه را فراخوانی کنند تا مدیریت اشتراک را به‌هم بزنند.

روش‌های درخواست DMClient معمولاً دارای ۲ امضا هستند، یکی با شناسه گره مقصد صریح و دیگری با یک مقصد مشخص. در هر صورت، توانایی ارسال پیام به یک ناشر به یک اتصال از قبل موجود در مشتری بستگی دارد، اما در مورد اول، شناسه مقصد برای انتخاب بین مقصد چندگانه و در مورد دوم، مقصد اول در نظر گرفته شده است. مورد در جدول صحافی به عنوان پیش فرض انتخاب شده است. برای مثال، اگر مشتری فقط به یک ناشر محدود شود، این کار مفید است.

وراثت

ارث می برد از:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

سازندگان و ویرانگرها

DMClient (void)
سازنده پیش فرض برای اشیاء DMClient .
~DMClient (void)
تخریب کننده برای اشیاء DMClient .
ViewRequest (const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
درخواست مشاهده داده های منتشر شده
ViewRequest ( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
درخواست مشاهده داده‌ها در ناشر پیش‌فرض.
UpdateRequest (const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
درخواست به روز رسانی داده های منتشر شده.
UpdateRequest ( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
درخواست به‌روزرسانی داده‌ها در ناشر پیش‌فرض.

ویژگی های محافظت شده

mUpdatePool [kUpdatePoolSize]
mViewPool [kViewPoolSize]

توابع عمومی

CancelTransactionRequest (uint16_t aTxnId, WEAVE_ERROR aError)
درخواست کنید که یک تراکنش در حال اجرا لغو شود.
Clear (void)
virtual void
حالت داخلی مرتبط با یک شی DMClient را پاک کنید.
Finalize (void)
virtual void
یک DMClient در حال کار را خاموش کنید.
IncompleteIndication ( Binding *aBinding, StatusReport & aReport)
virtual void
رسیدگی به "ناقص" یک اتصال در حال استفاده توسط مشتری.

توابع محافظت شده

NewUpdate (void)
NewView (void)
View *

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

درخواست مشاهده داده های منتشر شده

نمایی از داده‌های موجود در ناشر از راه دور مشخص شده و مدیریت آن را درخواست کنید.

جزئیات
مولفه های
[in] aDestinationId
ارجاع به شناسه گره 64 بیتی ناشر راه دور.
[in] aPathList
ارجاع به یک شی ReferencedTLVData حاوی یک لیست مسیر کدگذاری شده با TLV که داده های درخواستی را نشان می دهد.
[in] aTxnId
یک شناسه برای تراکنش WDM که برای مدیریت این عملیات مشاهده تنظیم شده است.
[in] aTimeout
حداکثر زمان در میلی ثانیه برای منتظر ماندن برای پاسخ نمایش.
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت
WEAVE_ERROR_NO_MEMORY
اگر تراکنش قابل تخصیص نبود.
برمی گرداند
در غیر این صورت، یک WEAVE_ERROR که منعکس کننده شکست اولیه یا شروع تراکنش است.

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

درخواست مشاهده داده‌ها در ناشر پیش‌فرض.

نمایی از داده‌های موجود و مدیریت شده توسط ناشر «پیش‌فرض»، یعنی اولین (یا تنها) ناشر در جدول صحافی مشتری، درخواست کنید.

جزئیات
مولفه های
[in] aPathList
ارجاع به یک شی ReferencedTLVData حاوی یک لیست مسیر کدگذاری شده با TLV که داده های درخواستی را نشان می دهد.
[in] aTxnId
یک شناسه برای تراکنش WDM که برای مدیریت این عملیات مشاهده تنظیم شده است.
[in] aTimeout
حداکثر زمان در میلی ثانیه برای منتظر ماندن برای پاسخ نمایش.
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت
WEAVE_ERROR_NO_MEMORY
اگر تراکنش قابل تخصیص نبود.
برمی گرداند
در غیر این صورت، یک WEAVE_ERROR که منعکس کننده شکست اولیه یا شروع تراکنش است.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

درخواست به روز رسانی داده های منتشر شده.

درخواست کنید که یک ناشر راه دور داده ها را تحت مدیریت به روز کند.

جزئیات
مولفه های
[in] aDestinationId
ارجاع به شناسه گره 64 بیتی ناشر راه دوری که درخواست به آن ارسال می شود.
[in] aDataList
یک ارجاع به یک شی ReferencedTLVData حاوی یک لیست داده کدگذاری شده با TLV که حاوی نمایشی از به روز رسانی شامل مسیرهایی است که به روز رسانی باید برای آنها اعمال شود.
[in] aTxnId
یک شناسه برای تراکنش که برای مدیریت درخواست به‌روزرسانی تنظیم شده است.
[in] aTimeout
حداکثر زمان در میلی ثانیه برای انتظار برای گزارش وضعیت مربوطه.
برمی گرداند
WEAVE_NO_ERROR در صورت موفقیت یا WEAVE_ERROR_NO_MEMORY اگر تراکنش به‌روزرسانی تخصیص داده نشد. در غیر این صورت، یک WEAVE_ERROR که نشان دهنده شکست به‌روزرسانی است، برگردانید.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

درخواست به‌روزرسانی داده‌ها در ناشر پیش‌فرض.

درخواست کنید که یک ناشر راه دور داده ها را تحت مدیریت به روز کند. این نسخه درخواست را به ناشر که هدف اتصال پیش فرض مشتری است هدایت می کند.

جزئیات
مولفه های
[in] aDataList
یک ارجاع به یک شی ReferencedTLVData حاوی یک لیست داده کدگذاری شده با TLV که حاوی نمایشی از به روز رسانی شامل مسیرهایی است که به روز رسانی باید برای آنها اعمال شود.
[in] aTxnId
یک شناسه برای تراکنش که برای مدیریت درخواست به‌روزرسانی تنظیم شده است.
[in] aTimeout
حداکثر زمان در میلی ثانیه برای انتظار برای گزارش وضعیت مربوطه.
برمی گرداند
WEAVE_NO_ERROR در صورت موفقیت یا WEAVE_ERROR_NO_MEMORY اگر تراکنش به‌روزرسانی تخصیص داده نشد. در غیر این صورت، یک WEAVE_ERROR که نشان دهنده شکست به‌روزرسانی است، برگردانید.

ویژگی های محافظت شده

mUpdatePool

Update mUpdatePool[kUpdatePoolSize]

mViewPool

View mViewPool[kViewPoolSize]

توابع عمومی

Cancel TransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

درخواست کنید که یک تراکنش در حال اجرا لغو شود.

این روش ترافیک شبکه ایجاد نمی کند، بلکه فقط منابع اختصاص داده شده برای تراکنش(های) مشخص شده را آزاد می کند.

جزئیات
مولفه های
[in] aTxnId
شماره معامله ای که باید لغو شود. اگر kTransactionIdNotSpecified ارائه شود، همه تراکنش‌ها لغو خواهند شد.
[in] aError
WEAVE_ERROR برای گزارش هنگام لغو تراکنش.
برمی گرداند
WEAVE_NO_ERROR در مورد موفقیت یا WEAVE_ERROR که منعکس کننده عدم موفقیت در لغو تراکنش است.

پاک کردن

virtual void Clear(
  void
)

حالت داخلی مرتبط با یک شی DMClient را پاک کنید.

به ویژه، این روش تمام استخرهای تراکنش مشتری را پاک می کند. برای مشتریانی که از متد Finalize() استفاده می‌کنند، ترجیح داده می‌شود زیرا اشتراک‌ها را نیز لغو می‌کند و جداول تراکنش و binding را پاک می‌کند.

همچنین ببینید:
نهایی کردن()

DMClient

 DMClient(
  void
)

سازنده پیش فرض برای اشیاء DMClient .

تمام حالت های داخلی را پاک می کند. یک DMClient قبل از استفاده به مقداردهی اولیه بیشتر با Init() نیاز دارد.

نهایی کردن

virtual void Finalize(
  void
)

یک DMClient در حال کار را خاموش کنید.

تمام وضعیت عملیاتی مرتبط با کلاینت را پاک می کند و همه اشتراک های مرتبط را از اعلان کننده حذف می کند. پس از فراخوانی Finalize() یک DMClient ممکن است به سادگی با فراخوانی Init() مجدداً راه اندازی شود. Finalize() توسط ویرانگر DMClient فراخوانی می شود، اما ممکن است در مواردی که DMClient نیاز به پاکسازی داشته باشد، فراخوانی شود، به عنوان مثال در صورت خرابی یا خاموش شدن موقت، اما ممکن است در زمان دیگری نیاز به بازسازی داشته باشد.

نشان ناقص

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

رسیدگی به "ناقص" یک اتصال در حال استفاده توسط مشتری.

هنگامی که یک اتصال به طور غیرمنتظره ای از کار می افتد، به عنوان مثال اگر اتصال درگیر در اتصال بسته شود، این روش فراخوانی می شود.

جزئیات
مولفه های
[in] aBinding
اشاره گر به Binding که ناقص شده است.
[in] aReport
ارجاع به یک گزارش وضعیت که دلیلی برای شکست ارائه می دهد.

~DMClient

virtual  ~DMClient(
  void
)

تخریب کننده برای اشیاء DMClient .

تمام وضعیت داخلی را پاک می کند و در صورت لزوم اشتراک های معلق را لغو می کند.

توابع محافظت شده

به روز رسانی جدید

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)