透過集合功能整理內容 你可以依據偏好儲存及分類內容。

NL::編織::簡介:: DataManagement_Legacy::協議引擎

這是一個抽像類。

#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)
使用已知的對等節點 ID 和傳輸說明符請求綁定。
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)
GetBinding (const uint64_t & aPeerNodeId)
NewBinding (void)
StartTransaction ( DMTransaction *aTransaction, Binding *aBinding)
StartTransaction ( DMTransaction *aTransaction)
StatusResponse ( ExchangeContext *aExchangeCtx, StatusReport & aStatus)

班級

NL ::編織::概況:: DataManagement_Legacy :: ProtocolEngine :: DMTransaction

受保護的屬性

綁定表

Binding mBindingTable[kBindingTableSize]

ProtocolEngine有一個綁定表,如果發動機將是負責超出了簡單的接收廣播通知事情,可能需要至少包含一個條目。

綁定通常按節點 ID 進行索引。這意味著每個引擎只能綁定到給定的服務端點。

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 對象的引用。
退貨

綁定請求

WEAVE_ERROR BindRequest(
  const uint64_t & aPeerNodeId,
  uint8_t aTransport
)

使用已知的對等節點 ID 和傳輸說明符請求綁定。

給定對等節點 ID 和傳輸規範,此請求會建立與該對等節點的綁定。僅當傳輸是 TCP 時,投標才需要額外完成。如果已經存在與對等體的綁定,則重新使用它。

細節
參數
[in] aPeerNodeId
對作為綁定目標的對等實體的 64 位節點 ID 的引用。
[in] aTransport
要使用的傳輸。
退貨
WEAVE_NO_ERROR成功或WEAVE_ERROR_NO_MEMORY如果綁定表已滿。否則返回WEAVE_ERROR反映初始化失敗的結合。
也可以看看:
編織傳輸選項

綁定請求

WEAVE_ERROR BindRequest(
  const uint64_t & aPeerNodeId
)

使用默認傳輸綁定到已知對等方。

細節
參數
[in] aPeerNodeId
對作為綁定目標的對等實體的 64 位節點 ID 的引用。
退貨
WEAVE_NO_ERROR上的成功。否則返回WEAVE_ERROR反映綁定操作失敗。

綁定請求

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

綁定請求

WEAVE_ERROR BindRequest(
  WeaveConnection *aConnection
)

使用活動的 Weave 連接請求綁定。

也可以使用現有的、開放的連接來建立綁定。請注意,以這種方式建立的綁定不需要額外的完成。

細節
參數
[in] aConnection
綁定使用的指向 Weave 連接的指針。
退貨
WEAVE_NO_ERROR成功或WEAVE_ERROR_NO_MEMORY如果綁定表已滿。否則返回一個錯誤,反映初始化綁定失敗。

指示不全

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

處理綁定失敗的指示。

當綁定變得不完整時,即當 TCP 綁定的連接關閉時,協議引擎必須使依賴它的任何事務失敗,包括調用它們的狀態處理程序。此外,不完整的指示被傳遞到任何實現此方法的替代形式的超類對象,該方法採用對等 ID。

細節
參數
[in] aBinding
指向失敗綁定的指針。
[in] aReport
對詳細說明失敗原因的 StatusReport 對象的引用。

指示不全

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

處理綁定已不完整的指示。

想要被告知綁定失敗的高層應該使用這種方法,它只是傳遞對等 ID 和狀態報告。事實上,由於這種方法是虛擬無效,任何DMClientDMPublisher子類必須提供一個實現。

細節
參數
[in] aPeerNodeId
對作為失敗綁定目標的對等節點或服務端點的 64 位 ID 的引用。
[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 位節點 ID 或服務端點的引用。
也可以看看:
UnbindRequest(const uint64_t, WEAVE_ERROR)

解除綁定請求

void UnbindRequest(
  const uint64_t & aPeerNodeId,
  WEAVE_ERROR aErr
)

請求撤銷綁定並從綁定表中刪除綁定。

當綁定被“解除綁定”時,當前依賴於它的任何事務也應該被刪除。此方法自動完成具有此綁定的所有事務。

細節
參數
[in] aPeerNodeId
對標識綁定的 64 位節點 ID 或服務端點的引用。
[in] aErr
WEAVE_NO_ERROR 如果這個解綁請求沒有特定的原因,否則錯誤的原因會被傳遞下去。
也可以看看:
解除綁定請求(const uint64_t)

~協議引擎

virtual  ~ProtocolEngine(
  void
)

受保護的功能

清除

void Clear(
  void
)

清除綁定表

void ClearBindingTable(
  void
)

清除事務表

void ClearTransactionTable(
  void
)

出隊事務

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
)

FromExchangeCtx

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
)