nl:: بافت:: پروفایل ها:: DataManagement_Legacy:: ProtocolEngine
این یک کلاس انتزاعی است.#include <src/lib/profiles/data-management/Legacy/ProtocolEngine.h>
کلاس موتور پروتکل WDM.
خلاصه
یک نهاد مدیریت داده، مشتری یا ناشر، دارای یک جزء موتور پروتکل و یک جزء مدیر داده است. این کلاس انتزاعی ویژگی های مشترک موتور پروتکل را نشان می دهد.
ارث
زیر کلاس های مستقیم شناخته شده:nl::Weave::Profiles::DataManagement_Legacy::DMClient
nl::Weave::Profiles::DataManagement_Legacy::DMPpublisher
سازندگان و ویرانگرها | |
---|---|
ProtocolEngine (void) | |
~ProtocolEngine (void) |
ویژگی های محافظت شده | |
---|---|
mBindingTable [kBindingTableSize] | ProtocolEngine یک جدول الزام آور دارد که اگر موتور قرار است مسئول هر چیزی فراتر از دریافت اعلان های پخش باشد، احتمالاً باید حداقل یک ورودی داشته باشد. |
mExchangeMgr | |
mResponseTimeout | uint32_t |
mTransactionTable [kTransactionTableSize] |
توابع عمومی | |
---|---|
BindConfirm ( Binding *aBinding) | virtual WEAVE_ERROR تأییدیه که یک درخواست bind با موفقیت تکمیل شده است را کنترل کنید. |
BindConfirm ( Binding *aBinding, StatusReport & aReport) | virtual WEAVE_ERROR تأییدیه عدم موفقیت درخواست bind را کنترل کنید. |
BindRequest (const uint64_t & aPeerNodeId, uint8_t aTransport) | با استفاده از شناسه گره همتا شناخته شده و مشخص کننده انتقال، یک اتصال درخواست کنید. |
BindRequest (const uint64_t & aPeerNodeId) | با استفاده از انتقال پیشفرض به یک همتای شناخته شده متصل شوید. |
BindRequest ( nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode) | |
BindRequest ( WeaveConnection *aConnection) | با استفاده از یک اتصال Weave فعال، اتصال را درخواست کنید. |
IncompleteIndication ( Binding *aBinding, StatusReport & aReport) | virtual void نشانی از عدم موفقیت اتصال را مدیریت کنید. |
IncompleteIndication (const uint64_t & aPeerNodeId, StatusReport & aReport)=0 | virtual void نشانی از ناقص شدن یک صحافی را کنترل کنید. |
Init ( WeaveExchangeManager *aExchangeMgr) | virtual WEAVE_ERROR |
Init ( WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout) | virtual WEAVE_ERROR |
UnbindRequest (const uint64_t & aPeerNodeId) | void درخواست کنید که یک صحافی لغو شود و از جدول صحافی حذف شود. |
UnbindRequest (const uint64_t & aPeerNodeId, WEAVE_ERROR aErr) | void درخواست کنید که یک صحافی لغو شود و از جدول صحافی حذف شود. |
توابع محافظت شده | |
---|---|
Clear (void) | void |
ClearBindingTable (void) | void |
ClearTransactionTable (void) | void |
DequeueTransaction ( DMTransaction *aTransaction) | void |
EnqueueTransaction ( DMTransaction *aTransaction, Binding *aBinding) | |
EnqueueTransaction ( DMTransaction *aTransaction) | |
FailTransactions ( Binding *aBinding, StatusReport & aReport) | bool |
Finalize (void) | virtual void |
FinalizeBindingTable (void) | void |
FinalizeTransactionTable (void) | void |
FinalizeTransactions ( Binding *aBinding) | void |
FromExchangeCtx ( ExchangeContext *aExchangeCtx) | Binding * |
GetBinding (const uint64_t & aPeerNodeId) | Binding * |
NewBinding (void) | Binding * |
StartTransaction ( DMTransaction *aTransaction, Binding *aBinding) | |
StartTransaction ( DMTransaction *aTransaction) | |
StatusResponse ( ExchangeContext *aExchangeCtx, StatusReport & aStatus) |
کلاس ها | |
---|---|
nl:: Weave:: پروفایل ها:: DataManagement_Legacy:: ProtocolEngine:: DMTtransaction |
ویژگی های محافظت شده
mBindingTable
Binding mBindingTable[kBindingTableSize]
ProtocolEngine یک جدول الزام آور دارد که اگر موتور قرار است مسئول هر چیزی فراتر از دریافت اعلان های پخش باشد، احتمالاً باید حداقل یک ورودی داشته باشد.
اتصالات به طور کلی توسط شناسه گره ایندکس می شوند. این بدان معنی است که هر موتور فقط می تواند یک اتصال واحد به یک نقطه پایانی سرویس داشته باشد.
مشخصات WDM دارای مفهوم "پیوند پیش فرض" است که در صورت عدم ارائه مقصد صریح، مکانی است که پیام ها می روند. این بیشتر در دستگاههای بسیار ساده با یک صحافی یا تعداد کمی صحافی استفاده میشود و برای اهداف دیگر، اولین اتصال تشکیلشده است.
mExchangeMgr
WeaveExchangeManager * mExchangeMgr
mResponseTimeout
uint32_t mResponseTimeout
mTransactionTable
TransactionTableEntry mTransactionTable[kTransactionTableSize]
توابع عمومی
BindConfirm
virtual WEAVE_ERROR BindConfirm( Binding *aBinding )
تأییدیه که یک درخواست bind با موفقیت تکمیل شده است را کنترل کنید.
هنگامی که یک اتصال کامل شد، موتور پروتکل از جدول تراکنش می گذرد و هر تراکنش وابسته به آن اتصال را شروع می کند.
جزئیات | |||
---|---|---|---|
پارامترها |
| ||
برمی گرداند | WEAVE_NO_ERROR در موفقیت. در غیر این صورت یک WEAVE_ERROR نشان دهنده ناتوانی در شروع یک تراکنش است. |
BindConfirm
virtual WEAVE_ERROR BindConfirm( Binding *aBinding, StatusReport & aReport )
تأییدیه عدم موفقیت درخواست bind را کنترل کنید.
هنگامی که یک درخواست bind با شکست مواجه می شود، موتور پروتکل باید از جدول تراکنش عبور کند و بسته به اتصال، هر تراکنش را با شکست مواجه کند.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
برمی گرداند |
BindRequest
WEAVE_ERROR BindRequest( const uint64_t & aPeerNodeId, uint8_t aTransport )
با استفاده از شناسه گره همتا شناخته شده و مشخص کننده انتقال، یک اتصال درخواست کنید.
با توجه به شناسه گره همتا و مشخصات حمل و نقل، این درخواست یک اتصال برای آن همتا تنظیم می کند. فقط در صورتی که حمل و نقل TCP باشد، مناقصه به تکمیل اضافی نیاز دارد. اگر یک اتصال به همتا از قبل وجود داشته باشد، دوباره استفاده می شود.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
برمی گرداند | WEAVE_NO_ERROR در موفقیت یا WEAVE_ERROR_NO_MEMORY اگر جدول صحافی پر است. در غیر این صورت یک WEAVE_ERROR را بازگردانید که نشان دهنده شکست در اولیه سازی اتصال است. |
WeaveTransportOption
BindRequest
WEAVE_ERROR BindRequest( const uint64_t & aPeerNodeId )
با استفاده از انتقال پیشفرض به یک همتای شناخته شده متصل شوید.
جزئیات | |||
---|---|---|---|
پارامترها |
| ||
برمی گرداند | WEAVE_NO_ERROR در موفقیت. در غیر این صورت یک WEAVE_ERROR که منعکس کننده شکست عملیات bind است را برگردانید. |
BindRequest
WEAVE_ERROR BindRequest( nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode )
BindRequest
WEAVE_ERROR BindRequest( WeaveConnection *aConnection )
با استفاده از یک اتصال Weave فعال، اتصال را درخواست کنید.
یک اتصال همچنین ممکن است با استفاده از یک اتصال موجود و باز ایجاد شود. توجه داشته باشید که اتصالاتی که به این روش ایجاد می شوند نیازی به تکمیل اضافی ندارند.
جزئیات | |||
---|---|---|---|
پارامترها |
| ||
برمی گرداند | WEAVE_NO_ERROR در موفقیت یا WEAVE_ERROR_NO_MEMORY اگر جدول صحافی پر است. در غیر این صورت خطایی را بازگردانید که منعکس کننده شکست در اولیه سازی اتصال است. |
نشان ناقص
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
نشانی از عدم موفقیت اتصال را مدیریت کنید.
هنگامی که یک اتصال ناقص می شود، یعنی زمانی که اتصال برای اتصال TCP بسته می شود، موتور پروتکل باید هر تراکنش وابسته به آن را از بین ببرد، که شامل فراخوانی کنترل کننده های وضعیت آنها نیز می شود. همچنین، نشانه ناقص به هر شیء سوپرکلاسی که شکل جایگزین این روش را که یک شناسه همتا می گیرد، اجرا می کند، ارسال می شود.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
|
نشان ناقص
virtual void IncompleteIndication( const uint64_t & aPeerNodeId, StatusReport & aReport )=0
نشانی از اینکه یک صحافی ناقص شده است را کنترل کنید.
لایههای بالاتری که میخواهند از شکست اتصال مطلع شوند باید از این روش استفاده کنند، که به سادگی شناسه همتا را همراه با گزارش وضعیت ارسال میکند. در واقع، از آنجایی که این روش خالی از اعتبار است، هر زیر کلاس DMClient یا DMPublisher باید یک پیاده سازی ارائه دهد.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
|
شروع کنید
virtual WEAVE_ERROR Init( WeaveExchangeManager *aExchangeMgr )
شروع کنید
virtual WEAVE_ERROR Init( WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout )
ProtocolEngine
ProtocolEngine( void )
UnbindRequest
void UnbindRequest( const uint64_t & aPeerNodeId )
درخواست کنید که یک صحافی لغو شود و از جدول صحافی حذف شود.
هنگامی که یک اتصال "بدون قید" است، هر تراکنشی که در حال حاضر به آن وابسته است نیز باید حذف شود. این روش تمام تراکنش ها را با این اتصال به صورت خودکار نهایی می کند.
جزئیات | |||
---|---|---|---|
پارامترها |
|
UnbindRequest(const uint64_t، WEAVE_ERROR)
UnbindRequest
void UnbindRequest( const uint64_t & aPeerNodeId, WEAVE_ERROR aErr )
درخواست کنید که یک صحافی لغو شود و از جدول صحافی حذف شود.
هنگامی که یک اتصال "بدون قید" است، هر تراکنشی که در حال حاضر به آن وابسته است نیز باید حذف شود. این روش تمام تراکنش ها را با این اتصال به صورت خودکار نهایی می کند.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
|
UnbindRequest(const uint64_t)
~موتور پروتکل
virtual ~ProtocolEngine( void )
توابع محافظت شده
پاک کردن
void Clear( void )
ClearBindingTable
void ClearBindingTable( void )
ClearTransactionTable
void ClearTransactionTable( void )
DequeueTransaction
void DequeueTransaction( DMTransaction *aTransaction )
EnqueueTransaction
WEAVE_ERROR EnqueueTransaction( DMTransaction *aTransaction, Binding *aBinding )
EnqueueTransaction
WEAVE_ERROR EnqueueTransaction( DMTransaction *aTransaction )
Fail Transactions
bool FailTransactions( Binding *aBinding, StatusReport & aReport )
نهایی کردن
virtual void Finalize( void )
FinalizeBindingTable
void FinalizeBindingTable( void )
Finalize TransactionTable
void FinalizeTransactionTable( void )
نهایی کردن معاملات
void FinalizeTransactions( Binding *aBinding )
FromExchangeCtx
Binding * FromExchangeCtx( ExchangeContext *aExchangeCtx )
GetBinding
Binding * GetBinding( const uint64_t & aPeerNodeId )
NewBinding
Binding * NewBinding( void )
StartTransaction
WEAVE_ERROR StartTransaction( DMTransaction *aTransaction, Binding *aBinding )
StartTransaction
WEAVE_ERROR StartTransaction( DMTransaction *aTransaction )
StatusResponse
WEAVE_ERROR StatusResponse( ExchangeContext *aExchangeCtx, StatusReport & aStatus )
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2024-11-12 بهوقت ساعت هماهنگ جهانی.