ไม่มี:: สาน:: โปรไฟล์:: 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) | ขอการเชื่อมโยงโดยใช้เพียร์โหนด 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) | 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 :: DMTransaction |
คุณสมบัติที่ได้รับการป้องกัน
mBindingTable
Binding mBindingTable[kBindingTableSize]
ProtocolEngine มีตารางผูกพันว่าถ้าเครื่องยนต์จะเป็นผู้รับผิดชอบในการอะไรมากกว่าแค่การรับการแจ้งเตือนการออกอากาศอาจจะต้องมีอย่างน้อยหนึ่งรายการ
โดยทั่วไปการโยงจะถูกสร้างดัชนีโดย ID โหนด สิ่งนี้หมายความว่าแต่ละเอ็นจิ้นสามารถผูกกับจุดปลายบริการที่กำหนดได้เพียงจุดเดียว
ข้อกำหนด 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 )
ขอการเชื่อมโยงโดยใช้เพียร์โหนด ID ที่รู้จักและตัวระบุการขนส่ง
ระบุเพียร์โหนด ID และข้อกำหนดการขนส่ง คำขอนี้ตั้งค่าการเชื่อมโยงไปยังเพียร์นั้น การประมูลจะต้องดำเนินการให้เสร็จสิ้นเพิ่มเติมก็ต่อเมื่อการขนส่งเป็น 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 ถ้าตารางผูกพันที่เต็มไปด้วย มิฉะนั้น ส่งคืนข้อผิดพลาดที่แสดงถึงความล้มเหลวในการเริ่มต้นการผูก |
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
จัดการข้อบ่งชี้ว่าการผูกล้มเหลว
เมื่อการรวมไม่สมบูรณ์ กล่าวคือ เมื่อการเชื่อมต่อถูกปิดสำหรับการผูก TCP เอ็นจิ้นโปรโตคอลจะต้องล้มเหลวในการทำธุรกรรมใด ๆ ที่ขึ้นอยู่กับมัน ซึ่งรวมถึงการโทรตัวจัดการสถานะของพวกเขา นอกจากนี้ การบ่งชี้ที่ไม่สมบูรณ์จะถูกส่งไปยังอ็อบเจ็กต์ซูเปอร์คลาสใดๆ ที่ใช้รูปแบบทางเลือกของเมธอดนี้ซึ่งรับเพียร์ ID
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
IncompleteIndication
virtual void IncompleteIndication( const uint64_t & aPeerNodeId, StatusReport & aReport )=0
จัดการกับข้อบ่งชี้ว่าการผูกมัดไม่สมบูรณ์
เลเยอร์ที่สูงกว่าที่ต้องการรับแจ้งความล้มเหลวในการผูกควรใช้วิธีนี้ ซึ่งเพียงแค่ส่งรหัสเพียร์ไปพร้อมกับรายงานสถานะ ในความเป็นจริงเนื่องจากวิธีนี้เป็นเสมือนโมฆะใด ๆ DMClient หรือ DMPublisher subclass ต้องจัดให้มีการดำเนินงาน
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
ในนั้น
virtual WEAVE_ERROR Init( WeaveExchangeManager *aExchangeMgr )
ในนั้น
virtual WEAVE_ERROR Init( WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout )
ProtocolEngine
ProtocolEngine( void )
ยกเลิกการผูกคำขอ
void UnbindRequest( const uint64_t & aPeerNodeId )
ขอให้ยกเลิกการผูกและลบออกจากตารางการผูก
เมื่อการผูกมัดเป็น "ไม่ผูกมัด" ธุรกรรมใด ๆ ที่ขึ้นอยู่กับปัจจุบันควรถูกลบออกเช่นกัน วิธีนี้จะสรุปธุรกรรมทั้งหมดที่มีการผูกมัดนี้โดยอัตโนมัติ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
UnbindRequest (const uint64_t, WEAVE_ERROR)
ยกเลิกการผูกคำขอ
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 )
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 )
FinalizeBindingTable
void FinalizeBindingTable( void )
FinalizeTransactionTable
void FinalizeTransactionTable( void )
จบธุรกรรม
void FinalizeTransactions( Binding *aBinding )
จากExchangeCtx
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 )
StatusResponse
WEAVE_ERROR StatusResponse( ExchangeContext *aExchangeCtx, StatusReport & aStatus )