nl::Weave::Profiles::DataManagement_Legacy

เนมสเปซนี้มีอินเทอร์เฟซทั้งหมดภายใน Weave สำหรับโปรไฟล์การจัดการข้อมูล Weave (WDM) ที่กำลังจะเลิกใช้งาน

สรุป

การแจงนับ

@103{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
@166{
  kViewPoolSize = WEAVE_CONFIG_WDM_VIEW_POOL_SIZE,
  kSubscribePoolSize = WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE,
  kCancelSubscriptionPoolSize = WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE,
  kUpdatePoolSize = WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE,
  kNotifyPoolSize = WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE,
  kTransactionTableSize = WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE,
  kBindingTableSize = WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE,
  kNotifierTableSize = WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE,
  kSubscriptionMgrTableSize = WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE
}
enum
ขนาดพูลของ WDM และตาราง
@167{
  kMsgType_ViewRequest = 0x10,
  kMsgType_ViewResponse = 0x11,
  kMsgType_SubscribeRequest = 0x12,
  kMsgType_SubscribeResponse = 0x13,
  kMsgType_CancelSubscriptionRequest = 0x14,
  kMsgType_UpdateRequest = 0x15,
  kMsgType_NotifyRequest = 0x16,
  kMsgType_ViewRequest_Deprecated = 0x00,
  kMsgType_ViewResponse_Deprecated = 0x01,
  kMsgType_SubscribeRequest_Deprecated = 0x02,
  kMsgType_SubscribeResponse_Deprecated = 0x03,
  kMsgType_CancelSubscriptionRequest_Deprecated = 0x04,
  kMsgType_UpdateRequest_Deprecated = 0x05,
  kMsgType_NotifyRequest_Deprecated = 0x06
}
enum
ประเภทข้อความของโปรไฟล์ WDM
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
enum
ค่าคงที่เฉพาะ WDM เบ็ดเตล็ด
@169{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
รหัสสถานะ WDM โดยเฉพาะ
@170{
  kTag_WDMPathList = 100,
  kTag_WDMPathProfile = 101,
  kTag_WDMPathProfileId = 1,
  kTag_WDMPathProfileInstance = 2,
  kTag_WDMPathProfileId_Deprecated = 102,
  kTag_WDMPathProfileInstance_Deprecated = 103,
  kTag_WDMPathArrayIndexSelector = 104,
  kTag_WDMPathArrayValueSelector = 105,
  kTag_WDMDataList = 200,
  kTag_WDMDataListElementPath = 3,
  kTag_WDMDataListElementVersion = 4,
  kTag_WDMDataListElementData = 5,
  kTag_WDMDataListElementPath_Deprecated = 201,
  kTag_WDMDataListElementVersion_Deprecated = 202,
  kTag_WDMDataListElementData_Deprecated = 203
}
enum
แท็กโปรโตคอลการจัดการข้อมูล
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum
รหัสหัวข้อที่ไม่ซ้ำกัน
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
enum
ตัวเลือกการส่ง WDM

Typedef

TopicIdentifier Typedef
uint64_t
ตัวระบุหัวข้อ

ฟังก์ชัน

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
ตรวจสอบว่าองค์ประกอบ TLV ที่อ่านอยู่เป็นประเภท TLV ที่คาดไว้
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
ตรวจสอบแท็กเฉพาะสำหรับ WDM
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
หยุดอ่านองค์ประกอบรายการข้อมูล WDM
CloseList(nl::Weave::TLV::TLVReader & aReader)
หยุดอ่านเส้นทาง WDM หรือรายการข้อมูล
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
เข้ารหัสเส้นทาง WDM ด้วยแท็กที่เลิกใช้งานแล้วและรหัสอินสแตนซ์ที่เป็นจำนวนเต็ม
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
เข้ารหัสเส้นทาง WDM ด้วยแท็กที่เลิกใช้งานแล้วและรหัสอินสแตนซ์สตริง
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
เข้ารหัสเส้นทาง WDM ด้วยรหัสอินสแตนซ์ของโปรไฟล์ที่เป็นจำนวนเต็ม
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
เข้ารหัสเส้นทาง WDM ด้วยรหัสอินสแตนซ์ของอาร์เรย์ไบต์
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
เข้ารหัสเส้นทาง WDM ด้วยรหัสอินสแตนซ์ของสตริง
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
เขียนเอลิเมนต์รายการข้อมูลให้เสร็จสิ้น
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
เขียนรายการเส้นทางหรือรายการข้อมูลให้เสร็จสิ้น
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
เขียนรายการเส้นทางหรือรายการข้อมูลให้เสร็จสิ้น
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
ตรวจสอบว่ารหัสหัวข้อเป็นรหัสเฉพาะผู้เผยแพร่โฆษณาหรือไม่
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
เริ่มอ่านรายการข้อมูล
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
เริ่มอ่านองค์ประกอบของรายการข้อมูล
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
เริ่มอ่านรายการเส้นทาง
PublisherSpecificTopicId(void)
สร้างรหัสหัวข้อเฉพาะผู้เผยแพร่โฆษณาตั้งแต่ต้น
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
เริ่มเขียนรายการข้อมูล
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
เริ่มเขียนรายการข้อมูลลงในออบเจ็กต์ ReferencedTLVData ที่กำหนด
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
เริ่มเขียนเอลิเมนต์รายการข้อมูล
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
เริ่มเขียนรายการเส้นทาง
TxnResponseHandler(ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
TxnTimeoutHandler(ExchangeContext *anExchangeCtx)
void
ValidateTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
ตรวจสอบว่าองค์ประกอบ TLV ที่กำลังอ่านมีประเภท TLV ที่คาดไว้
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
ตรวจสอบว่าองค์ประกอบ TLV ที่กำลังอ่านมีแท็ก WDM ที่คาดไว้

ชั้นเรียน

nl::Weave::Profiles::DataManagement_Legacy::Binding

คลาส Binding จะจัดการสถานะการสื่อสารในนามของเอนทิตีของแอปพลิเคชันโดยใช้ Weave

nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

คลาสนามธรรมที่มีคำจำกัดความของวิธีการยืนยันและตัวบ่งชี้ที่ไคลเอ็นต์ WDM กำหนด

nl::Weave::Profiles::DataManagement_Legacy::ClientNotifier

คลาสเสริมที่ใช้งานเมื่อต้องการการสนับสนุนการสมัครใช้บริการและการแจ้งเตือนบนไคลเอ็นต์ WDM

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

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

nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

คลาสพื้นฐานสมมติสำหรับผู้เผยแพร่โฆษณา WDM เฉพาะแอปพลิเคชัน

nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase

คลาสเสริม ProfileDatabase สมมติ

nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine

คลาสเครื่องมือโปรโตคอล WDM

nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

คลาส Abstract ที่มีคำจำกัดความของวิธีการยืนยันและการแจ้งเตือนที่ผู้เผยแพร่ WDM กำหนด

การแจงนับ

@103

 @103
พร็อพเพอร์ตี้
kStatus_CancelSuccess

รหัสสถานะเดิมนี้หมายความว่าการสมัครใช้บริการถูกยกเลิกเรียบร้อยแล้ว

รหัสสถานะนี้หมายความว่าได้ยกเลิกการสมัครใช้บริการเรียบร้อยแล้ว

kStatus_IllegalReadRequest

รหัสสถานะเดิมนี้หมายความว่าโหนดที่ส่งคำขอเพื่ออ่านรายการข้อมูลหนึ่งๆ ไม่มีสิทธิ์ดังกล่าว

รหัสสถานะนี้หมายความว่าโหนดที่ส่งคำขอเพื่ออ่านรายการข้อมูลหนึ่งๆ ไม่มีสิทธิ์ดังกล่าว

kStatus_IllegalWriteRequest

รหัสสถานะเดิมนี้หมายความว่าโหนดที่ส่งคำขอเพื่อเขียนรายการข้อมูลหนึ่งๆ ไม่มีสิทธิ์ดังกล่าว

รหัสสถานะนี้หมายความว่าโหนดที่ส่งคำขอเพื่อเขียนรายการข้อมูลหนึ่งๆ ไม่ได้รับอนุญาตให้เขียนรายการนั้นๆ

kStatus_InvalidPath

รหัสสถานะเดิมนี้หมายความว่าเส้นทางจากรายการเส้นทางของเฟรมคำขอมุมมองหรือการอัปเดตไม่ตรงกับสคีมาของโหนด-ผู้อยู่อาศัยของตัวตอบกลับ

รหัสสถานะนี้หมายความว่าเส้นทางจากรายการเส้นทางของเฟรมคำขอมุมมองหรือการอัปเดตไม่ตรงกับสคีมาของโหนดประจำตัวตอบกลับ

kStatus_InvalidVersion

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

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

kStatus_UnknownTopic

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

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

kStatus_UnsupportedSubscriptionMode

รหัสสถานะเดิมนี้หมายความว่าอุปกรณ์ที่รับไม่รองรับโหมดการสมัครใช้บริการที่ขอ

รหัสสถานะนี้หมายถึงอุปกรณ์ที่รับไม่รองรับโหมดการสมัครใช้บริการที่ขอ

@166

 @166

ขนาดพูลของ WDM และตาราง

WDM กำหนดพูลและตารางต่างๆ ที่จำเป็นสำหรับการทำงานดังนี้

พูลธุรกรรมของไคลเอ็นต์:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

พูลธุรกรรมของผู้เผยแพร่โฆษณา:

  • kNotifyPoolSize

ตาราง Protocol Engine:

  • kTransactionTableSize
  • kBindingTableSize

ตารางที่เกี่ยวข้องกับการสมัครใช้บริการ

  • kNotifierTableSize (ไคลเอ็นต์เท่านั้น)
  • kSubscriptionMgrTableSize (ผู้เผยแพร่โฆษณาเท่านั้น)

โปรดทราบว่าจำนวนเหล่านี้เป็นจำนวนที่กำหนดค่าได้และค่าต่อแพลตฟอร์มจะปรากฏใน WeaveConfig.h ที่เกี่ยวข้อง

พร็อพเพอร์ตี้
kBindingTableSize

นี่คือขนาดเริ่มต้นของตารางการเชื่อมโยงในเครื่องมือโปรโตคอล WDM

โดยสามารถกำหนดค่านี้ได้ผ่าน WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE

kCancelSubscriptionPoolSize

นี่คือขนาดเริ่มต้นของพูลธุรกรรมคำขอยกเลิกการสมัครใช้บริการสำหรับไคลเอ็นต์ WDM

โดยสามารถกำหนดค่านี้ได้ผ่าน WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE

kNotifierTableSize

นี่คือขนาดเริ่มต้นของตารางการแจ้งเตือนสำหรับไคลเอ็นต์ WDM

โดยสามารถกำหนดค่านี้ได้ผ่าน WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE

kNotifyPoolSize

นี่คือขนาดเริ่มต้นของพูลธุรกรรมการแจ้งเตือนสำหรับผู้เผยแพร่โฆษณา WDM

โดยสามารถกำหนดค่านี้ได้ผ่าน WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE

kSubscribePoolSize

นี่คือขนาดเริ่มต้นของพูลธุรกรรมคำขอสมัครใช้บริการสำหรับไคลเอ็นต์ WDM

โดยสามารถกำหนดค่านี้ได้ผ่าน WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE

kSubscriptionMgrTableSize

นี่คือขนาดเริ่มต้นของตารางการสมัครใช้บริการสำหรับผู้เผยแพร่โฆษณา WDM

โดยสามารถกำหนดค่านี้ได้ผ่าน WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE

kTransactionTableSize

นี่คือขนาดเริ่มต้นของตารางธุรกรรมในเครื่องมือโปรโตคอล WDM

โดยสามารถกำหนดค่านี้ได้ผ่าน WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE

kUpdatePoolSize

นี่คือขนาดเริ่มต้นของพูลธุรกรรมคำขออัปเดตสำหรับไคลเอ็นต์ WDM

โดยสามารถกำหนดค่าผ่าน WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE ได้

kViewPoolSize

นี่คือขนาดเริ่มต้นของพูลธุรกรรมคำขอดูสำหรับไคลเอ็นต์ WDM

โดยสามารถกำหนดค่านี้ได้ผ่าน WEAVE_CONFIG_WDM_VIEW_POOL_SIZE

@167

 @167

ประเภทข้อความของโปรไฟล์ WDM

ค่าเหล่านี้จะระบุไว้ในข้อกำหนดการจัดการข้อมูล

หมายเหตุ!! ตั้งแต่ไตรมาสที่ 1 ของปี 2015 เราได้เลิกใช้งานประเภทข้อความที่ใช้ใน WDM เวอร์ชันก่อนหน้า และมีการกำหนดประเภทข้อความใหม่ไว้แล้ว ซึ่งแสดงให้เห็นถึงการเปลี่ยนแปลงที่เพียงพอกับรายละเอียดการแพคข้อมูลและการแยกวิเคราะห์ในอดีตเพื่อที่เหมาะสมต่อการหยุดพัก

พร็อพเพอร์ตี้
kMsgType_CancelSubscriptionRequest

ข้อความยกเลิกสมัครใช้บริการ

kMsgType_CancelSubscriptionRequest_Deprecated

เลิกใช้งานแล้ว

kMsgType_NotifyRequest

แจ้งเตือนข้อความคำขอ

kMsgType_NotifyRequest_Deprecated

เลิกใช้งานแล้ว

kMsgType_SubscribeRequest

ข้อความคำขอติดตาม

kMsgType_SubscribeRequest_Deprecated

เลิกใช้งานแล้ว

kMsgType_SubscribeResponse

ข้อความตอบกลับเกี่ยวกับการติดตาม

kMsgType_SubscribeResponse_Deprecated

เลิกใช้งานแล้ว

kMsgType_UpdateRequest

อัปเดตข้อความคำขอ

kMsgType_UpdateRequest_Deprecated

เลิกใช้งานแล้ว

kMsgType_ViewRequest

ดูข้อความในคำขอ

kMsgType_ViewRequest_Deprecated

เลิกใช้งานแล้ว

kMsgType_ViewResponse

ดูข้อความตอบกลับ

kMsgType_ViewResponse_Deprecated

เลิกใช้งานแล้ว

@168

 @168

ค่าคงที่เฉพาะ WDM เบ็ดเตล็ด

พร็อพเพอร์ตี้
kDefaultBindingTableIndex

ดัชนีของการเชื่อมโยงเริ่มต้นในตารางการเชื่อมโยง Protocol Engine ที่มีมากกว่า 1 รายการ

kInstanceIdNotSpecified

ในการเรียกที่ต้องใช้ข้อกำหนดอินสแตนซ์โปรไฟล์ จะมีการระบุว่า "ไม่มี"

ซึ่งมักหมายความว่าโปรไฟล์มีเพียงอินสแตนซ์เดียวที่อยู่ในเอนทิตีที่เป็นปัญหา

kResponseTimeoutNotSpecified

ในวิธีการส่งคำขอทำธุรกรรม จะระบุว่าผู้โทรปฏิเสธการระบุระยะหมดเวลา

ซึ่งโดยทั่วไปหมายความว่าควรใช้ค่าเริ่มต้น

kTransactionIdNotSpecified

ในวิธีการและโครงสร้างข้อมูลที่รับรหัสธุรกรรม ให้ระบุว่า "ไม่มี" หรือค่าไวลด์การ์ด

kVersionNotSpecified

ในการเรียกที่ต้องการข้อกำหนดของเวอร์ชันข้อมูล ระบบจะระบุว่า "ไม่มีเวอร์ชันใดโดยเฉพาะ"

kWeaveTLVControlByteLen

ความยาวของไบต์ควบคุม TLV ที่ใช้ในวิธีการสนับสนุนที่เข้ารหัสโครงสร้าง WDM ใน TLV

kWeaveTLVTagLen

ความยาวมาตรฐานในหน่วยไบต์ของแท็ก TLV ที่สมบูรณ์ในตัวเอง ซึ่งใช้ในวิธีการสนับสนุนที่เข้ารหัสโครงสร้าง WDM ใน TLV

@169

 @169

รหัสสถานะ WDM โดยเฉพาะ

พร็อพเพอร์ตี้
kStatus_CancelSuccess

รหัสสถานะเดิมนี้หมายความว่าการสมัครใช้บริการถูกยกเลิกเรียบร้อยแล้ว

รหัสสถานะนี้หมายความว่าได้ยกเลิกการสมัครใช้บริการเรียบร้อยแล้ว

kStatus_IllegalReadRequest

รหัสสถานะเดิมนี้หมายความว่าโหนดที่ส่งคำขอเพื่ออ่านรายการข้อมูลหนึ่งๆ ไม่มีสิทธิ์ดังกล่าว

รหัสสถานะนี้หมายความว่าโหนดที่ส่งคำขอเพื่ออ่านรายการข้อมูลหนึ่งๆ ไม่มีสิทธิ์ดังกล่าว

kStatus_IllegalWriteRequest

รหัสสถานะเดิมนี้หมายความว่าโหนดที่ส่งคำขอเพื่อเขียนรายการข้อมูลหนึ่งๆ ไม่มีสิทธิ์ดังกล่าว

รหัสสถานะนี้หมายความว่าโหนดที่ส่งคำขอเพื่อเขียนรายการข้อมูลหนึ่งๆ ไม่ได้รับอนุญาตให้เขียนรายการนั้นๆ

kStatus_InvalidPath

รหัสสถานะเดิมนี้หมายความว่าเส้นทางจากรายการเส้นทางของเฟรมคำขอมุมมองหรือการอัปเดตไม่ตรงกับสคีมาของโหนด-ผู้อยู่อาศัยของตัวตอบกลับ

รหัสสถานะนี้หมายความว่าเส้นทางจากรายการเส้นทางของเฟรมคำขอมุมมองหรือการอัปเดตไม่ตรงกับสคีมาของโหนดประจำตัวตอบกลับ

kStatus_InvalidVersion

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

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

kStatus_UnknownTopic

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

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

kStatus_UnsupportedSubscriptionMode

รหัสสถานะเดิมนี้หมายความว่าอุปกรณ์ที่รับไม่รองรับโหมดการสมัครใช้บริการที่ขอ

รหัสสถานะนี้หมายถึงอุปกรณ์ที่รับไม่รองรับโหมดการสมัครใช้บริการที่ขอ

@170

 @170

แท็กโปรโตคอลการจัดการข้อมูล

โปรโตคอลการจัดการข้อมูลจะกำหนดจำนวนแท็กที่จะใช้ในการแสดง TLV ของข้อมูลโปรไฟล์

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

แท็ก kTag_WDMDataListElementData ไม่ได้ใช้ในรุ่นก่อนหน้านี้และถูกละเว้นจากโค้ดโดยสิ้นเชิง เราจึงไม่จำเป็นต้องระบุเวอร์ชันที่เลิกใช้งานแล้ว

พร็อพเพอร์ตี้
kTag_WDMDataList

องค์ประกอบคือรายการของโครงสร้างที่มีเส้นทาง เวอร์ชันตัวเลือก และองค์ประกอบข้อมูล

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการอาร์เรย์: ระดับบนสุด

kTag_WDMDataListElementData

องค์ประกอบนี้แสดงข้อมูลซึ่งชี้ไปตามเส้นทางที่กำหนดและมีเวอร์ชันที่กําหนด

ประเภทแท็ก: ประเภทองค์ประกอบที่เจาะจงบริบท: การจัดการทั้งหมด: จำเป็น

kTag_WDMDataListElementData_Deprecated

เลิกใช้งานแล้ว

ประเภทแท็ก: ประเภทองค์ประกอบที่เจาะจงบริบท: การจัดการทั้งหมด: จำเป็น

kTag_WDMDataListElementPath

องค์ประกอบคือคอมโพเนนต์เส้นทางขององค์ประกอบรายการข้อมูล

ประเภทแท็ก: ประเภทองค์ประกอบที่เจาะจงบริบท: การจัดการเส้นทาง: จำเป็น

kTag_WDMDataListElementPath_Deprecated

เลิกใช้งานแล้ว

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการเส้นทาง: จำเป็น

kTag_WDMDataListElementVersion

องค์ประกอบคือคอมโพเนนต์เวอร์ชันขององค์ประกอบรายการข้อมูล

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะบริบท: การจัดการจำนวนเต็ม: จำเป็น

kTag_WDMDataListElementVersion_Deprecated

เลิกใช้งานแล้ว

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการจำนวนเต็ม: จำเป็น

kTag_WDMPathArrayIndexSelector

องค์ประกอบเส้นทางสอดคล้องกับอาร์เรย์ในสคีมา และจะมีการใช้องค์ประกอบจำนวนเต็มที่มีอยู่เป็นดัชนีในอาร์เรย์นั้น

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการจำนวนเต็ม: ไม่บังคับ

kTag_WDMPathArrayValueSelector

องค์ประกอบเส้นทางสอดคล้องกับอาร์เรย์ในสคีมา และจะใช้องค์ประกอบที่ห่อหุ้มเป็นตัวเลือกระเบียน

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการโครงสร้าง: ไม่บังคับ

kTag_WDMPathList

องค์ประกอบคือรายการของเส้นทาง TLV

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการอาร์เรย์: ระดับบนสุด

kTag_WDMPathProfile

องค์ประกอบเป็นโครงสร้างที่ใช้เพื่อเริ่มเส้นทางและมีข้อมูลโปรไฟล์ที่แท็กในเส้นทางดังกล่าวจะถูกตีความ

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการโครงสร้าง: จำเป็น

kTag_WDMPathProfileId

องค์ประกอบคือคอมโพเนนต์รหัสโปรไฟล์ขององค์ประกอบโปรไฟล์เส้นทางที่เริ่มต้นเส้นทาง TLV

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะบริบท: การจัดการจำนวนเต็ม: จำเป็น

kTag_WDMPathProfileId_Deprecated

เลิกใช้งานแล้ว

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการจำนวนเต็ม: จำเป็น

kTag_WDMPathProfileInstance

องค์ประกอบคืออินสแตนซ์โปรไฟล์ ซึ่งอาจต่อท้ายรหัสโปรไฟล์ในเส้นทาง TLV

โปรดทราบว่าโหนดหนึ่งอาจมีหรือไม่มีหลายอินสแตนซ์ของโปรไฟล์หนึ่งๆ และในกรณีที่มีเพียงรายการเดียว อาจละองค์ประกอบนี้

ประเภทแท็ก: ประเภทองค์ประกอบที่เจาะจงบริบท: การจัดการทั้งหมด: ไม่บังคับ

kTag_WDMPathProfileInstance_Deprecated

เลิกใช้งานแล้ว

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการทั้งหมด: ไม่บังคับ

@171

 @171

รหัสหัวข้อที่ไม่ซ้ำกัน

รหัสหัวข้อที่สนใจมีอยู่ 3 รหัส ซึ่งทั้ง 3 รหัสมีการจัดรูปแบบเป็น "เฉพาะสำหรับผู้เผยแพร่โฆษณา"

พร็อพเพอร์ตี้
kAnyTopicId

รายการนี้สงวนไว้เป็นรหัสหัวข้อไวลด์การ์ด

kTopicIdNotSpecified

ค่านี้เป็นค่าพิเศษที่สงวนไว้เพื่อแสดงรหัสหัวข้อที่ไม่ถูกต้องหรือรหัสไวลด์การ์ด

kTopicIdPublisherSpecificMask

ซึ่งใช้เป็นมาสก์เพื่อสร้างหรือแยกรหัส Topci

WeaveTransportOption

 WeaveTransportOption

ตัวเลือกการส่ง WDM

ตัวเลือกการขนส่งเหล่านี้แยกออกจากกันสำหรับ WDM

พร็อพเพอร์ตี้
kTransport_TCP

การรับส่งข้อมูลที่สำคัญคือ TCP

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

kTransport_UDP

การขนส่งที่สำคัญจะใช้ UDP เท่านั้น

kTransport_WRMP

การรับส่งข้อมูลที่สำคัญเป็นแบบ UDP เท่านั้น แต่มี "เลเยอร์การสนับสนุนแอปพลิเคชัน" การปรับปรุงความน่าเชื่อถือ

Typedef

TopicIdentifier

uint64_t TopicIdentifier

ตัวระบุหัวข้อ

ตัวระบุหัวข้อคือจำนวน 64 บิตที่มีการใช้งาน/ความหมายที่เกี่ยวข้อง 2 รายการ อย่างแรก ชื่อเหล่านี้อาจใช้เป็นคำย่อทั่วไปสำหรับชุดของเส้นทางที่รู้จักกันดี เช่น " ตัวตรวจจับควัน Nest" รหัสหัวข้อที่ใช้ในลักษณะนี้จะมีรหัสผู้ให้บริการที่ป้องกันไม่ให้รหัสหัวข้อที่เลือกโดยอัตโนมัติโดยผู้ให้บริการที่ต่างกันไม่ให้ขัดแย้งกัน เช่นเดียวกับตัวระบุโปรไฟล์ ดังนี้

บิต 48 - 63 บิต 0-47
รหัสตัวแทนจำหน่ายรายย่อย หมายเลขหัวข้อ
การใช้งาน/ความหมายอย่างที่สองสำหรับตัวระบุหัวข้อจะเกิดขึ้นในกรณีของการสมัครใช้บริการแบบไดนามิกระหว่างไคลเอ็นต์ WDM กับผู้เผยแพร่ ในกรณีนี้ ผู้เผยแพร่จะต้องระบุรหัสหัวข้อที่ไม่ซ้ำกันซึ่งแสดงถึงการสมัครรับข้อมูลที่เจาะจงเสมอ และจะต้องระบุรหัสหัวข้อที่ไม่ซ้ำกันนี้ไม่ว่าการสมัครรับข้อมูลจะร้องขอโดยใช้รหัสหัวข้อที่รู้จักกันดีหรือรายการเส้นทางที่กำหนดเอง ตัวระบุหัวข้อของแบบฟอร์มนี้แยกความแตกต่างจากการมีรหัสผู้ให้บริการเป็น 0xFFFF

ดูเพิ่มเติม
WeaveVendorIdentifiers.hpp

ฟังก์ชัน

CheckTLVType

bool CheckTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

ตรวจสอบว่าองค์ประกอบ TLV ที่อ่านอยู่เป็นประเภท TLV ที่คาดไว้

ตรวจสอบประเภท TLV ที่ระบุกับประเภทองค์ประกอบที่ส่วนหัวของโปรแกรมอ่าน TLV

รายละเอียด
พารามิเตอร์
[in] aType
TLVType ที่ต้องตรวจสอบกับองค์ประกอบที่เจาะจง
[in] aReader
การอ้างอิงถึงเครื่องอ่าน TLV ที่อยู่ในตำแหน่งที่จะตรวจสอบ
การคืนสินค้า
true iff กับ TLVType ขององค์ประกอบและ aType ที่ตรงกัน
ดูเพิ่มเติม
WeaveTLVTypes.h

CheckWDMTag

bool CheckWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

ตรวจสอบแท็กเฉพาะสำหรับ WDM

ตรวจสอบจำนวนแท็กเฉพาะ WDM จาก .../data-management/DMConstants.h เทียบกับแท็กจริงที่ส่วนหัวของโปรแกรมอ่าน TLV

รายละเอียด
พารามิเตอร์
[in] aTagNum
หมายเลขแท็กที่จะตรวจสอบกับองค์ประกอบ TLV ที่เฉพาะเจาะจง
[in] aReader
การอ้างอิงไปยังโปรแกรมอ่าน TLV ที่ชี้ไปยังองค์ประกอบที่ต้องตรวจสอบ
การคืนสินค้า
true iff aReader.GetTag() จะสร้างแท็กที่ตรงกับรูปแบบแท็กที่ต้องการสำหรับหมายเลขแท็กที่ระบุ

CloseDataListElement

WEAVE_ERROR CloseDataListElement(
  nl::Weave::TLV::TLVReader & aReader
)

หยุดอ่านองค์ประกอบรายการข้อมูล WDM

เมธอดนี้จะถือว่าองค์ประกอบที่เป็นปัญหาเป็นส่วนหนึ่งของรายการข้อมูล WDM จึงส่ง kTLVType_Array ไปยัง ExitContainer()

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

CloseList

WEAVE_ERROR CloseList(
  nl::Weave::TLV::TLVReader & aReader
)

หยุดอ่านเส้นทาง WDM หรือรายการข้อมูล

วิธีนี้จะสมมติว่ารายการที่เป็นปัญหาเป็นองค์ประกอบ TLV บนสุด จึงส่ง kTLVType_Sructure ไปยัง ExitContainer()

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

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

เข้ารหัสเส้นทาง WDM ด้วยแท็กที่เลิกใช้งานแล้วและรหัสอินสแตนซ์ที่เป็นจำนวนเต็ม

หมายเหตุ: เข้ารหัสเส้นทางโดยใช้ชุดแท็กที่เลิกใช้งานแล้วที่บริการยอมรับก่อนการเปิดตัว Weave รุ่น 2.0 เมธอดเวอร์ชันนี้ใช้ตัวระบุอินสแตนซ์ที่เป็นตัวเลข เมธอดนี้เริ่มต้นคอนเทนเนอร์ด้วย ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) จากนั้นแทรกรหัสโปรไฟล์ด้วย ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_เลิกใช้งาน) จากนั้นจะแทรกรหัสอินสแตนซ์ด้วย ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_เลิกใช้งาน) เวอร์ชันนี้เป็นหนึ่งในเวอร์ชันที่เลิกใช้งานแล้วสำหรับการเข้ารหัสเส้นทาง และการออกแบบใหม่จะต้องหลีกเลี่ยงการใช้รูปแบบนี้

รายละเอียด
พารามิเตอร์
[in] aWriter
การอ้างอิงถึงนักเขียน TLV ที่ใช้เขียนเส้นทาง
[in] aTag
การอ้างอิงแท็ก TLV ที่สมบูรณ์ในตัวเองที่ใช้กับเส้นทางนี้
[in] aProfileId
รหัสโปรไฟล์ที่อยู่ภายใต้องค์ประกอบของเส้นทางที่จะตีความ
[in] aInstanceId
การอ้างอิงไปยังรหัสอินสแตนซ์ที่ไม่บังคับของโปรไฟล์ที่จะใช้
[in] aPathLen
ความยาวของรายการองค์ประกอบเส้นทางที่อยู่นอกเหนือจากตัวระบุโปรไฟล์เริ่มต้น อาจจะเป็น 0
[in] ...
รายการแท็กเส้นทางเพิ่มเติมที่มีความยาวตัวแปร
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จแล้ว มิฉะนั้น ให้แสดงผล WEAVE_ERROR ซึ่งแสดงให้เห็นว่าไม่สามารถจัดรูปแบบเส้นทางที่ระบุ

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

เข้ารหัสเส้นทาง WDM ด้วยแท็กที่เลิกใช้งานแล้วและรหัสอินสแตนซ์สตริง

หมายเหตุ: เข้ารหัสเส้นทางโดยใช้ชุดแท็กที่เลิกใช้งานแล้ว (ดู DMConstants.h) เมธอดเวอร์ชันนี้ใช้สตริงรหัสอินสแตนซ์ เมธอดนี้เริ่มต้นคอนเทนเนอร์ด้วย ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) จากนั้นแทรกรหัสโปรไฟล์ด้วย ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_เลิกใช้งาน) จากนั้นจะแทรกรหัสอินสแตนซ์ด้วย ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_เลิกใช้งาน) เวอร์ชันนี้เป็นหนึ่งในเวอร์ชันที่เลิกใช้งานแล้วสำหรับการเข้ารหัสเส้นทาง และการออกแบบใหม่จะต้องหลีกเลี่ยงการใช้รูปแบบนี้

รายละเอียด
พารามิเตอร์
[in] aWriter
การอ้างอิงถึงนักเขียน TLV ที่ใช้เขียนเส้นทาง
[in] aTag
การอ้างอิงแท็ก TLV ที่สมบูรณ์ในตัวเองที่ใช้กับเส้นทางนี้
[in] aProfileId
รหัสโปรไฟล์ที่อยู่ภายใต้องค์ประกอบของเส้นทางที่จะตีความ
[in] aInstanceId
สตริงที่เป็นตัวเลือกที่ใช้เป็นตัวระบุอินสแตนซ์ของโปรไฟล์ อาร์กิวเมนต์นี้อาจเป็นค่าว่างได้ถ้าไม่ได้ระบุรหัสอินสแตนซ์
[in] aPathLen
ความยาวของรายการองค์ประกอบเส้นทางที่อยู่นอกเหนือจากตัวระบุโปรไฟล์เริ่มต้น อาจจะเป็น 0
[in] ...
รายการแท็กเส้นทางเพิ่มเติม (ไม่บังคับ) ที่มีความยาวตัวแปร
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จแล้ว มิฉะนั้น ให้แสดงผล WEAVE_ERROR ซึ่งแสดงให้เห็นว่าไม่สามารถจัดรูปแบบเส้นทางที่ระบุ

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

เข้ารหัสเส้นทาง WDM ด้วยรหัสอินสแตนซ์ของโปรไฟล์ที่เป็นจำนวนเต็ม

หมายเหตุ: เขียนเส้นทาง TLV ของประเภทที่ใช้ในการจัดการข้อมูล โดยเฉพาะอย่างยิ่งมีการระบุโปรไฟล์ไว้ที่ตอนต้นเพื่อให้ตีความองค์ประกอบของเส้นทางที่ตามมาได้ เมธอดเวอร์ชันนี้ใช้รหัสอินสแตนซ์ของโปรไฟล์ที่เป็นจำนวนเต็ม

วิธีนี้จะแทรกรหัสอินสแตนซ์โดยใช้ ContextTag(kTag_WDMPathProfileInstance) ซึ่งเป็นเวอร์ชันล่าสุดสำหรับการเข้ารหัสเส้นทาง

รายละเอียด
พารามิเตอร์
[in] aWriter
การอ้างอิงถึงนักเขียน TLV ที่ใช้เขียนเส้นทาง
[in] aTag
การอ้างอิงแท็ก TLV ที่สมบูรณ์ในตัวเองที่ใช้กับเส้นทางนี้
[in] aProfileId
รหัสโปรไฟล์ที่อยู่ภายใต้องค์ประกอบของเส้นทางที่จะตีความ
[in] aInstanceId
การอ้างอิงไปยังตัวระบุอินสแตนซ์ที่ไม่บังคับของโปรไฟล์ที่จะใช้ หากไม่ใช้รหัสอินสแตนซ์ พารามิเตอร์นี้ควรมีค่า kInstanceIdNotSpecified
[in] aPathLen
ความยาวของรายการองค์ประกอบเส้นทางที่อยู่นอกเหนือจากตัวระบุโปรไฟล์เริ่มต้น อาจจะเป็น 0
[in] ...
รายการแท็กเส้นทางเพิ่มเติมที่มีความยาวตัวแปร
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จแล้ว มิฉะนั้น ให้แสดงผล WEAVE_ERROR ซึ่งแสดงให้เห็นว่าไม่สามารถจัดรูปแบบเส้นทางที่ระบุ

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint32_t aInstanceIdLen,
  const uint8_t *aInstanceId,
  uint32_t aPathLen,
  ...
)

เข้ารหัสเส้นทาง WDM ด้วยรหัสอินสแตนซ์ของอาร์เรย์ไบต์

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

วิธีนี้จะแทรกรหัสอินสแตนซ์โดยใช้ ContextTag(kTag_WDMPathProfileInstance) ซึ่งเป็นเวอร์ชันล่าสุดสำหรับการเข้ารหัสเส้นทาง

รายละเอียด
พารามิเตอร์
[in] aWriter
การอ้างอิงถึงนักเขียน TLV ที่ใช้เขียนเส้นทาง
[in] aTag
การอ้างอิงแท็ก TLV ที่สมบูรณ์ในตัวเองที่ใช้กับเส้นทางนี้
[in] aProfileId
รหัสโปรไฟล์ที่อยู่ภายใต้องค์ประกอบของเส้นทางที่จะตีความ
[in] aInstanceIdLen
ความยาวของไบต์อาร์เรย์ที่ประกอบขึ้นเป็นรหัสอินสแตนซ์ หากไม่มีรหัส พารามิเตอร์นี้จะมีค่าเป็น 0
[in] aInstanceId
ไบต์อาร์เรย์ที่ไม่บังคับใช้เป็นตัวระบุอินสแตนซ์ของโปรไฟล์ อาร์กิวเมนต์นี้อาจเป็นค่าว่างในกรณีที่ไม่มีการระบุรหัสอินสแตนซ์
[in] aPathLen
ความยาวของรายการองค์ประกอบเส้นทางที่อยู่นอกเหนือจากตัวระบุโปรไฟล์เริ่มต้น อาจจะเป็น 0
[in] ...
รายการแท็กเส้นทางเพิ่มเติม (ไม่บังคับ) ที่มีความยาวตัวแปร
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จแล้ว มิฉะนั้น ให้แสดงผล WEAVE_ERROR ซึ่งแสดงให้เห็นว่าไม่สามารถจัดรูปแบบเส้นทางที่ระบุ

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

เข้ารหัสเส้นทาง WDM ด้วยรหัสอินสแตนซ์ของสตริง

หมายเหตุ: เขียนเส้นทาง TLV ของประเภทที่ใช้ในการจัดการข้อมูล โดยเฉพาะอย่างยิ่งมีการระบุโปรไฟล์ไว้ที่ตอนต้นเพื่อให้ตีความองค์ประกอบของเส้นทางที่ตามมาได้ เมธอดเวอร์ชันนี้จะใช้รหัสอินสแตนซ์ของโปรไฟล์สตริง

วิธีนี้จะแทรกรหัสอินสแตนซ์โดยใช้ ContextTag(kTag_WDMPathProfileInstance) ซึ่งเป็นเวอร์ชันล่าสุดสำหรับการเข้ารหัสเส้นทาง

รายละเอียด
พารามิเตอร์
[in] aWriter
การอ้างอิงถึงนักเขียน TLV ที่ใช้เขียนเส้นทาง
[in] aTag
การอ้างอิงแท็ก TLV ที่สมบูรณ์ในตัวเองที่ใช้กับเส้นทางนี้
[in] aProfileId
รหัสโปรไฟล์ที่อยู่ภายใต้องค์ประกอบของเส้นทางที่จะตีความ
[in] aInstanceId
สตริงที่เป็นตัวเลือกที่ใช้เป็นตัวระบุอินสแตนซ์ของโปรไฟล์ อาร์กิวเมนต์นี้อาจเป็นค่าว่างได้ถ้าไม่ได้ระบุรหัสอินสแตนซ์
[in] aPathLen
ความยาวของรายการองค์ประกอบเส้นทางที่อยู่นอกเหนือจากตัวระบุโปรไฟล์เริ่มต้น อาจจะเป็น 0
[in] ...
รายการแท็กเส้นทางเพิ่มเติม (ไม่บังคับ) ที่มีความยาวตัวแปร
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จแล้ว มิฉะนั้น ให้แสดงผล WEAVE_ERROR ซึ่งแสดงให้เห็นว่าไม่สามารถจัดรูปแบบเส้นทางที่ระบุ

EndDataListElement

WEAVE_ERROR EndDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

เขียนเอลิเมนต์รายการข้อมูลให้เสร็จสิ้น

เขียน TLV สำหรับจุดสิ้นสุดขององค์ประกอบรายการข้อมูล WDM โปรดทราบว่าการดำเนินการนี้จะส่งผ่านประเภท kTLVType_Array ไปยังการเรียกใช้ EndContainer() โดยอัตโนมัติโดยสมมติว่าเราจะปิดรายการเสมอ

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

EndEncodePath

WEAVE_ERROR EndEncodePath(
  TLVWriter & aWriter,
  TLVType & mOuterContainer,
  WEAVE_ERROR mError
)

EndList

WEAVE_ERROR EndList(
  nl::Weave::TLV::TLVWriter & aWriter
)

เขียนรายการเส้นทางหรือรายการข้อมูลให้เสร็จสิ้น

เขียน TLV สำหรับจุดสิ้นสุดของเส้นทาง WDM หรือรายการข้อมูล สุดท้ายให้เขียนสรุปเกี่ยวกับผู้เขียน

รายละเอียด
พารามิเตอร์
[in,out] aWriter
การอ้างอิงถึงนักเขียน TLV ที่เขียนตอนท้ายของรายการ
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จแล้ว ไม่เช่นนั้น ให้แสดงผล WEAVE_ERROR ที่แสดงว่าไม่สามารถสิ้นสุดคอนเทนเนอร์ได้

EndList

WEAVE_ERROR EndList(
  ReferencedTLVData & aList,
  nl::Weave::TLV::TLVWriter & aWriter
)

เขียนรายการเส้นทางหรือรายการข้อมูลให้เสร็จสิ้น

เขียน TLV สำหรับจุดสิ้นสุดของเส้นทาง WDM หรือรายการข้อมูล สุดท้ายให้เขียนสรุปเกี่ยวกับผู้เขียน ในกรณีนี้ ระบบจะส่งต่อออบเจ็กต์ ReferencedTLVData ที่มีการเขียน TLV เข้ามาและแก้ไขเพื่อแสดงปริมาณข้อมูลที่เขียน

รายละเอียด
พารามิเตอร์
[in,out] aList
การอ้างอิงออบเจ็กต์ ReferenceTLVData ที่มีการเขียนรายการ
[in] aWriter
การอ้างอิงถึงนักเขียน TLV ที่เขียนตอนท้ายของรายการ
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จแล้ว ไม่เช่นนั้น ให้แสดงผล WEAVE_ERROR ที่แสดงว่าไม่สามารถสิ้นสุดคอนเทนเนอร์ได้

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

ตรวจสอบว่ารหัสหัวข้อเป็นรหัสเฉพาะผู้เผยแพร่โฆษณาหรือไม่

รายละเอียด
พารามิเตอร์
[in] aTopicId
ตัวระบุหัวข้อ ตรวจสอบ
การคืนสินค้า
จริง หากรหัสหัวข้อเป็นรหัสเฉพาะของผู้เผยแพร่โฆษณา มิเช่นนั้นจะเป็น "เท็จ"

OpenDataList

WEAVE_ERROR OpenDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVReader & aReader
)

เริ่มอ่านรายการข้อมูล

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

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

OpenDataListElement

WEAVE_ERROR OpenDataListElement(
  nl::Weave::TLV::TLVReader & aReader,
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t & aVersion
)

เริ่มอ่านองค์ประกอบของรายการข้อมูล

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

รายละเอียด
พารามิเตอร์
[in] aReader
การอ้างอิงถึงเครื่องอ่าน TLV ที่วางอยู่ที่องค์ประกอบรายการข้อมูล
[out] aPathReader
การอ้างอิงโปรแกรมอ่าน TLV ที่จะชี้ไปยังคอมโพเนนต์เส้นทางขององค์ประกอบรายการข้อมูล
[out] aVersion
การอ้างอิงจำนวนเต็ม 64 บิตเพื่อตั้งค่าเป็นเวอร์ชันขององค์ประกอบรายการข้อมูลหากมีอยู่ หรือตั้งค่าเป็น kVersionNotSpecified
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จหรือ WEAVE_ERROR ที่เชื่อมโยงกับการเปิดและการอ่านองค์ประกอบของรายการข้อมูล

OpenPathList

WEAVE_ERROR OpenPathList(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVReader & aReader
)

เริ่มอ่านรายการเส้นทาง

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

รายละเอียด
พารามิเตอร์
[in] aPathList
รายการเส้นทางที่ส่งผ่านเป็นการอ้างอิงไปยังออบเจ็กต์ ReferencedTLVData โดยกรณีการใช้งานปกติจะเป็นจุดที่รายการยังเก็บไว้ในบัฟเฟอร์หลังจากได้รับแล้ว
[out] aReader
การอ้างอิงโปรแกรมอ่าน TLV ที่ใช้อ่านรายการเส้นทาง โปรแกรมอ่านนี้จะชี้ไปก่อนเส้นทางแรกในรายการ
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จแล้ว มิฉะนั้น WEAVE_ERROR ที่แสดงว่าระบบดำเนินการล้มเหลวให้เปิดรายการเส้นทางและ/หรือตรวจสอบแท็กและประเภทที่เกี่ยวข้อง

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

สร้างรหัสหัวข้อเฉพาะผู้เผยแพร่โฆษณาตั้งแต่ต้น

รายละเอียด
การคืนสินค้า
ตัวระบุหัวข้อใหม่

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

WEAVE_ERROR StartDataList(
  nl::Weave::TLV::TLVWriter & aWriter
)

เริ่มเขียนรายการข้อมูล

เขียน TLV สำหรับจุดเริ่มต้นของรายการข้อมูล WDM เช่น เป็นอาร์กิวเมนต์หลักของ UpdateRequest()

รายละเอียด
พารามิเตอร์
[in] aWriter
การอ้างอิงถึงนักเขียน TLV ที่จะเริ่มเขียน
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จแล้ว ไม่เช่นนั้น ให้แสดงผล WEAVE_ERROR ซึ่งแสดงให้เห็นว่าไม่สามารถเริ่มคอนเทนเนอร์

StartDataList

WEAVE_ERROR StartDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVWriter & aWriter
)

เริ่มเขียนรายการข้อมูลลงในออบเจ็กต์ ReferencedTLVData ที่กำหนด

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

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

StartDataListElement

WEAVE_ERROR StartDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

เริ่มเขียนเอลิเมนต์รายการข้อมูล

เขียน TLV สำหรับจุดเริ่มต้นขององค์ประกอบรายการข้อมูล WDM

รายละเอียด
พารามิเตอร์
[in] aWriter
การอ้างอิงถึงนักเขียน TLV ที่จะเริ่มเขียน
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จแล้ว ไม่เช่นนั้น ให้แสดงผล WEAVE_ERROR ซึ่งแสดงให้เห็นว่าไม่สามารถเริ่มคอนเทนเนอร์

StartEncodePath

WEAVE_ERROR StartEncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  TLVType & mOuterContainer,
  TLVType & mPath
)

StartPathList

WEAVE_ERROR StartPathList(
  nl::Weave::TLV::TLVWriter & aWriter
)

เริ่มเขียนรายการเส้นทาง

เขียน TLV เพื่อใช้เป็นจุดเริ่มต้นของรายการเส้นทาง WDM เช่น เป็นอาร์กิวเมนต์หลักของ ViewRequest()

รายละเอียด
พารามิเตอร์
[in] aWriter
การอ้างอิงถึงนักเขียน TLV ที่จะเริ่มเขียน
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จแล้ว ไม่เช่นนั้น ให้แสดงผล WEAVE_ERROR ซึ่งแสดงให้เห็นว่าไม่สามารถเริ่มคอนเทนเนอร์

TxnResponseHandler

void TxnResponseHandler(
  ExchangeContext *anExchangeCtx,
  const IPPacketInfo *anAddrInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

TxnTimeoutHandler

void TxnTimeoutHandler(
  ExchangeContext *anExchangeCtx
)

ValidateTLVType

WEAVE_ERROR ValidateTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

ตรวจสอบว่าองค์ประกอบ TLV ที่กำลังอ่านมีประเภท TLV ที่คาดไว้

ตรวจสอบประเภท TLV ที่ระบุกับประเภทองค์ประกอบที่ส่วนหัวของโปรแกรมอ่าน TLV แล้วแสดงข้อผิดพลาดหากไม่มีข้อมูลที่ตรงกัน

รายละเอียด
พารามิเตอร์
[in] aType
TLVType ที่ต้องตรวจสอบเทียบกับองค์ประกอบที่เฉพาะเจาะจง
[in] aReader
การอ้างอิงถึงเครื่องอ่าน TLV ที่อยู่ในตำแหน่งที่จะตรวจสอบ
การคืนสินค้า
WEAVE_NO_ERROR หากมีข้อมูลที่ตรงกัน หรือ WEAVE_ERROR_WRONG_TLV_TYPE หากไม่มี
ดูเพิ่มเติม
WeaveTLVTypes.h

ValidateWDMTag

WEAVE_ERROR ValidateWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

ตรวจสอบว่าองค์ประกอบ TLV ที่กำลังอ่านมีแท็ก WDM ที่คาดไว้

รายละเอียด
พารามิเตอร์
[in] aTagNum
หมายเลขแท็ก 32 บิตของแท็ก WDM ที่คาดไว้
[in] aReader
เครื่องอ่าน TLV ที่วางอยู่ในองค์ประกอบที่จะตรวจสอบ
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จแล้ว มิฉะนั้นจะเป็น WEAVE_ERROR_INVALID_TLV_TAG หากแท็กไม่ตรงกับหมายเลขแท็กที่ระบุเมื่อตีความเป็นแท็ก WDM