nl:: बुनें:: प्रोफाइल:: डेटा प्रबंधन_विरासत:: प्रोटोकॉल इंजन

यह एक अमूर्त वर्ग है।

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

WDM प्रोटोकॉल इंजन वर्ग।

सारांश

एक डेटा प्रबंधन इकाई, क्लाइंट या प्रकाशक, में एक प्रोटोकॉल इंजन घटक और एक डेटा प्रबंधक घटक होता है। यह अमूर्त वर्ग प्रोटोकॉल इंजन की सामान्य विशेषताओं का प्रतिनिधित्व करता है।

विरासत

प्रत्यक्ष ज्ञात उपवर्ग:
  nl::Weave::Profiles::DataManagement_Legacy::DMClient
  nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

निर्माता और विनाशक De

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)
एक सक्रिय वीव कनेक्शन का उपयोग करके एक बाइंडिंग का अनुरोध करें।
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)
GetBinding (const uint64_t & aPeerNodeId)
NewBinding (void)
StartTransaction ( DMTransaction *aTransaction, Binding *aBinding)
StartTransaction ( DMTransaction *aTransaction)
StatusResponse ( ExchangeContext *aExchangeCtx, StatusReport & aStatus)

कक्षाओं

nl :: Weave :: प्रोफाइल :: DataManagement_Legacy :: ProtocolEngine :: DMTransaction

संरक्षित गुण

एमबाइंडिंगटेबल

Binding mBindingTable[kBindingTableSize]

ProtocolEngine एक बाध्यकारी तालिका है कि, अगर इंजन बस प्रसारण सूचनाएं प्राप्त करने परे कुछ भी करने के लिए जिम्मेदार होने जा रहा है, शायद कम से कम एक प्रवेश को रोकने के लिए की जरूरत है।

बाइंडिंग को आमतौर पर नोड आईडी द्वारा अनुक्रमित किया जाता है। इसका मतलब यह है कि प्रत्येक इंजन में किसी दिए गए सेवा समापन बिंदु के लिए केवल एक ही बंधन हो सकता है।

WDM विनिर्देश में "डिफ़ॉल्ट बाइंडिंग" की यह धारणा है, जो वह स्थान है जहां संदेश जाते हैं यदि कोई स्पष्ट गंतव्य प्रदान नहीं किया जाता है। यह ज्यादातर एक ही बंधन या कम संख्या में बाइंडिंग के साथ बहुत ही सरल उपकरणों में उपयोग किया जाएगा और, अन्य उद्देश्यों के लिए, केवल पहला बंधन होगा।

एमएक्सचेंजएमजीआर

WeaveExchangeManager * mExchangeMgr

एम रिस्पांसटाइमआउट

uint32_t mResponseTimeout

एमट्रांसेक्शनटेबल

TransactionTableEntry mTransactionTable[kTransactionTableSize]

सार्वजनिक समारोह

बाइंडकन्फर्म

virtual WEAVE_ERROR BindConfirm(
  Binding *aBinding
)

पुष्टि संभाल लें कि एक बाइंड अनुरोध सफलतापूर्वक पूरा हो गया है।

एक बार बाध्यकारी पूरा हो जाने के बाद, प्रोटोकॉल इंजन लेनदेन तालिका के माध्यम से जाता है और उस बंधन पर निर्भर किसी भी लेनदेन को शुरू करता है।

विवरण
मापदंडों
[in] aBinding
पूर्ण बंधन के लिए एक सूचक।
रिटर्न
WEAVE_NO_ERROR सफलता पर। अन्यथा एक वापसी WEAVE_ERROR एक सौदे शुरू करने में असमर्थता को दर्शाती है।

बाइंडकन्फर्म

virtual WEAVE_ERROR BindConfirm(
  Binding *aBinding,
  StatusReport & aReport
)

पुष्टि संभाल लें कि बाइंड अनुरोध विफल हो गया है।

जब एक बाइंड अनुरोध विफल हो जाता है, तो प्रोटोकॉल इंजन को लेनदेन तालिका के माध्यम से जाना चाहिए और बाध्यकारी के आधार पर किसी भी लेनदेन को विफल करना चाहिए।

विवरण
मापदंडों
[in] aBinding
असफल बंधन के लिए एक सूचक।
[in] aReport
StatusReport ऑब्जेक्ट का एक संदर्भ विफलता के कारण का विवरण देता है।
रिटर्न

BindRequest

WEAVE_ERROR BindRequest(
  const uint64_t & aPeerNodeId,
  uint8_t aTransport
)

ज्ञात पीयर नोड आईडी और ट्रांसपोर्ट स्पेसिफायर का उपयोग करके बाइंडिंग का अनुरोध करें।

एक सहकर्मी नोड आईडी और एक परिवहन विनिर्देश को देखते हुए यह अनुरोध उस सहकर्मी के लिए बाध्यकारी स्थापित करता है। परिवहन टीसीपी होने पर ही बोली को अतिरिक्त पूरा करने की आवश्यकता होगी। यदि पीयर के लिए बाध्यकारी पहले से मौजूद है, तो इसका पुन: उपयोग किया जाता है।

विवरण
मापदंडों
[in] aPeerNodeId
पीयर एंटिटी के 64-बिट नोड आईडी का संदर्भ जो बाध्यकारी लक्ष्य है।
[in] aTransport
उपयोग करने के लिए परिवहन।
रिटर्न
WEAVE_NO_ERROR सफलता या पर WEAVE_ERROR_NO_MEMORY अगर बाध्यकारी तालिका भरा हुआ है। अन्यथा एक वापसी WEAVE_ERROR बाध्यकारी प्रारंभ करने में विफलता को दर्शाती है।
यह सभी देखें:
बुनाई परिवहन विकल्प

BindRequest

WEAVE_ERROR BindRequest(
  const uint64_t & aPeerNodeId
)

डिफ़ॉल्ट परिवहन का उपयोग करके किसी ज्ञात सहकर्मी से जुड़ें।

विवरण
मापदंडों
[in] aPeerNodeId
पीयर एंटिटी के 64-बिट नोड आईडी का संदर्भ जो बाध्यकारी लक्ष्य है।
रिटर्न
WEAVE_NO_ERROR सफलता पर। अन्यथा एक वापसी WEAVE_ERROR बाँध आपरेशन की विफलता को दर्शाती है।

BindRequest

WEAVE_ERROR BindRequest(
  nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr,
  WeaveAuthMode aAuthMode
)

BindRequest

WEAVE_ERROR BindRequest(
  WeaveConnection *aConnection
)

एक सक्रिय वीव कनेक्शन का उपयोग करके एक बाइंडिंग का अनुरोध करें।

एक मौजूदा, और खुले, कनेक्शन का उपयोग करके एक बंधन भी स्थापित किया जा सकता है। ध्यान दें कि इस तरह से स्थापित बाइंडिंग के लिए अतिरिक्त पूर्णता की आवश्यकता नहीं है।

विवरण
मापदंडों
[in] aConnection
बाइंडिंग द्वारा उपयोग किए जाने वाले वेव कनेक्शन का सूचक।
रिटर्न
WEAVE_NO_ERROR सफलता या पर WEAVE_ERROR_NO_MEMORY अगर बाध्यकारी तालिका भरा हुआ है। अन्यथा बाध्यकारी प्रारंभ करने में विफलता को दर्शाने वाली त्रुटि लौटाएं।

अधूरा संकेत

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

एक संकेत संभाल लें कि एक बंधन विफल हो गया है।

जब कोई बाइंडिंग अधूरा हो जाता है, अर्थात जब टीसीपी बाइंडिंग के लिए कनेक्शन बंद हो जाता है, तो प्रोटोकॉल इंजन को उस पर निर्भर किसी भी लेनदेन को विफल करना चाहिए, जिसमें उनके स्टेटस हैंडलर को कॉल करना शामिल है। साथ ही, अपूर्ण संकेत इस पद्धति के वैकल्पिक रूप को लागू करने वाले किसी भी सुपरक्लास ऑब्जेक्ट को दिया जाता है जो एक पीयर आईडी लेता है।

विवरण
मापदंडों
[in] aBinding
असफल बंधन के लिए एक सूचक।
[in] aReport
StatusReport ऑब्जेक्ट का एक संदर्भ विफलता के कारण का विवरण देता है।

अधूरा संकेत

virtual void IncompleteIndication(
  const uint64_t & aPeerNodeId,
  StatusReport & aReport
)=0

एक संकेत संभालें कि एक बंधन अधूरा हो गया है।

उच्च स्तर जो बाध्यकारी विफलता के बारे में सूचित करना चाहते हैं, उन्हें इस पद्धति का उपयोग करना चाहिए, जो केवल एक स्थिति रिपोर्ट के साथ पीयर आईडी को पास करता है। वास्तव में, के बाद से इस विधि आभासी शून्य है, किसी भी DMClient या DMPublisher उपवर्ग एक कार्यान्वयन प्रदान करनी चाहिए।

विवरण
मापदंडों
[in] aPeerNodeId
पीयर नोड या सर्विस एंडपॉइंट की 64-बिट आईडी का संदर्भ जो कि असफल बाइंडिंग का लक्ष्य है।
[in] aReport
StatusReport ऑब्जेक्ट का एक संदर्भ विफलता के कारण का विवरण देता है।

में इस

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

में इस

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

प्रोटोकॉल इंजन

 ProtocolEngine(
  void
)

अनबाइंडअनुरोध

void UnbindRequest(
  const uint64_t & aPeerNodeId
)

अनुरोध करें कि बाध्यकारी पूर्ववत हो और बाध्यकारी तालिका से हटा दिया जाए।

जब कोई बाध्यकारी "अनबाउंड" होता है तो वर्तमान में उस पर निर्भर किसी भी लेनदेन को भी हटा दिया जाना चाहिए। यह विधि स्वचालित रूप से इस बंधन के साथ सभी लेनदेन को अंतिम रूप देती है।

विवरण
मापदंडों
[in] aPeerNodeId
बाइंडिंग की पहचान करने वाले 64-बिट नोड आईडी या सर्विस एंडपॉइंट का संदर्भ।
यह सभी देखें:
UnbindRequest (स्थिरांक uint64_t, WEAVE_ERROR)

अनबाइंडअनुरोध

void UnbindRequest(
  const uint64_t & aPeerNodeId,
  WEAVE_ERROR aErr
)

अनुरोध करें कि बाध्यकारी पूर्ववत हो और बाध्यकारी तालिका से हटा दिया जाए।

जब कोई बाध्यकारी "अनबाउंड" होता है तो वर्तमान में उस पर निर्भर किसी भी लेनदेन को भी हटा दिया जाना चाहिए। यह विधि स्वचालित रूप से इस बंधन के साथ सभी लेनदेन को अंतिम रूप देती है।

विवरण
मापदंडों
[in] aPeerNodeId
बाइंडिंग की पहचान करने वाले 64-बिट नोड आईडी या सर्विस एंडपॉइंट का संदर्भ।
[in] aErr
WEAVE_NO_ERROR यदि इस अनबाइंड अनुरोध का कोई विशेष कारण नहीं है, अन्यथा त्रुटि का कारण नीचे दिया जाएगा।
यह सभी देखें:
UnbindRequest (स्थिरांक uint64_t)

~प्रोटोकॉलइंजन

virtual  ~ProtocolEngine(
  void
)

संरक्षित कार्य

स्पष्ट

void Clear(
  void
)

क्लियरबाइंडिंगटेबल

void ClearBindingTable(
  void
)

ClearTransactionTable

void ClearTransactionTable(
  void
)

Dequeueलेनदेन

void DequeueTransaction(
  DMTransaction *aTransaction
)

एनक्यू ट्रांजैक्शन

WEAVE_ERROR EnqueueTransaction(
  DMTransaction *aTransaction,
  Binding *aBinding
)

एनक्यू ट्रांजैक्शन

WEAVE_ERROR EnqueueTransaction(
  DMTransaction *aTransaction
)

विफल लेनदेन

bool FailTransactions(
  Binding *aBinding,
  StatusReport & aReport
)

अंतिम रूप

virtual void Finalize(
  void
)

अंतिम रूप दें बाध्यकारी तालिका

void FinalizeBindingTable(
  void
)

अंतिम रूप दें लेन-देन तालिका

void FinalizeTransactionTable(
  void
)

लेनदेन को अंतिम रूप दें

void FinalizeTransactions(
  Binding *aBinding
)

एक्सचेंजसीटीएक्स से

Binding * FromExchangeCtx(
  ExchangeContext *aExchangeCtx
)

गेट बाइंडिंग

Binding * GetBinding(
  const uint64_t & aPeerNodeId
)

न्यू बाइंडिंग

Binding * NewBinding(
  void
)

प्रारंभ लेनदेन

WEAVE_ERROR StartTransaction(
  DMTransaction *aTransaction,
  Binding *aBinding
)

प्रारंभ लेनदेन

WEAVE_ERROR StartTransaction(
  DMTransaction *aTransaction
)

स्थिति प्रतिक्रिया

WEAVE_ERROR StatusResponse(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)