nl::Weave::Profiles::DataManagement_Legacy::DMClient

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

คลาสพื้นฐานแบบนามธรรมสำหรับไคลเอ็นต์ WDM เฉพาะแอปพลิเคชัน

สรุป

DMClient คือไคลเอ็นต์ WDM มาตรฐาน การติดตั้งใช้งานอาจรวมการสมัครใช้บริการ/การแจ้งเตือนด้วย โดยเป็นการผสมผสานคลาส DM ProtocolEngine ซึ่งจัดการการเปลี่ยนข้อเหวี่ยงการสื่อสาร และคลาส ClientDataManager ที่ล้วนแต่ครอบคลุมทั้งหมด โดยมีวิธีการที่เกี่ยวข้องกับการสมัครใช้บริการบางประการมาใช้เพื่อให้ชั้นที่สูงขึ้นไม่ต้องกังวลกับเรื่องนี้

ตัวแฮนเดิลสำหรับงานที่เกี่ยวข้องกับการสมัครใช้บริการส่วนใหญ่จะทำหน้าที่เป็นอะแดปเตอร์ขนาดเล็กเหนือออบเจ็กต์ ClientNotifier ผู้ติดตั้งใช้งานคลาสย่อยควรเรียกใช้เมธอด Super-Class ที่เกี่ยวข้องเพื่อเปลี่ยนตัวดำเนินการจัดการการสมัครใช้บริการ

โดยทั่วไปเมธอดคำขอ DMClient จะมีลายเซ็น 2 ลายเซ็น ลายเซ็นแรกมีรหัสโหนดปลายทางที่ชัดเจน ส่วนอีกลายเซ็นมีปลายทางที่ระบุ ในทั้ง 2 กรณี ความสามารถในการส่งข้อความถึงผู้เผยแพร่โฆษณาจะขึ้นอยู่กับการเชื่อมโยงที่มีอยู่แล้วในไคลเอ็นต์ แต่ในกรณีแรก รหัสปลายทางจะใช้เพื่อเลือกระหว่างปลายทางที่มีการเชื่อมโยงหลายรายการ และในกรณีที่ 2 ระบบจะเลือกรายการแรกในตารางการเชื่อมโยงเป็นค่าเริ่มต้น ซึ่งจะเป็นประโยชน์ เช่น ในกรณีที่ลูกค้าจะเชื่อมโยงกับผู้เผยแพร่โฆษณาเพียงรายเดียว

การสืบทอด

รับค่าจาก:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

ผู้ผลิตและผู้ทำลาย

DMClient(void)
ตัวสร้างเริ่มต้นสำหรับออบเจ็กต์ DMClient
~DMClient(void)
ตัวทำลายออบเจ็กต์ DMClient
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
ขอดูข้อมูลที่เผยแพร่
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
ขอมุมมองข้อมูลเกี่ยวกับผู้เผยแพร่โฆษณาเริ่มต้น
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
ขออัปเดตข้อมูลที่เผยแพร่แล้ว
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
ขออัปเดตข้อมูลในผู้เผยแพร่โฆษณาเริ่มต้น

แอตทริบิวต์ที่มีการป้องกัน

mUpdatePool[kUpdatePoolSize]
mViewPool[kViewPoolSize]

ฟังก์ชันสาธารณะ

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
ขอให้ยกเลิกธุรกรรมที่ดำเนินการอยู่
Clear(void)
virtual void
ล้างสถานะภายในที่เชื่อมโยงกับออบเจ็กต์ DMClient
Finalize(void)
virtual void
ปิด DMClient ที่ทํางานอยู่
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
จัดการกับ "ความสมบูรณ์" ของการเชื่อมโยงที่ไคลเอ็นต์ใช้งาน

ฟังก์ชันที่มีการป้องกัน

NewUpdate(void)
Update *
NewView(void)
View *

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

ขอดูข้อมูลที่เผยแพร่

ขอมุมมองข้อมูลที่อยู่ภายใต้และจัดการโดยผู้เผยแพร่ระยะไกลที่ระบุ

รายละเอียด
พารามิเตอร์
[in] aDestinationId
การอ้างอิงรหัสโหนด 64 บิตของผู้เผยแพร่ระยะไกล
[in] aPathList
การอ้างอิงออบเจ็กต์ ReferencedTLVData ที่มีรายการเส้นทางที่เข้ารหัส TLV ซึ่งระบุข้อมูลที่ขอ
[in] aTxnId
ตัวระบุสำหรับธุรกรรม WDM ที่ตั้งค่าเพื่อจัดการการดำเนินการดูนี้
[in] aTimeout
เวลาสูงสุดในหน่วยมิลลิวินาทีเพื่อรอการตอบกลับการดู
ผลลัพธ์
WEAVE_NO_ERROR
สำเร็จแล้ว
WEAVE_ERROR_NO_MEMORY
หากจัดสรรธุรกรรมไม่ได้
การคืนสินค้า
มิฉะนั้น WEAVE_ERROR แสดงว่าไม่สามารถเริ่มต้นหรือเริ่มธุรกรรมได้

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

ขอมุมมองข้อมูลเกี่ยวกับผู้เผยแพร่โฆษณาเริ่มต้น

ขอมุมมองข้อมูลที่อยู่และจัดการโดย "ค่าเริ่มต้น" ผู้เผยแพร่โฆษณา ซึ่งก็คือผู้เผยแพร่โฆษณารายแรก (หรือเพียงรายการเดียว) ในตารางการเชื่อมโยงของลูกค้า

รายละเอียด
พารามิเตอร์
[in] aPathList
การอ้างอิงออบเจ็กต์ ReferencedTLVData ที่มีรายการเส้นทางที่เข้ารหัส TLV ซึ่งระบุข้อมูลที่ขอ
[in] aTxnId
ตัวระบุสำหรับธุรกรรม WDM ที่ตั้งค่าเพื่อจัดการการดำเนินการดูนี้
[in] aTimeout
เวลาสูงสุดในหน่วยมิลลิวินาทีเพื่อรอการตอบกลับการดู
ผลลัพธ์
WEAVE_NO_ERROR
สำเร็จแล้ว
WEAVE_ERROR_NO_MEMORY
หากจัดสรรธุรกรรมไม่ได้
การคืนสินค้า
มิฉะนั้น WEAVE_ERROR แสดงว่าไม่สามารถเริ่มต้นหรือเริ่มธุรกรรมได้

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

ขออัปเดตข้อมูลที่เผยแพร่แล้ว

ขอให้ผู้เผยแพร่โฆษณาระยะไกลอัปเดตข้อมูลที่อยู่ภายใต้การจัดการ

รายละเอียด
พารามิเตอร์
[in] aDestinationId
การอ้างอิงรหัสโหนด 64 บิตของผู้เผยแพร่โฆษณาระยะไกลที่กำลังส่งคำขอ
[in] aDataList
การอ้างอิงออบเจ็กต์ ReferencedTLVData ที่มีรายการข้อมูลที่เข้ารหัส TLV ซึ่งมีการนำเสนอการอัปเดต รวมถึงเส้นทางที่จะใช้การอัปเดต
[in] aTxnId
ตัวระบุของธุรกรรมที่ตั้งค่าเพื่อจัดการคำขออัปเดต
[in] aTimeout
เวลาสูงสุดในหน่วยมิลลิวินาทีเพื่อรอรายงานสถานะที่เกี่ยวข้อง
การคืนสินค้า
WEAVE_NO_ERROR ที่สำเร็จ หรือ WEAVE_ERROR_NO_MEMORY หากจัดสรรธุรกรรมการอัปเดตไม่ได้ มิฉะนั้น ให้แสดงผล WEAVE_ERROR เพื่อแสดงการอัปเดตล้มเหลว

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

ขออัปเดตข้อมูลในผู้เผยแพร่โฆษณาเริ่มต้น

ขอให้ผู้เผยแพร่โฆษณาระยะไกลอัปเดตข้อมูลที่อยู่ภายใต้การจัดการ เวอร์ชันนี้ส่งคำขอไปยังผู้เผยแพร่โฆษณาที่เป็นเป้าหมายของการเชื่อมโยงเริ่มต้นของไคลเอ็นต์

รายละเอียด
พารามิเตอร์
[in] aDataList
การอ้างอิงออบเจ็กต์ ReferencedTLVData ที่มีรายการข้อมูลที่เข้ารหัส TLV ซึ่งมีการนำเสนอการอัปเดต รวมถึงเส้นทางที่จะใช้การอัปเดต
[in] aTxnId
ตัวระบุของธุรกรรมที่ตั้งค่าเพื่อจัดการคำขออัปเดต
[in] aTimeout
เวลาสูงสุดในหน่วยมิลลิวินาทีเพื่อรอรายงานสถานะที่เกี่ยวข้อง
การคืนสินค้า
WEAVE_NO_ERROR ที่สำเร็จ หรือ WEAVE_ERROR_NO_MEMORY หากจัดสรรธุรกรรมการอัปเดตไม่ได้ มิฉะนั้น ให้แสดงผล WEAVE_ERROR เพื่อแสดงการอัปเดตล้มเหลว

แอตทริบิวต์ที่มีการป้องกัน

mUpdatePool

Update mUpdatePool[kUpdatePoolSize]

mViewPool

View mViewPool[kViewPoolSize]

ฟังก์ชันสาธารณะ

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

ขอให้ยกเลิกธุรกรรมที่ดำเนินการอยู่

วิธีการนี้จะไม่สร้างการจราจรของข้อมูลในเครือข่าย แต่เพียงแค่ปล่อยทรัพยากรที่จัดสรรไว้สำหรับธุรกรรมที่ระบุเท่านั้น

รายละเอียด
พารามิเตอร์
[in] aTxnId
หมายเลขธุรกรรมที่จะยกเลิก หากระบุ kTransactionIdNotSpecified ธุรกรรมทั้งหมดจะถูกยกเลิก
[in] aError
WEAVE_ERROR ที่จะรายงานเมื่อยกเลิกธุรกรรม
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จหรือ WEAVE_ERROR ที่แสดงให้เห็นถึงความล้มเหลวในการยกเลิกธุรกรรม

ล้าง

virtual void Clear(
  void
)

ล้างสถานะภายในที่เชื่อมโยงกับออบเจ็กต์ DMClient

โดยเฉพาะอย่างยิ่ง วิธีนี้จะล้างพูลธุรกรรมทั้งหมดของไคลเอ็นต์ สำหรับลูกค้าที่ใช้เมธอด Finalize() จะดีกว่า เนื่องจากการดำเนินการนี้จะยกเลิกการสมัครใช้บริการ รวมถึงล้างตารางธุรกรรมและการเชื่อมโยงด้วย

ดูเพิ่มเติม
Finalize()

DMClient

 DMClient(
  void
)

ตัวสร้างเริ่มต้นสำหรับออบเจ็กต์ DMClient

ล้างสถานะภายในทั้งหมด DMClient ต้องมีการเริ่มต้นเพิ่มเติมด้วย Init() ก่อนใช้งาน

สรุป

virtual void Finalize(
  void
)

ปิด DMClient ที่ทํางานอยู่

ล้างสถานะการดำเนินการทั้งหมดที่เชื่อมโยงกับไคลเอ็นต์และนำการสมัครใช้บริการที่เกี่ยวข้องทั้งหมดออกจากเครื่องมือแจ้ง หลังจากเรียก Finalize() แล้ว DMClient อาจเริ่มต้นอีกครั้งด้วยการเรียกใช้ Init() ตัวทำลาย DMClient จะเรียกใช้ Finalize() แต่อาจมีการเรียกใช้ในกรณีที่ DMClient ต้องมีการทำความสะอาด เช่น ในกรณีที่เครื่องล้มเหลวหรือหยุดให้บริการชั่วคราว แต่อาจต้องทำการแก้ไขใหม่ในภายหลัง

IncompleteIndication

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

จัดการกับ "ความสมบูรณ์" ของการเชื่อมโยงที่ไคลเอ็นต์ใช้งาน

เมื่อการเชื่อมโยงล้มเหลวโดยไม่คาดคิด เช่น หากการเชื่อมต่อที่เกี่ยวข้องในการเชื่อมโยงปิดอยู่ จะมีการเรียกใช้เมธอดนี้

รายละเอียด
พารามิเตอร์
[in] aBinding
ตัวชี้ไปยังการเชื่อมโยงที่ไม่สมบูรณ์
[in] aReport
การอ้างอิงรายงานสถานะที่ให้เหตุผลของการดำเนินการไม่สำเร็จ

~DMClient

virtual  ~DMClient(
  void
)

ตัวทำลายออบเจ็กต์ DMClient

ล้างสถานะภายในทั้งหมดและยกเลิกการสมัครใช้บริการที่รอดำเนินการหากจำเป็น

ฟังก์ชันที่มีการป้องกัน

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)