nl::Weave::Profiles::DataManagement_Legacy

Namespace ini mencakup semua antarmuka dalam profil Weave for the Weave Data Management (WDM) yang akan dihentikan penggunaannya.

Ringkasan

Enumerasi

@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
Ukuran tabel dan kumpulan 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
Jenis pesan profil WDM.
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
enum
Konstanta khusus WDM lainnya.
@169{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
Kode status khusus 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
Tag Protokol Manajemen Data.
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum
ID topik yang dibedakan.
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
enum
Opsi transportasi WDM.

Typedef

TopicIdentifier typedef
uint64_t
ID topik.

Fungsi

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
Pastikan elemen TLV yang sedang dibaca memiliki jenis TLV yang diharapkan.
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
Periksa tag khusus WDM.
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
Berhenti membaca elemen daftar data WDM.
CloseList(nl::Weave::TLV::TLVReader & aReader)
Berhenti membaca jalur WDM atau daftar data.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Mengenkode jalur WDM dengan tag yang tidak digunakan lagi dan ID instance bilangan bulat.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Mengenkode jalur WDM dengan tag yang tidak digunakan lagi dan ID instance string.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Mengenkode jalur WDM dengan ID instance profil bilangan bulat.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
Mengenkode jalur WDM dengan ID instance array byte.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Mengenkode jalur WDM dengan ID instance string.
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Menyelesaikan penulisan elemen daftar data.
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
Menyelesaikan penulisan daftar jalur atau daftar data.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
Menyelesaikan penulisan daftar jalur atau daftar data.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
Periksa apakah ID topik khusus penayang.
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
Mulai baca daftar data.
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
Mulai baca elemen daftar data.
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
Mulai baca daftar jalur.
PublisherSpecificTopicId(void)
Buat ID topik khusus penayang dari awal.
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
Mulai menulis daftar data.
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
Mulai tulis daftar data ke objek ReferencedTLVData tertentu.
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Mulai menulis elemen daftar data.
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
Mulai menulis daftar jalur.
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)
Validasi apakah elemen TLV yang sedang dibaca memiliki jenis TLV yang diharapkan.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
Validasi apakah elemen TLV yang sedang dibaca memiliki tag WDM yang diharapkan.

Class

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

Class Binding mengelola status komunikasi atas nama entity aplikasi menggunakan Weave.

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

Class abstrak yang berisi definisi metode konfirmasi dan indikasi yang diperlukan oleh klien WDM.

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

Class tambahan yang digunakan saat dukungan langganan dan notifikasi diinginkan pada klien WDM.

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

Class dasar abstrak untuk klien WDM khusus aplikasi.

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

Class dasar abstrak untuk penayang WDM khusus aplikasi.

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

Class tambahan ProfileDatabase abstrak.

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

Class engine protokol WDM.

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

Class abstrak yang berisi definisi metode konfirmasi dan notifikasi yang diperlukan oleh penayang WDM.

Enumerasi

@103

 @103
Properti
kStatus_CancelSuccess

Kode status lama ini berarti langganan berhasil dibatalkan.

Kode status ini berarti langganan berhasil dibatalkan.

kStatus_IllegalReadRequest

Dengan kode status lama, node yang membuat permintaan untuk membaca item data tertentu tidak memiliki izin untuk melakukannya.

Kode status ini berarti node yang membuat permintaan untuk membaca item data tertentu tidak memiliki izin untuk melakukannya.

kStatus_IllegalWriteRequest

Dengan kode status lama, node yang membuat permintaan untuk menulis item data tertentu tidak memiliki izin untuk melakukannya.

Kode status ini berarti node yang membuat permintaan untuk menulis item data tertentu tidak memiliki izin untuk melakukannya.

kStatus_InvalidPath

Kode status lama ini berarti jalur dari daftar jalur frame permintaan tampilan atau pembaruan tidak cocok dengan skema penghuni node responden.

Kode status ini berarti jalur dari daftar jalur frame permintaan tampilan atau pembaruan tidak cocok dengan skema penghuni node dari responden.

kStatus_InvalidVersion

Kode status lama ini berarti versi untuk data yang disertakan dalam permintaan update tidak cocok dengan versi terbaru di penayang, sehingga update tidak dapat diterapkan.

Kode status ini berarti versi untuk data yang disertakan dalam permintaan update tidak sesuai dengan versi terbaru di penayang, sehingga update tidak dapat diterapkan.

kStatus_UnknownTopic

Dengan kode status lama, ID topik yang diberikan dalam permintaan pembatalan atau notifikasi tidak cocok dengan langganan apa pun yang masih ada di node penerima.

Kode status ini berarti ID topik yang diberikan dalam permintaan pembatalan atau notifikasi tidak cocok dengan langganan apa pun yang masih ada di node penerima.

kStatus_UnsupportedSubscriptionMode

Kode status lama ini berarti mode langganan yang diminta tidak didukung oleh perangkat penerima.

Kode status ini berarti mode langganan yang diminta tidak didukung oleh perangkat penerima.

@166

 @166

Ukuran tabel dan kumpulan WDM.

WDM menentukan berbagai kumpulan dan tabel yang diperlukan untuk operasinya, sebagai berikut.

Kumpulan transaksi klien:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

Kumpulan transaksi penayang:

  • kNotifyPoolSize

{i>Protocol engine table<i} (Tabel mesin protokol):

  • kTransactionTableSize
  • kBindingTableSize

Tabel terkait langganan:

  • kNotifierTableSize (khusus klien)
  • kSubscriptionMgrTableSize (khusus penayang)

Perhatikan bahwa ini adalah jumlah yang dapat dikonfigurasi dan nilai per platform muncul di WeaveConfig.h terkait.

Properti
kBindingTableSize

Ini adalah ukuran default tabel binding di mesin protokol WDM.

Nilai ini dapat dikonfigurasi melalui WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE.

kCancelSubscriptionPoolSize

Ini adalah ukuran default kumpulan transaksi permintaan langganan untuk klien WDM.

Nilai ini dapat dikonfigurasi melalui WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE.

kNotifierTableSize

Ini adalah ukuran default tabel notifikasi untuk klien WDM.

Nilai ini dapat dikonfigurasi melalui WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE.

kNotifyPoolSize

Ini adalah ukuran default kumpulan transaksi permintaan notifikasi untuk penayang WDM.

Nilai ini dapat dikonfigurasi melalui WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE.

kSubscribePoolSize

Ini adalah ukuran default kumpulan transaksi permintaan berlangganan untuk klien WDM.

Nilai ini dapat dikonfigurasi melalui WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE.

kSubscriptionMgrTableSize

Ini adalah ukuran default tabel langganan untuk penerbit WDM.

Nilai ini dapat dikonfigurasi melalui WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE.

kTransactionTableSize

Ini adalah ukuran default tabel transaksi di mesin protokol WDM.

Nilai ini dapat dikonfigurasi melalui WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE.

kUpdatePoolSize

Ini adalah ukuran default kumpulan transaksi permintaan update untuk klien WDM.

Nilai ini dapat dikonfigurasi melalui WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE.

kViewPoolSize

Ini adalah ukuran default kumpulan transaksi permintaan tampilan untuk klien WDM.

Nilai ini dapat dikonfigurasi melalui WEAVE_CONFIG_WDM_VIEW_POOL_SIZE.

@167

 @167

Jenis pesan profil WDM.

Nilai ini disebut dalam spesifikasi pengelolaan data.

CATATAN!! Mulai Q1 2015, jenis pesan yang digunakan di WDM versi sebelumnya tidak digunakan lagi dan jenis pesan baru telah ditentukan, yang mencerminkan pergeseran yang cukup dengan detail pengemasan dan penguraian sebelumnya untuk membenarkan jeda yang bersih.

Properti
kMsgType_CancelSubscriptionRequest

Batalkan pesan permintaan langganan.

kMsgType_CancelSubscriptionRequest_Deprecated

tidak digunakan lagi

kMsgType_NotifyRequest

Beri tahu pesan permintaan.

kMsgType_NotifyRequest_Deprecated

tidak digunakan lagi

kMsgType_SubscribeRequest

Pesan permintaan berlangganan.

kMsgType_SubscribeRequest_Deprecated

tidak digunakan lagi

kMsgType_SubscribeResponse

Berlangganan pesan respons.

kMsgType_SubscribeResponse_Deprecated

tidak digunakan lagi

kMsgType_UpdateRequest

Perbarui pesan permintaan.

kMsgType_UpdateRequest_Deprecated

tidak digunakan lagi

kMsgType_ViewRequest

Lihat pesan permintaan.

kMsgType_ViewRequest_Deprecated

tidak digunakan lagi

kMsgType_ViewResponse

Lihat pesan respons.

kMsgType_ViewResponse_Deprecated

tidak digunakan lagi

@168

 @168

Konstanta khusus WDM lainnya.

Properti
kDefaultBindingTableIndex

Indeks binding default di tabel binding mesin protokol dengan lebih dari satu entri.

kInstanceIdNotSpecified

Pada panggilan yang memerlukan spesifikasi instance profil, menunjukkan "none'.

Sering kali hal ini berarti bahwa hanya ada satu instance profil pada entitas yang dimaksud.

kResponseTimeoutNotSpecified

Dalam metode yang meminta transaksi, menunjukkan bahwa pemanggil telah menolak untuk menentukan waktu tunggu.

Umumnya ini berarti {i>default<i} harus digunakan.

kTransactionIdNotSpecified

Dalam metode dan struktur data yang mengambil ID transaksi, menunjukkan nilai "none" atau karakter pengganti.

kVersionNotSpecified

Pada panggilan yang memerlukan spesifikasi versi data, tunjukkan "tidak ada versi tertentu".

kWeaveTLVControlByteLen

Panjang byte kontrol TLV, yang digunakan dalam metode dukungan yang mengenkode struktur WDM dalam TLV.

kWeaveTLVTagLen

Panjang standar dalam byte dari tag TLV yang memenuhi syarat penuh, yang digunakan dalam metode dukungan yang mengenkode struktur WDM dalam TLV.

@169

 @169

Kode status khusus WDM.

Properti
kStatus_CancelSuccess

Kode status lama ini berarti langganan berhasil dibatalkan.

Kode status ini berarti langganan berhasil dibatalkan.

kStatus_IllegalReadRequest

Dengan kode status lama, node yang membuat permintaan untuk membaca item data tertentu tidak memiliki izin untuk melakukannya.

Kode status ini berarti node yang membuat permintaan untuk membaca item data tertentu tidak memiliki izin untuk melakukannya.

kStatus_IllegalWriteRequest

Dengan kode status lama, node yang membuat permintaan untuk menulis item data tertentu tidak memiliki izin untuk melakukannya.

Kode status ini berarti node yang membuat permintaan untuk menulis item data tertentu tidak memiliki izin untuk melakukannya.

kStatus_InvalidPath

Kode status lama ini berarti jalur dari daftar jalur frame permintaan tampilan atau pembaruan tidak cocok dengan skema penghuni node responden.

Kode status ini berarti jalur dari daftar jalur frame permintaan tampilan atau pembaruan tidak cocok dengan skema penghuni node dari responden.

kStatus_InvalidVersion

Kode status lama ini berarti versi untuk data yang disertakan dalam permintaan update tidak cocok dengan versi terbaru di penayang, sehingga update tidak dapat diterapkan.

Kode status ini berarti versi untuk data yang disertakan dalam permintaan update tidak sesuai dengan versi terbaru di penayang, sehingga update tidak dapat diterapkan.

kStatus_UnknownTopic

Dengan kode status lama, ID topik yang diberikan dalam permintaan pembatalan atau notifikasi tidak cocok dengan langganan apa pun yang masih ada di node penerima.

Kode status ini berarti ID topik yang diberikan dalam permintaan pembatalan atau notifikasi tidak cocok dengan langganan apa pun yang masih ada di node penerima.

kStatus_UnsupportedSubscriptionMode

Kode status lama ini berarti mode langganan yang diminta tidak didukung oleh perangkat penerima.

Kode status ini berarti mode langganan yang diminta tidak didukung oleh perangkat penerima.

@170

 @170

Tag Protokol Manajemen Data.

Protokol pengelolaan data menentukan sejumlah tag yang akan digunakan dalam representasi TLV data profil.

Seperti biasa, ada masalah kompatibilitas antara WDM baru dan WDM lama. Di masa lalu, semua tag ini diterapkan sebagai profil spesifik, yang menyia-nyiakan ruang. Sekarang kami menggunakan tag konteks jika memungkinkan, tetapi kami perlu mempertahankan tag lama (dan memiliki mekanisme untuk encoding jalur dengan semuanya) jika sesuai.

Tag kTag_WDMDataListElementData tidak digunakan dalam rilis sebelumnya dan sepenuhnya diabaikan oleh kode, sehingga kami tidak perlu menyediakan versi yang tidak digunakan lagi.

Properti
kTag_WDMDataList

Elemen tersebut adalah daftar struktur yang berisi jalur, versi opsional, dan elemen data.

Jenis Tag: Jenis Elemen Khusus Profil: Disposisi Array: Tingkat atas

kTag_WDMDataListElementData

Elemen ini mewakili data yang ditunjuk oleh jalur tertentu dan memiliki versi yang diberikan.

Jenis Tag: Jenis Elemen Khusus Konteks: Disposisi Apa Pun: Wajib

kTag_WDMDataListElementData_Deprecated

Tidak digunakan lagi.

Jenis Tag: Jenis Elemen Khusus Konteks: Disposisi Apa Pun: Wajib

kTag_WDMDataListElementPath

Elemen adalah komponen jalur dari elemen daftar data.

Jenis Tag: Jenis Elemen Khusus konteks: Disposisi Jalur: Wajib

kTag_WDMDataListElementPath_Deprecated

Tidak digunakan lagi.

Jenis Tag: Jenis Elemen Khusus Profil: Disposisi Jalur: Diperlukan

kTag_WDMDataListElementVersion

Elemen adalah komponen versi elemen daftar data.

Jenis Tag: Jenis Elemen Khusus Konteks: Disposisi Bilangan Bulat: Wajib

kTag_WDMDataListElementVersion_Deprecated

Tidak digunakan lagi.

Jenis Tag: Jenis Elemen Khusus Profil: Disposisi Bilangan Bulat: Wajib

kTag_WDMPathArrayIndexSelector

Elemen jalur sesuai dengan array dalam skema dan elemen bilangan bulat yang ada di dalamnya akan digunakan sebagai indeks ke dalam array tersebut.

Jenis Tag: Jenis Elemen Khusus Profil: Disposisi Bilangan Bulat: Opsional

kTag_WDMPathArrayValueSelector

Elemen jalur sesuai dengan array dalam skema dan elemen yang dienkapsulasi akan digunakan sebagai pemilih record.

Jenis Tag: Jenis Elemen Khusus Profil: Disposisi Struktur: Opsional

kTag_WDMPathList

Elemen ini adalah daftar jalur TLV.

Jenis Tag: Jenis Elemen Khusus Profil: Disposisi Array: Tingkat atas

kTag_WDMPathProfile

Elemen adalah struktur yang digunakan untuk memulai jalur dan berisi informasi profil yang terkait dengan tag di jalur yang akan ditafsirkan.

Jenis Tag: Jenis Elemen Khusus Profil: Disposisi Struktur: Diperlukan

kTag_WDMPathProfileId

Elemen ini adalah komponen ID profil dari elemen profil jalur yang memulai jalur TLV.

Jenis Tag: Jenis Elemen Khusus Konteks: Disposisi Bilangan Bulat: Wajib

kTag_WDMPathProfileId_Deprecated

Tidak digunakan lagi.

Jenis Tag: Jenis Elemen Khusus Profil: Disposisi Bilangan Bulat: Wajib

kTag_WDMPathProfileInstance

Elemen ini adalah instance profil, yang dapat mengikuti ID profil di jalur TLV.

Perhatikan, node mungkin memiliki atau tidak memiliki banyak instance profil tertentu dan, jika hanya ada satu, elemen ini dapat dihilangkan.

Jenis Tag: Jenis Elemen Khusus Konteks: Disposisi Apa Pun: Opsional

kTag_WDMPathProfileInstance_Deprecated

Tidak digunakan lagi.

Jenis Tag: Jenis Elemen Khusus Profil: Disposisi Apa Pun: Opsional

@171

 @171

ID topik yang dibedakan.

Ada tiga ID topik minat yang dibedakan, ketiganya diformat sebagai "khusus penayang".

Properti
kAnyTopicId

ID ini dicadangkan sebagai ID topik karakter pengganti.

kTopicIdNotSpecified

Ini adalah nilai khusus yang dicadangkan untuk menyatakan ID topik karakter pengganti atau yang tidak valid.

kTopicIdPublisherSpecificMask

Ini digunakan sebagai mask untuk membuat atau mengurai ID topci.

WeaveTransportOption

 WeaveTransportOption

Opsi transportasi WDM.

Ini adalah opsi transport yang saling eksklusif untuk WDM.

Properti
kTransport_TCP

Transportasi yang mendasarinya adalah TCP.

Pengikatan dapat diselesaikan menggunakan pengelola layanan atau secara langsung menggunakan lapisan pesan.

kTransport_UDP

Transportasi yang mendasarinya secara eksklusif adalah UDP.

kTransport_WRMP

Transport yang mendasarinya secara eksklusif adalah UDP, tetapi dengan peningkatan keandalan "lapisan dukungan aplikasi".

Typedef

TopicIdentifier

uint64_t TopicIdentifier

ID topik.

ID topik adalah kuantitas 64-bit dengan dua penggunaan/semantik terkait. Pertama-tama, jalur ini dapat digunakan sebagai singkatan konvensional untuk serangkaian jalur yang sudah dikenal, mis. "detektor asap Nest". ID topik yang digunakan dengan cara ini harus, seperti ID profil, berisi kode vendor yang mencegah ID topik dipilih secara otonom oleh vendor yang berbeda agar tidak bertentangan, sebagai berikut:

bit 48 - 63 bit 0 - 47
ID Vendor Nomor topik
Penggunaan/semantik kedua untuk ID topik muncul dalam kasus langganan dinamis antara klien WDM dan penerbit. Dalam hal ini, penerbit harus selalu memberikan ID topik unik yang merupakan singkatan dari langganan tertentu dan harus melakukannya baik langganan tersebut diminta menggunakan ID topik yang terkenal atau daftar jalur arbitrer. ID topik formulir ini dibedakan dengan memiliki kode vendor 0xFFFF.

Lihat juga:
WeaveVendorIdentifiers.hpp

Fungsi

CheckTLVType

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

Pastikan elemen TLV yang sedang dibaca memiliki jenis TLV yang diharapkan.

Memeriksa jenis TLV yang diberikan terhadap jenis elemen di bagian atas pembaca TLV.

Detail
Parameter
[in] aType
TLVType yang akan diperiksa terhadap elemen tertentu
[in] aReader
Referensi ke pembaca TLV yang diposisikan pada elemen yang akan diperiksa
Hasil
true jika TLVType elemen dan aType cocok.
Lihat juga:
WeaveTLVTypes.h

CheckWDMTag

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

Periksa tag khusus WDM.

Periksa jumlah tag khusus WDM, dari .../data-management/DMConstants.h, terhadap tag sebenarnya di bagian atas pembaca TLV.

Detail
Parameter
[in] aTagNum
Nomor tag yang akan diperiksa terhadap elemen TLV tertentu.
[in] aReader
Referensi ke pembaca TLV yang mengarah ke elemen yang akan diperiksa.
Hasil
true iff aReader.GetTag() menghasilkan tag yang cocok dengan salah satu bentuk tag yang diharapkan untuk nomor tag yang ditentukan.

CloseDataListElement

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

Berhenti membaca elemen daftar data WDM.

Metode ini mengasumsikan bahwa elemen yang dimaksud adalah bagian dari daftar data WDM sehingga meneruskan kTLVType_Array ke ExitContainer().

Detail
Parameter
[in,out] aReader
Pembaca TLV yang diposisikan dalam elemen daftar data WDM.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk keluar dari container.

CloseList

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

Berhenti membaca jalur WDM atau daftar data.

Metode ini mengasumsikan bahwa daftar yang dimaksud adalah elemen TLV teratas, sehingga meneruskan kTLVType_Sructure ke ExitContainer().

Detail
Parameter
[in,out] aReader
Pembaca TLV yang diposisikan di jalur WDM atau daftar data.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk keluar dari container.

EncodeDeprecatedPath

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

Mengenkode jalur WDM dengan tag yang tidak digunakan lagi dan ID instance bilangan bulat.

Catatan:Enkode jalur menggunakan kumpulan tag yang tidak digunakan lagi dan diterima oleh layanan sebelum rilis Weave 2.0. Versi metode ini menggunakan ID instance numerik. Metode ini memulai penampung dengan ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), lalu menyisipkan ID profil dengan ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Kemudian, ID instance disisipkan dengan ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Ini adalah salah satu versi yang tidak digunakan lagi untuk mengenkode jalur, dan desain baru harus menghindari penggunaan format ini.

Detail
Parameter
[in] aWriter
Referensi ke penulis TLV yang digunakan untuk menulis jalur.
[in] aTag
Referensi ke tag TLV yang sepenuhnya memenuhi syarat yang berlaku untuk jalur ini.
[in] aProfileId
ID profil yang akan digunakan untuk menafsirkan elemen jalur.
[in] aInstanceId
Referensi ke ID instance opsional profil yang akan digunakan.
[in] aPathLen
Panjang daftar elemen jalur, mungkin 0, di luar penentu profil awal.
[in] ...
Daftar panjang variabel opsional dari tag jalur tambahan.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang mencerminkan ketidakmampuan untuk memformat jalur yang ditentukan.

EncodeDeprecatedPath

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

Mengenkode jalur WDM dengan tag yang tidak digunakan lagi dan ID instance string.

Catatan:Mengenkode jalur menggunakan kumpulan tag yang tidak digunakan lagi (lihat DMConstants.h). Versi metode ini mengambil string ID instance. Metode ini memulai penampung dengan ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), lalu menyisipkan ID profil dengan ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Kemudian, ID instance disisipkan dengan ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Ini adalah salah satu versi yang tidak digunakan lagi untuk mengenkode jalur, dan desain baru harus menghindari penggunaan format ini.

Detail
Parameter
[in] aWriter
Referensi ke penulis TLV yang digunakan untuk menulis jalur.
[in] aTag
Referensi ke tag TLV yang sepenuhnya memenuhi syarat yang berlaku untuk jalur ini.
[in] aProfileId
ID profil yang akan digunakan untuk menafsirkan elemen jalur.
[in] aInstanceId
String opsional yang digunakan sebagai ID instance profil. Argumen ini mungkin NULL jika tidak ada ID instance yang ditetapkan.
[in] aPathLen
Panjang daftar elemen jalur, mungkin 0, di luar penentu profil awal.
[in] ...
Daftar panjang variabel opsional dari tag jalur tambahan.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang mencerminkan ketidakmampuan untuk memformat jalur yang ditentukan.

EncodePath

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

Mengenkode jalur WDM dengan ID instance profil bilangan bulat.

Catatan:Tulis jalur TLV dari jenis yang digunakan dalam pengelolaan data dengan, khususnya, ada penetapan profil yang ditempatkan di awal untuk memungkinkan interpretasi elemen jalur berikutnya. Versi metode ini menggunakan ID instance profil bilangan bulat.

Metode ini menyisipkan ID instance menggunakan ContextTag(kTag_WDMPathProfileInstance), yang merupakan versi terbaru untuk mengenkode jalur.

Detail
Parameter
[in] aWriter
Referensi ke penulis TLV yang digunakan untuk menulis jalur.
[in] aTag
Referensi ke tag TLV yang sepenuhnya memenuhi syarat yang berlaku untuk jalur ini.
[in] aProfileId
ID profil yang akan digunakan untuk menafsirkan elemen jalur.
[in] aInstanceId
Referensi ke ID instance opsional profil yang akan digunakan. Jika tidak ada ID instance yang akan digunakan, parameter ini harus memiliki nilai kInstanceIdNotSpecified.
[in] aPathLen
Panjang daftar elemen jalur, mungkin 0, di luar penentu profil awal.
[in] ...
Daftar panjang variabel opsional dari tag jalur tambahan.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang mencerminkan ketidakmampuan untuk memformat jalur yang ditentukan.

EncodePath

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

Mengenkode jalur WDM dengan ID instance array byte.

Catatan:Tulis jalur TLV dari jenis yang digunakan dalam pengelolaan data dengan, khususnya, ada penetapan profil yang ditempatkan di awal untuk memungkinkan interpretasi elemen jalur berikutnya. Versi metode ini menggunakan ID instance profil array byte beserta panjangnya.

Metode ini menyisipkan ID instance menggunakan ContextTag(kTag_WDMPathProfileInstance), yang merupakan versi terbaru untuk mengenkode jalur.

Detail
Parameter
[in] aWriter
Referensi ke penulis TLV yang digunakan untuk menulis jalur.
[in] aTag
Referensi ke tag TLV yang sepenuhnya memenuhi syarat yang berlaku untuk jalur ini.
[in] aProfileId
ID profil tempat elemen jalur akan ditafsirkan.
[in] aInstanceIdLen
Panjang array byte yang membentuk ID instance. Jika tidak ada ID, parameter ini harus memiliki nilai 0.
[in] aInstanceId
Array byte opsional yang digunakan sebagai ID instance profil. Argumen ini mungkin NULL jika tidak ada ID instance yang ditetapkan.
[in] aPathLen
Panjang daftar elemen jalur, mungkin 0, di luar penentu profil awal.
[in] ...
Daftar panjang variabel opsional dari tag jalur tambahan.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang mencerminkan ketidakmampuan untuk memformat jalur yang ditentukan.

EncodePath

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

Mengenkode jalur WDM dengan ID instance string.

Catatan:Tulis jalur TLV dari jenis yang digunakan dalam pengelolaan data dengan, khususnya, ada penetapan profil yang ditempatkan di awal untuk memungkinkan interpretasi elemen jalur berikutnya. Versi metode ini menggunakan ID instance profil string.

Metode ini menyisipkan ID instance menggunakan ContextTag(kTag_WDMPathProfileInstance), yang merupakan versi terbaru untuk mengenkode jalur.

Detail
Parameter
[in] aWriter
Referensi ke penulis TLV yang digunakan untuk menulis jalur.
[in] aTag
Referensi ke tag TLV yang sepenuhnya memenuhi syarat yang berlaku untuk jalur ini.
[in] aProfileId
ID profil yang akan digunakan untuk menafsirkan elemen jalur.
[in] aInstanceId
String opsional yang digunakan sebagai ID instance profil. Argumen ini mungkin NULL jika tidak ada ID instance yang ditetapkan.
[in] aPathLen
Panjang daftar elemen jalur, mungkin 0, di luar penentu profil awal.
[in] ...
Daftar panjang variabel opsional dari tag jalur tambahan.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang mencerminkan ketidakmampuan untuk memformat jalur yang ditentukan.

EndDataListElement

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

Menyelesaikan penulisan elemen daftar data.

Tulis TLV untuk bagian akhir elemen daftar data WDM. Perhatikan bahwa ini secara otomatis meneruskan jenis kTLVType_Array ke panggilan EndContainer() dengan asumsi bahwa kita selalu menutup item daftar.

Detail
Parameter
[in] aWriter
Referensi ke penulis TLV yang akan digunakan untuk menulis akhir item.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk mengakhiri container.

EndEncodePath

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

EndList

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

Menyelesaikan penulisan daftar jalur atau daftar data.

Tulis TLV untuk akhir jalur WDM atau daftar data. Selain itu, menyelesaikan penulis.

Detail
Parameter
[in,out] aWriter
Referensi ke penulis TLV yang akan digunakan untuk menulis akhir daftar.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk mengakhiri container.

EndList

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

Menyelesaikan penulisan daftar jalur atau daftar data.

Tulis TLV untuk akhir jalur WDM atau daftar data. Selain itu, menyelesaikan penulis. Dalam hal ini, objek ReferencedTLVData tempat TLV ditulis akan diteruskan dan diubah untuk mencerminkan jumlah data yang ditulis.

Detail
Parameter
[in,out] aList
Referensi ke objek ReferenceTLVData tempat daftar ditulis.
[in] aWriter
Referensi ke penulis TLV yang akan digunakan untuk menulis akhir daftar.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk mengakhiri container.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

Periksa apakah ID topik khusus penayang.

Detail
Parameter
[in] aTopicId
pemeriksaan ID topik
Hasil
true jika ID topik khusus penayang, false jika tidak

OpenDataList

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

Mulai baca daftar data.

Dengan pembaca baru dan daftar data, mulailah membaca daftar tersebut serta validasi tag dan jenis yang awalnya ditemukan dalam proses. Jika semuanya berjalan lancar, pembaca akan berhenti setelah penampung daftar dimasukkan.

Detail
Parameter
[in] aDataList
Daftar data yang diteruskan sebagai referensi ke objek ReferencedTLVData. Kasus penggunaan normal adalah ketika daftar sebenarnya masih berada dalam buffering setelah diterima.
[out] aReader
Referensi ke pembaca TLV yang digunakan untuk membaca daftar data. Pembaca ini akan dibiarkan menunjuk tepat sebelum item pertama dalam daftar.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan saat membuka daftar data dan/atau memvalidasi tag dan jenis yang relevan.

OpenDataListElement

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

Mulai baca elemen daftar data.

Setelah pembaca diposisikan pada elemen daftar data, mulailah membaca elemen dan validasi tag serta jenis yang awalnya ditemukan dalam proses. Jika semuanya berjalan lancar, pembaca akan diposisikan di data elemen data dan pembaca jalur masuk/keluar diposisikan di jalur yang sesuai.

Detail
Parameter
[in] aReader
Referensi ke pembaca TLV yang diposisikan di elemen daftar data.
[out] aPathReader
Referensi ke pembaca TLV yang akan diarahkan ke komponen jalur elemen daftar data.
[out] aVersion
Referensi ke bilangan bulat 64-bit yang akan ditetapkan ke versi elemen daftar data jika ada atau ke kVersionNotSpecified.
Hasil
WEAVE_NO_ERROR saat berhasil atau WEAVE_ERROR yang terkait dengan membuka dan membaca elemen daftar data.

OpenPathList

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

Mulai baca daftar jalur.

Dengan adanya pembaca baru dan daftar jalur, mulailah membaca daftar tersebut serta validasi tag dan jenis yang pertama kali ditemukan dalam proses. Jika semuanya berjalan lancar, pembaca akan berhenti setelah penampung daftar dimasukkan.

Detail
Parameter
[in] aPathList
Daftar jalur yang diteruskan sebagai referensi ke objek ReferencedTLVData. Kasus penggunaan normal adalah ketika daftar sebenarnya masih berada dalam buffering setelah diterima.
[out] aReader
Referensi ke pembaca TLV yang digunakan untuk membaca daftar jalur. Pembaca ini akan diarahkan ke kiri sebelum jalur pertama dalam daftar.
Hasil
WEAVE_NO_ERROR saat berhasil; jika tidak, WEAVE_ERROR yang menunjukkan kegagalan membuka daftar jalur dan/atau memvalidasi tag dan jenis yang relevan.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

Buat ID topik khusus penayang dari awal.

Detail
Hasil
ID topik baru.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

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

Mulai menulis daftar data.

Tulis TLV untuk awal daftar data WDM, misalnya sebagai argumen utama UpdateRequest().

Detail
Parameter
[in] aWriter
Referensi ke penulis TLV yang akan digunakan untuk mulai menulis.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk memulai container.

StartDataList

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

Mulai tulis daftar data ke objek ReferencedTLVData tertentu.

Tulis TLV untuk awal daftar data WDM. Dalam hal ini, kita asumsikan kita menulis daftar data ke struktur data TLV yang direferensikan. Penulis diasumsikan tidak melakukan inisialisasi - atau, dalam hal apa pun, akan diinisialisasi untuk menunjuk ke objek yang ditentukan.

Detail
Parameter
[out] aDataList
Referensi ke objek ReferencedTLVData yang menjadi target penulis dan pada akhirnya berisi data minat.
[in] aWriter
Referensi ke penulis TLV yang akan digunakan untuk mulai menulis.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk memulai container.

StartDataListElement

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

Mulai menulis elemen daftar data.

Tulis TLV untuk awal elemen daftar data WDM.

Detail
Parameter
[in] aWriter
Referensi ke penulis TLV yang akan digunakan untuk mulai menulis.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk memulai container.

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
)

Mulai menulis daftar jalur.

Tulis TLV untuk awal daftar jalur WDM, misalnya sebagai argumen utama ViewRequest().

Detail
Parameter
[in] aWriter
Referensi ke penulis TLV yang akan digunakan untuk mulai menulis.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk memulai container.

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
)

Validasi apakah elemen TLV yang sedang dibaca memiliki jenis TLV yang diharapkan.

Memeriksa jenis TLV yang diberikan terhadap jenis elemen di bagian atas pembaca TLV dan menampilkan error jika tidak ada kecocokan.

Detail
Parameter
[in] aType
TLVType yang akan divalidasi terhadap elemen tertentu.
[in] aReader
Referensi ke pembaca TLV yang diposisikan pada elemen yang akan divalidasi.
Hasil
WEAVE_NO_ERROR jika ada kecocokan atau WEAVE_ERROR_WRONG_TLV_TYPE jika tidak.
Lihat juga:
WeaveTLVTypes.h

ValidateWDMTag

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

Validasi apakah elemen TLV yang sedang dibaca memiliki tag WDM yang diharapkan.

Detail
Parameter
[in] aTagNum
Nomor tag 32-bit dari tag WDM yang diharapkan.
[in] aReader
Pembaca TLV yang diposisikan pada elemen yang akan divalidasi.
Hasil
WEAVE_NO_ERROR Saat berhasil. Sebaliknya, WEAVE_ERROR_INVALID_TLV_TAG jika tag tidak cocok dengan nomor tag yang diberikan saat ditafsirkan sebagai tag WDM.