nl::Weave::Profiles::DataManagement_Legacy

Không gian tên này bao gồm tất cả các giao diện trong cấu hình Weave dành cho cấu hình Quản lý dữ liệu của Weave (WDM) sắp ngừng hoạt động.

Tóm tắt

Bảng liệt kê

@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
Kích thước nhóm và bảng 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
Các loại thông báo hồ sơ WDM.
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
enum
Các hằng số khác dành riêng cho WDM.
@169{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
Mã trạng thái cụ thể của 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
Thẻ Giao thức quản lý dữ liệu.
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum
Mã chủ đề phân biệt.
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
enum
Các tuỳ chọn truyền tải WDM.

Typedef

TopicIdentifier typedef
uint64_t
Giá trị nhận dạng chủ đề.

Hàm

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
Kiểm tra để đảm bảo phần tử TLV đang được đọc có kiểu TLV dự kiến.
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
Kiểm tra thẻ dành riêng cho WDM.
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
Dừng đọc phần tử danh sách dữ liệu WDM.
CloseList(nl::Weave::TLV::TLVReader & aReader)
Dừng đọc đường dẫn WDM hoặc danh sách dữ liệu.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Mã hoá đường dẫn WDM bằng các thẻ không dùng nữa và mã thực thể là số nguyên.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Mã hoá đường dẫn WDM bằng các thẻ không dùng nữa và mã bản sao chuỗi.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Mã hoá đường dẫn WDM bằng mã phiên bản cấu hình bằng số nguyên.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
Mã hoá đường dẫn WDM bằng mã phiên bản mảng byte.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Mã hoá đường dẫn WDM bằng mã phiên bản chuỗi.
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Hoàn tất việc ghi phần tử danh sách dữ liệu.
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
Hoàn tất việc viết một danh sách đường dẫn hoặc danh sách dữ liệu.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
Hoàn tất việc viết một danh sách đường dẫn hoặc danh sách dữ liệu.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
Kiểm tra xem mã chủ đề có dành riêng cho nhà xuất bản hay không.
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
Bắt đầu đọc danh sách dữ liệu.
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
Bắt đầu đọc một phần tử trong danh sách dữ liệu.
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
Bắt đầu đọc danh sách đường dẫn.
PublisherSpecificTopicId(void)
Tạo mã chủ đề dành riêng cho nhà xuất bản từ đầu.
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
Bắt đầu viết một danh sách dữ liệu.
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
Bắt đầu ghi danh sách dữ liệu cho một đối tượng ReferencedTLVData cho trước.
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Bắt đầu viết một phần tử cho danh sách dữ liệu.
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
Bắt đầu viết một danh sách đường dẫn.
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)
Xác thực rằng phần tử TLV đang được đọc có kiểu TLV dự kiến.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
Xác thực rằng phần tử TLV đang được đọc có thẻ WDM dự kiến.

Lớp

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

Lớp Binding quản lý trạng thái giao tiếp thay cho một thực thể ứng dụng bằng cách sử dụng Weave.

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

Một lớp trừu tượng chứa các định nghĩa phương thức xác nhận và chỉ báo theo yêu cầu của ứng dụng WDM.

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

Một lớp phụ trợ được sử dụng khi muốn hỗ trợ gói thuê bao và thông báo trên ứng dụng WDM.

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

Lớp cơ sở trừu tượng dành cho các ứng dụng WDM dành riêng cho ứng dụng.

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

Lớp cơ sở trừu tượng dành cho nhà xuất bản WDM dành riêng cho ứng dụng.

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

Lớp phụ ProfileDatabase trừu tượng.

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

Lớp công cụ giao thức WDM.

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

Một lớp trừu tượng chứa các định nghĩa phương thức xác nhận và thông báo theo yêu cầu của nhà xuất bản WDM.

Bảng liệt kê

@103

 @103
Thuộc tính
kStatus_CancelSuccess

Mã trạng thái cũ này có nghĩa là một gói thuê bao đã được huỷ thành công.

Mã trạng thái này có nghĩa là một gói thuê bao đã được huỷ thành công.

kStatus_IllegalReadRequest

Mã trạng thái cũ này có nghĩa là nút đưa ra yêu cầu đọc một mục dữ liệu cụ thể không có quyền làm như vậy.

Mã trạng thái này có nghĩa là nút đưa ra yêu cầu đọc một mục dữ liệu cụ thể không có quyền làm như vậy.

kStatus_IllegalWriteRequest

Mã trạng thái cũ này có nghĩa là nút đưa ra yêu cầu ghi một mục dữ liệu cụ thể không có quyền làm như vậy.

Mã trạng thái này có nghĩa là nút gửi yêu cầu ghi một mục dữ liệu cụ thể không có quyền làm như vậy.

kStatus_InvalidPath

Mã trạng thái cũ này có nghĩa là đường dẫn từ danh sách đường dẫn của khung yêu cầu cập nhật hoặc khung hiển thị không khớp với giản đồ thường trú nút của người trả lời.

Mã trạng thái này có nghĩa là một đường dẫn từ danh sách đường dẫn của khung yêu cầu cập nhật hoặc khung hiển thị không khớp với giản đồ thường trú nút của người trả lời.

kStatus_InvalidVersion

Mã trạng thái cũ này có nghĩa là phiên bản của dữ liệu được bao gồm trong yêu cầu cập nhật không khớp với phiên bản mới nhất của nhà xuất bản, do đó không thể áp dụng bản cập nhật.

Mã trạng thái này có nghĩa là phiên bản của dữ liệu có trong yêu cầu cập nhật không khớp với phiên bản mới nhất của nhà xuất bản, do đó không thể áp dụng bản cập nhật.

kStatus_UnknownTopic

Mã trạng thái cũ này có nghĩa là giá trị nhận dạng chủ đề được cung cấp trong một yêu cầu hoặc thông báo huỷ không khớp với bất kỳ gói thuê bao nào có trên nút nhận.

Mã trạng thái này có nghĩa là từ định danh chủ đề được cung cấp trong một yêu cầu hoặc thông báo huỷ không khớp với bất kỳ gói thuê bao nào trên nút nhận.

kStatus_UnsupportedSubscriptionMode

Mã trạng thái cũ này có nghĩa là thiết bị nhận không hỗ trợ chế độ thuê bao đã yêu cầu.

Mã trạng thái này có nghĩa là thiết bị nhận không hỗ trợ chế độ đăng ký được yêu cầu.

@166

 @166

Kích thước nhóm và bảng WDM.

WDM xác định nhiều nhóm và bảng cần thiết cho hoạt động của mình như sau.

Nhóm giao dịch của khách hàng:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

Nhóm giao dịch của nhà xuất bản:

  • kNotifyPoolSize

Bảng công cụ giao thức:

  • kTransactionTableSize
  • kBindingTableSize

Bảng liên quan đến gói thuê bao:

  • kNotifierTableSize (chỉ ứng dụng)
  • kSubscriptionMgrTableSize (chỉ dành cho nhà xuất bản)

Xin lưu ý rằng đây là số lượng có thể định cấu hình và giá trị cho mỗi nền tảng xuất hiện trong WeaveConfig.h được liên kết.

Thuộc tính
kBindingTableSize

Đây là kích thước mặc định của bảng liên kết trong công cụ giao thức WDM.

Giá trị này có thể được định cấu hình qua WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE.

kCancelSubscriptionPoolSize

Đây là kích thước mặc định của nhóm giao dịch huỷ yêu cầu đăng ký cho ứng dụng WDM.

Giá trị này có thể được định cấu hình qua WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE.

kNotifierTableSize

Đây là kích thước mặc định của bảng thông báo cho các ứng dụng WDM.

Giá trị này có thể được định cấu hình qua WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE.

kNotifyPoolSize

Đây là kích thước mặc định của nhóm giao dịch yêu cầu thông báo cho nhà xuất bản WDM.

Giá trị này có thể được định cấu hình qua WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE.

kSubscribePoolSize

Đây là kích thước mặc định của nhóm giao dịch yêu cầu đăng ký cho ứng dụng WDM.

Bạn có thể định cấu hình giá trị này thông qua WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE.

kSubscriptionMgrTableSize

Đây là kích thước mặc định của bảng gói thuê bao cho nhà xuất bản WDM.

Giá trị này có thể được định cấu hình qua WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE.

kTransactionTableSize

Đây là kích thước mặc định của bảng giao dịch trong công cụ giao thức WDM.

Giá trị này có thể được định cấu hình qua WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE.

kUpdatePoolSize

Đây là kích thước mặc định của nhóm giao dịch yêu cầu cập nhật cho ứng dụng WDM.

Giá trị này có thể được định cấu hình qua WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE.

kViewPoolSize

Đây là kích thước mặc định của nhóm giao dịch yêu cầu xem cho ứng dụng WDM.

Giá trị này có thể được định cấu hình qua WEAVE_CONFIG_WDM_VIEW_POOL_SIZE.

@167

 @167

Các loại thông báo hồ sơ WDM.

Những giá trị này được gọi ra trong quy cách quản lý dữ liệu.

LƯU Ý!! Kể từ Quý 1 năm 2015, các loại thông báo được sử dụng trong các phiên bản WDM trước đây đã không còn được dùng và các loại thông báo mới đã được xác định, phản ánh sự thay đổi đủ với các chi tiết đóng gói và phân tích cú pháp trước đây để biện minh cho một điểm nghỉ rõ ràng.

Thuộc tính
kMsgType_CancelSubscriptionRequest

Thông báo huỷ gói thuê bao.

kMsgType_CancelSubscriptionRequest_Deprecated

không dùng nữa

kMsgType_NotifyRequest

Thông báo yêu cầu tin nhắn.

kMsgType_NotifyRequest_Deprecated

không dùng nữa

kMsgType_SubscribeRequest

Tin nhắn yêu cầu đăng ký.

kMsgType_SubscribeRequest_Deprecated

không dùng nữa

kMsgType_SubscribeResponse

Đăng ký nhận thông báo phản hồi.

kMsgType_SubscribeResponse_Deprecated

không dùng nữa

kMsgType_UpdateRequest

Cập nhật tin nhắn yêu cầu.

kMsgType_UpdateRequest_Deprecated

không dùng nữa

kMsgType_ViewRequest

Xem tin nhắn yêu cầu.

kMsgType_ViewRequest_Deprecated

không dùng nữa

kMsgType_ViewResponse

Xem tin nhắn phản hồi.

kMsgType_ViewResponse_Deprecated

không dùng nữa

@168

 @168

Các hằng số khác dành riêng cho WDM.

Thuộc tính
kDefaultBindingTableIndex

Chỉ mục của liên kết mặc định trong bảng liên kết công cụ giao thức có nhiều mục nhập.

kInstanceIdNotSpecified

Trong các lệnh gọi yêu cầu thông số kỹ thuật của phiên bản hồ sơ, hãy cho biết "không có".

Thông thường, điều này có nghĩa là chỉ một phiên bản của hồ sơ đó xuất hiện trên thực thể được đề cập.

kResponseTimeoutNotSpecified

Trong các phương thức yêu cầu giao dịch, phương thức này cho biết rằng phương thức gọi đã từ chối chỉ định thời gian chờ.

Nói chung, điều này có nghĩa là chế độ mặc định nên được sử dụng.

kTransactionIdNotSpecified

Trong các phương thức và cấu trúc dữ liệu nhận mã giao dịch, biểu thị "không có" hoặc giá trị ký tự đại diện.

kVersionNotSpecified

Trong các lệnh gọi yêu cầu thông số kỹ thuật của một phiên bản dữ liệu, hãy nêu rõ rằng "không có phiên bản cụ thể".

kWeaveTLVControlByteLen

Độ dài của byte điều khiển TLV, được dùng trong các phương thức hỗ trợ mã hoá cấu trúc WDM trong TLV.

kWeaveTLVTagLen

Độ dài tiêu chuẩn tính bằng byte của thẻ TLV đủ điều kiện, được dùng trong các phương thức hỗ trợ mã hoá cấu trúc WDM trong TLV.

@169

 @169

Mã trạng thái cụ thể của WDM.

Thuộc tính
kStatus_CancelSuccess

Mã trạng thái cũ này có nghĩa là một gói thuê bao đã được huỷ thành công.

Mã trạng thái này có nghĩa là một gói thuê bao đã được huỷ thành công.

kStatus_IllegalReadRequest

Mã trạng thái cũ này có nghĩa là nút đưa ra yêu cầu đọc một mục dữ liệu cụ thể không có quyền làm như vậy.

Mã trạng thái này có nghĩa là nút đưa ra yêu cầu đọc một mục dữ liệu cụ thể không có quyền làm như vậy.

kStatus_IllegalWriteRequest

Mã trạng thái cũ này có nghĩa là nút đưa ra yêu cầu ghi một mục dữ liệu cụ thể không có quyền làm như vậy.

Mã trạng thái này có nghĩa là nút gửi yêu cầu ghi một mục dữ liệu cụ thể không có quyền làm như vậy.

kStatus_InvalidPath

Mã trạng thái cũ này có nghĩa là đường dẫn từ danh sách đường dẫn của khung yêu cầu cập nhật hoặc khung hiển thị không khớp với giản đồ thường trú nút của người trả lời.

Mã trạng thái này có nghĩa là một đường dẫn từ danh sách đường dẫn của khung yêu cầu cập nhật hoặc khung hiển thị không khớp với giản đồ thường trú nút của người trả lời.

kStatus_InvalidVersion

Mã trạng thái cũ này có nghĩa là phiên bản của dữ liệu được bao gồm trong yêu cầu cập nhật không khớp với phiên bản mới nhất của nhà xuất bản, do đó không thể áp dụng bản cập nhật.

Mã trạng thái này có nghĩa là phiên bản của dữ liệu có trong yêu cầu cập nhật không khớp với phiên bản mới nhất của nhà xuất bản, do đó không thể áp dụng bản cập nhật.

kStatus_UnknownTopic

Mã trạng thái cũ này có nghĩa là giá trị nhận dạng chủ đề được cung cấp trong một yêu cầu hoặc thông báo huỷ không khớp với bất kỳ gói thuê bao nào có trên nút nhận.

Mã trạng thái này có nghĩa là từ định danh chủ đề được cung cấp trong một yêu cầu hoặc thông báo huỷ không khớp với bất kỳ gói thuê bao nào trên nút nhận.

kStatus_UnsupportedSubscriptionMode

Mã trạng thái cũ này có nghĩa là thiết bị nhận không hỗ trợ chế độ thuê bao đã yêu cầu.

Mã trạng thái này có nghĩa là thiết bị nhận không hỗ trợ chế độ đăng ký được yêu cầu.

@170

 @170

Thẻ Giao thức quản lý dữ liệu.

Giao thức quản lý dữ liệu xác định một số thẻ được dùng trong TLV để trình bày dữ liệu hồ sơ.

Như thường lệ, có các vấn đề về tính tương thích giữa WDM mới và cũ. Ngày xưa, tất cả các thẻ này được áp dụng theo từng cấu hình cụ thể, điều này lãng phí không gian. Hiện tại, chúng tôi đang sử dụng thẻ ngữ cảnh nếu có thể, nhưng chúng ta cần giữ lại các thẻ cũ (và có cơ chế mã hoá các đường dẫn bằng các thẻ này) khi thích hợp.

Thẻ kTag_WDMDataListElementData không được sử dụng trong các bản phát hành trước và đã bị mã bỏ qua hoàn toàn, vì vậy, chúng tôi không phải cung cấp phiên bản không dùng nữa.

Thuộc tính
kTag_WDMDataList

Phần tử là danh sách các cấu trúc chứa đường dẫn, phiên bản không bắt buộc và phần tử dữ liệu.

Loại thẻ: Loại phần tử cụ thể của cấu hình: Sắp xếp mảng: Cấp cao nhất

kTag_WDMDataListElementData

Phần tử này đại diện cho dữ liệu được trỏ đến bởi đường dẫn nhất định và có phiên bản cụ thể.

Loại thẻ: Loại phần tử theo ngữ cảnh cụ thể: Bất kỳ bố cục nào: Bắt buộc

kTag_WDMDataListElementData_Deprecated

Không dùng nữa.

Loại thẻ: Loại phần tử theo ngữ cảnh cụ thể: Bất kỳ bố cục nào: Bắt buộc

kTag_WDMDataListElementPath

Phần tử này là thành phần đường dẫn của một phần tử danh sách dữ liệu.

Loại thẻ: Loại phần tử theo ngữ cảnh cụ thể: Bố trí đường dẫn: Bắt buộc

kTag_WDMDataListElementPath_Deprecated

Không dùng nữa.

Loại thẻ: Loại phần tử theo hồ sơ cụ thể: Bố trí đường dẫn: Bắt buộc

kTag_WDMDataListElementVersion

Phần tử này là thành phần phiên bản của một phần tử danh sách dữ liệu.

Loại thẻ: Loại phần tử theo ngữ cảnh cụ thể: Sắp xếp số nguyên: Bắt buộc

kTag_WDMDataListElementVersion_Deprecated

Không dùng nữa.

Loại thẻ: Loại phần tử dành riêng cho hồ sơ: Sắp xếp số nguyên: Bắt buộc

kTag_WDMPathArrayIndexSelector

Phần tử đường dẫn tương ứng với một mảng trong giản đồ và phần tử số nguyên chứa sẽ được dùng làm chỉ mục cho mảng đó.

Loại thẻ: Loại phần tử dành riêng cho hồ sơ: Sắp xếp số nguyên: Không bắt buộc

kTag_WDMPathArrayValueSelector

Phần tử đường dẫn tương ứng với một mảng trong giản đồ và phần tử được đóng gói sẽ được dùng làm bộ chọn bản ghi.

Loại thẻ: Loại phần tử theo cấu hình cụ thể: Sắp xếp cấu trúc: Tùy chọn

kTag_WDMPathList

Phần tử này là danh sách các đường dẫn TLV.

Loại thẻ: Loại phần tử cụ thể của cấu hình: Sắp xếp mảng: Cấp cao nhất

kTag_WDMPathProfile

Phần tử này là một cấu trúc được dùng để bắt đầu một đường dẫn và chứa thông tin cấu hình theo thông tin mà các thẻ trong đường dẫn sẽ được diễn giải.

Loại thẻ: Loại phần tử theo hồ sơ cụ thể: Bố trí cấu trúc: Bắt buộc

kTag_WDMPathProfileId

Phần tử này là thành phần mã nhận dạng hồ sơ của phần tử cấu hình đường dẫn bắt đầu đường dẫn TLV.

Loại thẻ: Loại phần tử theo ngữ cảnh cụ thể: Sắp xếp số nguyên: Bắt buộc

kTag_WDMPathProfileId_Deprecated

Không dùng nữa.

Loại thẻ: Loại phần tử dành riêng cho hồ sơ: Sắp xếp số nguyên: Bắt buộc

kTag_WDMPathProfileInstance

Phần tử này là một thực thể hồ sơ, có thể tuân theo mã hồ sơ trong đường dẫn TLV.

Lưu ý rằng một nút có thể có hoặc không có nhiều thực thể của một cấu hình cụ thể và trong trường hợp chỉ có một cấu hình, phần tử này có thể bị bỏ qua.

Loại thẻ: Loại phần tử theo ngữ cảnh cụ thể: Bất kỳ bố cục nào: Không bắt buộc

kTag_WDMPathProfileInstance_Deprecated

Không dùng nữa.

Loại thẻ: Loại phần tử theo hồ sơ cụ thể: Bất kỳ bố trí nào: Không bắt buộc

@171

 @171

Mã chủ đề phân biệt.

Có ba mã chủ đề quan tâm riêng biệt, cả ba mã này đều được định dạng là "dành riêng cho nhà xuất bản".

Thuộc tính
kAnyTopicId

Mã này được đặt trước dưới dạng mã chủ đề ký tự đại diện.

kTopicIdNotSpecified

Đây là một giá trị đặc biệt được đặt trước để thể hiện mã chủ đề không hợp lệ hoặc mã chủ đề không hợp lệ.

kTopicIdPublisherSpecificMask

Mã này được dùng làm mặt nạ để tạo hoặc phân rã mã nhận dạng topci.

WeaveTransportOption

 WeaveTransportOption

Các tuỳ chọn truyền tải WDM.

Đây là những cách thức truyền tải loại trừ lẫn nhau cho WDM.

Thuộc tính
kTransport_TCP

Phương thức truyền tải cơ bản là TCP.

Bạn có thể hoàn tất việc liên kết bằng cách sử dụng trình quản lý dịch vụ hoặc trực tiếp sử dụng lớp thông báo.

kTransport_UDP

Phương thức truyền tải cơ bản chỉ là UDP.

kTransport_WRMP

Phương thức truyền tải cơ bản chỉ là UDP nhưng có các cải tiến về độ tin cậy ở "lớp hỗ trợ ứng dụng".

Typedef

TopicIdentifier

uint64_t TopicIdentifier

Giá trị nhận dạng chủ đề.

Giá trị nhận dạng chủ đề là đại lượng 64 bit với 2 mục đích sử dụng/ngữ nghĩa liên quan. Trước hết, chúng có thể được dùng như cách viết tắt thông thường của một tập hợp các đường dẫn phổ biến, chẳng hạn như "máy phát hiện khói Nest". ID chủ đề được sử dụng theo cách này, chẳng hạn như giá trị nhận dạng hồ sơ, sẽ chứa mã nhà cung cấp để ngăn các mã chủ đề do các nhà cung cấp riêng biệt chọn một cách độc lập khỏi xung đột, như sau:

bit 48 – 63 bit 0 – 47
Mã nhà cung cấp Số chủ đề
Việc sử dụng/ngữ nghĩa thứ hai cho mã nhận dạng chủ đề phát sinh trong trường hợp gói thuê bao động giữa ứng dụng WDM và nhà xuất bản. Trong trường hợp này, nhà xuất bản sẽ luôn cung cấp một mã nhận dạng chủ đề duy nhất viết tắt cho gói thuê bao cụ thể.

Xem thêm:
WeaveVendorIdentifiers.hpp

Hàm

CheckTLVType

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

Kiểm tra để đảm bảo phần tử TLV đang được đọc có kiểu TLV dự kiến.

Kiểm tra một loại TLV nhất định với loại phần tử ở đầu trình đọc TLV.

Thông tin chi tiết
Các tham số
[in] aType
TLVType cần được kiểm tra dựa trên một phần tử cụ thể
[in] aReader
Tham chiếu đến trình đọc TLV ở vị trí của phần tử cần đánh dấu
Trả về
true hãy xem TLVType của phần tử và khớp aType.
Xem thêm:
WeaveTLVTypes.h

CheckWDMTag

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

Kiểm tra thẻ dành riêng cho WDM.

Kiểm tra số lượng thẻ dành riêng cho WDM, từ .../data-management/DMConstants.h, so với thẻ thực tế ở đầu trình đọc TLV.

Thông tin chi tiết
Các tham số
[in] aTagNum
Số thẻ cần được kiểm tra dựa trên một phần tử TLV cụ thể.
[in] aReader
Tham chiếu đến một trình đọc TLV trỏ đến phần tử cần kiểm tra.
Trả về
true iff aReader.GetTag() tạo thẻ phù hợp với một trong các dạng thẻ dự kiến cho số thẻ đã cho.

CloseDataListElement

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

Dừng đọc phần tử danh sách dữ liệu WDM.

Phương thức này giả định rằng phần tử đang được đề cập nằm trong danh sách dữ liệu WDM, và do đó chuyển kTLVType_Array sang ExitContainer().

Thông tin chi tiết
Các tham số
[in,out] aReader
Một trình đọc TLV được đặt trong phần tử danh sách dữ liệu WDM.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết việc không thể thoát khỏi vùng chứa.

CloseList

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

Dừng đọc đường dẫn WDM hoặc danh sách dữ liệu.

Phương thức này giả định rằng danh sách được đề cập là phần tử TLV cấp cao nhất, và vì vậy, hãy chuyển kTLVType_Sru5 đến ExitContainer().

Thông tin chi tiết
Các tham số
[in,out] aReader
Trình đọc TLV được đặt trong đường dẫn WDM hoặc danh sách dữ liệu.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết việc không thể thoát khỏi vùng chứa.

EncodeDeprecatedPath

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

Mã hoá đường dẫn WDM bằng các thẻ không dùng nữa và mã thực thể là số nguyên.

Lưu ý: Mã hoá đường dẫn bằng cách sử dụng bộ thẻ không dùng nữa mà dịch vụ chấp nhận trước khi phát hành Weave 2.0. Phiên bản này của phương thức này sẽ lấy một giá trị nhận dạng thực thể dạng số. Phương thức này bắt đầu một vùng chứa bằng ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), sau đó chèn mã hồ sơ bằng ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Sau đó, thao tác này sẽ chèn mã phiên bản bằng ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Đây là một trong những phiên bản không được dùng nữa để mã hoá đường dẫn và các thiết kế mới sẽ tránh sử dụng định dạng này.

Thông tin chi tiết
Các tham số
[in] aWriter
Tài liệu tham khảo đến tác giả TLV được dùng để viết đường dẫn.
[in] aTag
Tham chiếu đến thẻ TLV đủ điều kiện áp dụng cho đường dẫn này.
[in] aProfileId
Mã cấu hình mà trong đó các phần tử của đường dẫn sẽ được diễn giải.
[in] aInstanceId
Tham chiếu đến mã phiên bản không bắt buộc của cấu hình sẽ được sử dụng.
[in] aPathLen
Độ dài, có thể là 0, của danh sách các phần tử đường dẫn ngoài thông số cấu hình ban đầu.
[in] ...
Danh sách không bắt buộc về độ dài có thể thay đổi gồm các thẻ đường dẫn bổ sung.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết rằng hệ thống không thể định dạng đường dẫn đã cho.

EncodeDeprecatedPath

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

Mã hoá đường dẫn WDM bằng các thẻ không dùng nữa và mã bản sao chuỗi.

Lưu ý: Mã hoá đường dẫn bằng cách sử dụng bộ thẻ không dùng nữa (xem DMConstants.h). Phiên bản này của phương thức sẽ lấy một chuỗi mã thực thể. Phương thức này bắt đầu một vùng chứa bằng ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), sau đó chèn mã hồ sơ bằng ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Sau đó, thao tác này sẽ chèn mã phiên bản bằng ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Đây là một trong những phiên bản không được dùng nữa để mã hoá đường dẫn và các thiết kế mới sẽ tránh sử dụng định dạng này.

Thông tin chi tiết
Các tham số
[in] aWriter
Tài liệu tham khảo đến tác giả TLV được dùng để viết đường dẫn.
[in] aTag
Tham chiếu đến thẻ TLV đủ điều kiện áp dụng cho đường dẫn này.
[in] aProfileId
Mã cấu hình mà trong đó các phần tử của đường dẫn sẽ được diễn giải.
[in] aInstanceId
Chuỗi không bắt buộc được dùng làm giá trị nhận dạng thực thể của hồ sơ. Đối số này có thể là NULL nếu không có ID thực thể nào được chỉ định.
[in] aPathLen
Độ dài, có thể là 0, của danh sách các phần tử đường dẫn ngoài thông số cấu hình ban đầu.
[in] ...
Danh sách các thẻ đường dẫn bổ sung, không bắt buộc, có độ dài thay đổi.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết rằng hệ thống không thể định dạng đường dẫn đã cho.

EncodePath

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

Mã hoá đường dẫn WDM bằng mã phiên bản cấu hình bằng số nguyên.

Lưu ý: Hãy viết một đường dẫn TLV thuộc loại dùng trong hoạt động quản lý dữ liệu, trong đó, cụ thể là có một thông tin chỉ định hồ sơ được đặt ở đầu để cho phép diễn giải các phần tử đường dẫn tiếp theo. Phiên bản này của phương thức này lấy một mã thực thể của hồ sơ bằng số nguyên.

Phương thức này sẽ chèn mã thực thể bằng cách sử dụng ContextTag(kTag_WDMPathProfileInstance), là phiên bản mới nhất để mã hoá đường dẫn.

Thông tin chi tiết
Các tham số
[in] aWriter
Tài liệu tham khảo đến tác giả TLV được dùng để viết đường dẫn.
[in] aTag
Tham chiếu đến thẻ TLV đủ điều kiện áp dụng cho đường dẫn này.
[in] aProfileId
Mã cấu hình mà trong đó các phần tử của đường dẫn sẽ được diễn giải.
[in] aInstanceId
Tham chiếu đến giá trị nhận dạng thực thể không bắt buộc của hồ sơ sẽ được sử dụng. Nếu không có mã phiên bản nào được sử dụng, thì tham số này sẽ có giá trị kInstanceIdNotSpecified.
[in] aPathLen
Độ dài, có thể là 0, của danh sách các phần tử đường dẫn ngoài thông số cấu hình ban đầu.
[in] ...
Danh sách không bắt buộc về độ dài có thể thay đổi gồm các thẻ đường dẫn bổ sung.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết rằng hệ thống không thể định dạng đường dẫn đã cho.

EncodePath

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

Mã hoá đường dẫn WDM bằng mã phiên bản mảng byte.

Lưu ý: Hãy viết một đường dẫn TLV thuộc loại dùng trong hoạt động quản lý dữ liệu, trong đó, cụ thể là có một thông tin chỉ định hồ sơ được đặt ở đầu để cho phép diễn giải các phần tử đường dẫn tiếp theo. Phiên bản này của phương thức này sẽ lấy một mã thực thể cấu hình mảng byte cùng với độ dài.

Phương thức này sẽ chèn mã thực thể bằng cách sử dụng ContextTag(kTag_WDMPathProfileInstance), là phiên bản mới nhất để mã hoá đường dẫn.

Thông tin chi tiết
Các tham số
[in] aWriter
Tài liệu tham khảo đến tác giả TLV được dùng để viết đường dẫn.
[in] aTag
Tham chiếu đến thẻ TLV đủ điều kiện áp dụng cho đường dẫn này.
[in] aProfileId
Mã cấu hình mà theo đó các phần tử của đường dẫn sẽ được diễn giải.
[in] aInstanceIdLen
Độ dài của mảng byte tạo thành mã thực thể. Nếu không có ID thì tham số này sẽ có giá trị bằng 0.
[in] aInstanceId
Mảng byte tuỳ chọn được dùng làm giá trị nhận dạng thực thể cấu hình. Đối số này có thể là NULL trong trường hợp không có mã thực thể nào được chỉ định.
[in] aPathLen
Độ dài, có thể là 0, của danh sách các phần tử đường dẫn ngoài thông số cấu hình ban đầu.
[in] ...
Danh sách các thẻ đường dẫn bổ sung, không bắt buộc, có độ dài thay đổi.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết rằng hệ thống không thể định dạng đường dẫn đã cho.

EncodePath

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

Mã hoá đường dẫn WDM bằng mã phiên bản chuỗi.

Lưu ý: Hãy viết một đường dẫn TLV thuộc loại dùng trong hoạt động quản lý dữ liệu, trong đó, cụ thể là có một thông tin chỉ định hồ sơ được đặt ở đầu để cho phép diễn giải các phần tử đường dẫn tiếp theo. Phiên bản này của phương thức này sẽ lấy một mã thực thể của hồ sơ chuỗi.

Phương thức này sẽ chèn mã thực thể bằng cách sử dụng ContextTag(kTag_WDMPathProfileInstance), là phiên bản mới nhất để mã hoá đường dẫn.

Thông tin chi tiết
Các tham số
[in] aWriter
Tài liệu tham khảo đến tác giả TLV được dùng để viết đường dẫn.
[in] aTag
Tham chiếu đến thẻ TLV đủ điều kiện áp dụng cho đường dẫn này.
[in] aProfileId
Mã cấu hình mà trong đó các phần tử của đường dẫn sẽ được diễn giải.
[in] aInstanceId
Chuỗi không bắt buộc được dùng làm giá trị nhận dạng thực thể của hồ sơ. Đối số này có thể là NULL nếu không có ID thực thể nào được chỉ định.
[in] aPathLen
Độ dài, có thể là 0, của danh sách các phần tử đường dẫn ngoài thông số cấu hình ban đầu.
[in] ...
Danh sách các thẻ đường dẫn bổ sung, không bắt buộc, có độ dài thay đổi.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết rằng hệ thống không thể định dạng đường dẫn đã cho.

EndDataListElement

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

Hoàn tất việc ghi phần tử danh sách dữ liệu.

Viết TLV cho phần cuối của phần tử danh sách dữ liệu WDM. Lưu ý rằng mã này sẽ tự động chuyển một loại kTLVType_Array đến lệnh gọi EndContainer(), giả sử chúng ta luôn đóng một mục danh sách.

Thông tin chi tiết
Các tham số
[in] aWriter
Tham chiếu đến một tác giả TLV để viết phần cuối của mục.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết không thể kết thúc vùng chứa.

EndEncodePath

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

EndList

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

Hoàn tất việc viết một danh sách đường dẫn hoặc danh sách dữ liệu.

Viết TLV cho phần cuối của đường dẫn WDM hoặc danh sách dữ liệu. Đồng thời, hoàn thiện tác giả.

Thông tin chi tiết
Các tham số
[in,out] aWriter
Tham chiếu đến một người viết TLV để viết phần cuối của danh sách.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết không thể kết thúc vùng chứa.

EndList

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

Hoàn tất việc viết một danh sách đường dẫn hoặc danh sách dữ liệu.

Viết TLV cho phần cuối của đường dẫn WDM hoặc danh sách dữ liệu. Đồng thời, hoàn thiện tác giả. Trong trường hợp này, đối tượng ReferencedTLVDataTLV đang được ghi sẽ được truyền vào và sửa đổi để phản ánh lượng dữ liệu được ghi.

Thông tin chi tiết
Các tham số
[in,out] aList
Tham chiếu đến đối tượng ReferenceTLVData mà danh sách được ghi.
[in] aWriter
Tham chiếu đến một người viết TLV để viết phần cuối của danh sách.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết không thể kết thúc vùng chứa.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

Kiểm tra xem mã chủ đề có dành riêng cho nhà xuất bản hay không.

Thông tin chi tiết
Các tham số
[in] aTopicId
không thể kiểm tra thông tin nhận dạng chủ đề
Trả về
true nếu mã chủ đề là dành riêng cho nhà xuất bản, nếu không thì false

OpenDataList

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

Bắt đầu đọc danh sách dữ liệu.

Với một trình đọc mới và danh sách dữ liệu, hãy bắt đầu đọc danh sách cũng như xác thực các thẻ và loại ban đầu gặp phải trong quá trình. Nếu mọi việc suôn sẻ, trình đọc sẽ dừng sau khi vùng chứa danh sách được nhập.

Thông tin chi tiết
Các tham số
[in] aDataList
Danh sách dữ liệu được truyền dưới dạng tham chiếu đến đối tượng ReferencedTLVData. Trường hợp sử dụng thông thường sẽ là khi danh sách thực sự vẫn nằm trong vùng đệm sau khi nhận.
[out] aReader
Tham chiếu đến trình đọc TLV dùng để đọc danh sách dữ liệu. Người đọc này sẽ trỏ sang trái ngay trước mục đầu tiên trong danh sách.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết lỗi mở danh sách dữ liệu và/hoặc xác thực các thẻ và loại có liên quan.

OpenDataListElement

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

Bắt đầu đọc một phần tử trong danh sách dữ liệu.

Với trình đọc được đặt ở phần tử danh sách dữ liệu, hãy bắt đầu đọc phần tử đó và xác thực các thẻ cũng như loại gặp phải ban đầu trong quá trình này. Nếu mọi việc suôn sẻ, trình đọc sẽ được định vị ở dữ liệu phần tử dữ liệu và trình đọc đường dẫn vào/ra sẽ được định vị ở đường dẫn tương ứng.

Thông tin chi tiết
Các tham số
[in] aReader
Tham chiếu đến trình đọc TLV được đặt ở phần tử danh sách dữ liệu.
[out] aPathReader
Tham chiếu đến trình đọc TLV để trỏ đến thành phần đường dẫn của phần tử danh sách dữ liệu.
[out] aVersion
Tham chiếu đến số nguyên 64 bit để được đặt thành phiên bản phần tử danh sách dữ liệu nếu có hoặc nếu không có kVersionNotSpecified.
Trả về
WEAVE_NO_ERROR khi thành công hoặc có một WEAVE_ERROR liên quan đến việc mở và đọc phần tử danh sách dữ liệu.

OpenPathList

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

Bắt đầu đọc danh sách đường dẫn.

Với một trình đọc mới và danh sách đường dẫn, hãy bắt đầu đọc danh sách cũng như xác thực các thẻ và loại ban đầu gặp phải trong quá trình này. Nếu mọi việc suôn sẻ, trình đọc sẽ dừng sau khi vùng chứa danh sách được nhập.

Thông tin chi tiết
Các tham số
[in] aPathList
Danh sách đường dẫn được truyền ở dạng tham chiếu đến đối tượng ReferencedTLVData. Trường hợp sử dụng thông thường sẽ là khi danh sách thực sự vẫn nằm trong vùng đệm sau khi nhận.
[out] aReader
Tham chiếu đến trình đọc TLV dùng để đọc danh sách đường dẫn. Trình đọc này sẽ trỏ sang trái ngay trước đường dẫn đầu tiên trong danh sách.
Trả về
WEAVE_NO_ERROR khi thành công; nếu không thì một WEAVE_ERROR phản ánh tình trạng không thành công sẽ mở danh sách đường dẫn và/hoặc xác thực các thẻ và loại có liên quan.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

Tạo mã chủ đề dành riêng cho nhà xuất bản từ đầu.

Thông tin chi tiết
Trả về
mã nhận dạng chủ đề mới.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

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

Bắt đầu viết một danh sách dữ liệu.

Viết TLV cho phần đầu của danh sách dữ liệu WDM, ví dụ: làm đối số chính của UpdateRequest().

Thông tin chi tiết
Các tham số
[in] aWriter
Tài liệu tham khảo về một tác giả TLV để bắt đầu viết.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết không thể khởi động vùng chứa.

StartDataList

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

Bắt đầu ghi danh sách dữ liệu cho một đối tượng ReferencedTLVData cho trước.

Viết TLV cho phần đầu của danh sách dữ liệu WDM. Trong trường hợp này, chúng ta giả định đang ghi danh sách dữ liệu vào một cấu trúc dữ liệu TLV được tham chiếu. Trình ghi được giả định là chưa khởi tạo – hoặc trong mọi trường hợp, sẽ được khởi tạo để trỏ đến đối tượng đã cho.

Thông tin chi tiết
Các tham số
[out] aDataList
Tham chiếu đến đối tượng ReferencedTLVData. Đối tượng này sẽ là mục tiêu của người viết và cuối cùng chứa dữ liệu mà họ quan tâm.
[in] aWriter
Tài liệu tham khảo về một tác giả TLV để bắt đầu viết.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết không thể khởi động vùng chứa.

StartDataListElement

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

Bắt đầu viết một phần tử cho danh sách dữ liệu.

Viết TLV để bắt đầu phần tử danh sách dữ liệu WDM.

Thông tin chi tiết
Các tham số
[in] aWriter
Tài liệu tham khảo về một tác giả TLV để bắt đầu viết.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết không thể khởi động vùng chứa.

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
)

Bắt đầu viết một danh sách đường dẫn.

Viết TLV cho phần đầu của danh sách đường dẫn WDM, ví dụ: làm đối số chính của ViewRequest().

Thông tin chi tiết
Các tham số
[in] aWriter
Tài liệu tham khảo về một tác giả TLV để bắt đầu viết.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết không thể khởi động vùng chứa.

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
)

Xác thực rằng phần tử TLV đang được đọc có kiểu TLV dự kiến.

Kiểm tra một loại TLV nhất định với loại phần tử ở đầu trình đọc TLV và trả về lỗi nếu không có kết quả nào khớp.

Thông tin chi tiết
Các tham số
[in] aType
TLVType cần được xác thực dựa trên một phần tử cụ thể.
[in] aReader
Mã tham chiếu đến một trình đọc TLV được đặt ở phần tử cần xác thực.
Trả về
WEAVE_NO_ERROR nếu có kết quả trùng khớp hoặc WEAVE_ERROR_WRONG_TLV_TYPE nếu không có.
Xem thêm:
WeaveTLVTypes.h

ValidateWDMTag

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

Xác thực rằng phần tử TLV đang được đọc có thẻ WDM dự kiến.

Thông tin chi tiết
Các tham số
[in] aTagNum
Số thẻ 32 bit của thẻ WDM dự kiến.
[in] aReader
Trình đọc TLV được đặt ở phần tử cần xác thực.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, WEAVE_ERROR_INVALID_TLV_TAG nếu thẻ không khớp với số thẻ đã cho khi được hiểu là thẻ WDM.