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