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:: بافت:: پروفایل ها:: 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 )
FinalizeTransactionTable
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 )
جز در مواردی که غیر از این ذکر شده باشد، محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است و نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است. Thread علامت تجاری ثبتشده Thread Group, Inc است.
تاریخ آخرین بهروزرسانی 2018-06-05 بهوقت ساعت هماهنگ جهانی.