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 จะต้องมีการติดตั้งใช้งาน
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
เริ่มต้น
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)
~โปรโตคอล
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 )