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 :: DMPublisher
البنائين والمدمرين | |
---|---|
ProtocolEngine (void) | |
~ProtocolEngine (void) |
السمات المحمية | |
---|---|
mBindingTable [kBindingTableSize] | و ProtocolEngine يحتوي على جدول ملزم، إذا كان المحرك سوف يكون مسؤولا عن أي شيء أبعد من مجرد تلقي الإخطارات البث، وربما يحتاج لاحتواء إدخال واحد على الأقل. |
mExchangeMgr | |
mResponseTimeout | uint32_t |
mTransactionTable [kTransactionTableSize] |
الوظائف العامة | |
---|---|
BindConfirm ( Binding *aBinding) | virtual WEAVE_ERROR معالجة تأكيد أن طلب الربط قد اكتمل بنجاح. |
BindConfirm ( Binding *aBinding, StatusReport & aReport) | virtual WEAVE_ERROR معالجة تأكيد فشل طلب الربط. |
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) |
الطبقات | |
---|---|
نيكولا لانغ :: :: نسج الملامح :: :: DataManagement_Legacy ProtocolEngine :: DMTransaction |
السمات المحمية
mBindingTable
Binding mBindingTable[kBindingTableSize]
و ProtocolEngine يحتوي على جدول ملزم، إذا كان المحرك سوف يكون مسؤولا عن أي شيء أبعد من مجرد تلقي الإخطارات البث، وربما يحتاج لاحتواء إدخال واحد على الأقل.
يتم فهرسة الارتباطات بشكل عام بواسطة معرف العقدة. ما يعنيه هذا هو أن كل محرك يمكن أن يكون له ارتباط واحد فقط بنقطة نهاية خدمة معينة.
تحتوي مواصفات WDM على فكرة "الربط الافتراضي" وهي مكان إرسال رسائل إذا لم يتم توفير وجهة صريحة. سيتم استخدام هذا في الغالب في أجهزة بسيطة للغاية مع رابط واحد أو عدد صغير من الارتباطات ، ولأغراض أخرى ، سيكون أول رابط تم تكوينه.
mExchangeMgr
WeaveExchangeManager * mExchangeMgr
mResponseTimeout
uint32_t mResponseTimeout
mTransactionTable
TransactionTableEntry mTransactionTable[kTransactionTableSize]
الوظائف العامة
BindConfirm
virtual WEAVE_ERROR BindConfirm( Binding *aBinding )
معالجة تأكيد أن طلب الربط قد اكتمل بنجاح.
بمجرد اكتمال الربط ، يمر محرك البروتوكول عبر جدول المعاملات ويبدأ أي معاملات تعتمد على هذا الربط.
تفاصيل | |||
---|---|---|---|
المعلمات |
| ||
عائدات | WEAVE_NO_ERROR على النجاح. وإلا إرجاع WEAVE_ERROR يعكس عدم القدرة على بدء معاملة. |
BindConfirm
virtual WEAVE_ERROR BindConfirm( Binding *aBinding, StatusReport & aReport )
معالجة تأكيد فشل طلب الربط.
عندما يفشل طلب الربط ، يجب أن يمر محرك البروتوكول عبر جدول المعاملات ويفشل أي معاملات اعتمادًا على الربط.
تفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
| ||||
عائدات |
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 يعكس فشل عملية الربط. |
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)
~ ProtocolEngine
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 )
المعاملات الفاشلة
bool FailTransactions( Binding *aBinding, StatusReport & aReport )
وضع اللمسات الأخيرة
virtual void Finalize( void )
وضع اللمسات الأخيرة على الجدول
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 )
ابدأ المعاملة
WEAVE_ERROR StartTransaction( DMTransaction *aTransaction, Binding *aBinding )
ابدأ المعاملة
WEAVE_ERROR StartTransaction( DMTransaction *aTransaction )
الحالة: الاستجابة
WEAVE_ERROR StatusResponse( ExchangeContext *aExchangeCtx, StatusReport & aStatus )
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجّلة لشركة Oracle و/أو شركائها التابعين، وThread هي علامة تجارية مسجّلة لشركة .Thread Group, Inc.
تاريخ التعديل الأخير: 2018-06-05 (حسب التوقيت العالمي المتفَّق عليه)