nl::Weave::Profiles::DataManagement_Legacy

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

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 lain-lain.
@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 Pengelolaan 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 transport 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, ...)
Lakukan enkode 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, ...)
Lakukan enkode jalur WDM dengan tag dan ID instance string yang tidak digunakan lagi.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Lakukan enkode 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, ...)
Lakukan enkode jalur WDM dengan ID instance array byte.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Lakukan enkode jalur WDM dengan ID instance string.
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Selesaikan penulisan elemen daftar data.
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
Selesaikan penulisan daftar jalur atau daftar data.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
Selesaikan penulisan daftar jalur atau daftar data.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
Periksa apakah ID topik bersifat khusus penayang.
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
Mulai membaca daftar data.
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
Mulailah membaca 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)
Mulailah 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)
Mulailah 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 tulis 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 bahwa elemen TLV yang dibaca memiliki jenis TLV yang diharapkan.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
Validasi bahwa elemen TLV yang 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

Kelas tambahan yang digunakan ketika 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 mesin 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

Kode status lama ini berarti 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

Kode status lama ini berarti 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 update tidak cocok dengan skema yang tinggal di node responden.

Kode status ini berarti jalur dari daftar jalur frame permintaan tampilan atau update tidak cocok dengan skema yang tinggal di node 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 cocok dengan versi terbaru di penayang sehingga update tidak dapat diterapkan.

kStatus_UnknownTopic

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

Kode status ini berarti ID topik yang diberikan dalam notifikasi atau permintaan pembatalan tidak cocok dengan langganan apa pun yang 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 mendefinisikan berbagai kumpulan dan tabel yang diperlukan untuk operasinya, sebagai berikut.

Kumpulan transaksi klien:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

Kumpulan transaksi penayang:

  • kNotifyPoolSize

Tabel mesin protokol:

  • kTransactionTableSize
  • kBindingTableSize

Tabel terkait langganan:

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

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

Properti
kBindingTableSize

Ini adalah ukuran default dari 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 pembatalan 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-nilai ini disebut dalam spesifikasi manajemen data.

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

Properti
kMsgType_CancelSubscriptionRequest

Pesan Batalkan 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

Pesan respons berlangganan.

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 lain-lain.

Properti
kDefaultBindingTableIndex

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

kInstanceIdNotSpecified

Dalam panggilan yang memerlukan spesifikasi instance profil, mengindikasikan "none'.

Sering kali ini berarti hanya ada satu instance profil pada entitas yang bersangkutan.

kResponseTimeoutNotSpecified

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

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

kTransactionIdNotSpecified

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

kVersionNotSpecified

Dalam panggilan yang memerlukan spesifikasi versi data, menunjukkan "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 tag TLV yang memenuhi syarat sepenuhnya, yang digunakan dalam metode dukungan yang mengenkode struktur WDM di 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

Kode status lama ini berarti 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

Kode status lama ini berarti 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 update tidak cocok dengan skema yang tinggal di node responden.

Kode status ini berarti jalur dari daftar jalur frame permintaan tampilan atau update tidak cocok dengan skema yang tinggal di node 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 cocok dengan versi terbaru di penayang sehingga update tidak dapat diterapkan.

kStatus_UnknownTopic

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

Kode status ini berarti ID topik yang diberikan dalam notifikasi atau permintaan pembatalan tidak cocok dengan langganan apa pun yang 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 Pengelolaan 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. Dahulu, semua tag ini diterapkan sebagai khusus profil, sehingga membuang-buang ruang. sekarang kita menggunakan tag konteks jika memungkinkan, tetapi kita perlu mempertahankan tag lama (dan memiliki mekanisme untuk mengenkode jalur dengan tag tersebut) jika sesuai.

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

Properti
kTag_WDMDataList

Elemen ini 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 ditunjukkan 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 ini 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: Wajib

kTag_WDMDataListElementVersion

Elemen adalah komponen versi dari 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 dimuat 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 data.

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 ini adalah struktur yang digunakan untuk memulai jalur dan berisi informasi profil sehubungan dengan tag di jalur yang akan ditafsirkan.

Jenis Tag: Jenis Elemen khusus Profil: Disposisi Struktur: Wajib

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 bahwa node mungkin atau tidak memiliki beberapa instance profil tertentu dan, jika hanya ada satu, elemen ini dapat dihilangkan.

Jenis Tag: Jenis Elemen Khusus Konteks: Disposisi Apa Saja: 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

Ini dicadangkan sebagai ID topik karakter pengganti.

kTopicIdNotSpecified

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

kTopicIdPublisherSpecificMask

Ini digunakan sebagai mask untuk membuat atau menguraikan ID topci.

WeaveTransportOption

 WeaveTransportOption

Opsi transport WDM.

Ini adalah opsi transport yang sama-sama eksklusif untuk WDM.

Properti
kTransport_TCP

Transportasi yang mendasarinya adalah TCP.

Pengikatan dapat dilakukan menggunakan pengelola layanan atau langsung menggunakan lapisan pesan.

kTransport_UDP

Transportasi yang mendasarinya merupakan UDP eksklusif.

kTransport_WRMP

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

Typedef

TopicIdentifier

uint64_t TopicIdentifier

ID topik.

ID topik adalah kuantitas 64-bit dengan dua penggunaan/semantik terkait. Pertama-tama, jalur tersebut dapat digunakan sebagai singkatan konvensional untuk serangkaian jalur yang dikenal luas, misalnya " Detektor asap Nest". ID topik yang digunakan dengan cara ini harus, seperti ID profil, berisi kode vendor yang mencegah ID topik yang dipilih secara otomatis 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 jika ada langganan dinamis antara klien WDM dan penerbit. dalam hal ini, penerbit harus selalu memberikan ID topik unik yang merupakan singkatan dari langganan tertentu, dan penerbit akan melakukannya baik saat langganan diminta menggunakan ID topik yang dikenal luas atau daftar jalur arbitrer. pengidentifikasi topik dari 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.

Periksa jenis TLV tertentu terhadap jenis elemen di kepala 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 kecocokan aType.
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 head pembaca TLV.

Detail
Parameter
[in] aTagNum
Nomor tag yang akan diperiksa dengan 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 formulir tag yang diharapkan untuk nomor tag yang diberikan.

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 diposisikan dalam elemen daftar data WDM.
Hasil
WEAVE_NO_ERROR Jika 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 diposisikan di jalur WDM atau daftar data.
Hasil
WEAVE_NO_ERROR Jika 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,
  ...
)

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

Catatan: Enkodekan jalur menggunakan kumpulan tag yang tidak digunakan lagi dan diterima oleh layanan sebelum Weave merilis 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 akan 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 tempat elemen jalur akan ditafsirkan.
[in] aInstanceId
Referensi ke ID instance opsional profil yang akan digunakan.
[in] aPathLen
Panjang, mungkin 0, dari daftar elemen jalur di luar penentu profil awal.
[in] ...
Daftar panjang variabel opsional dari tag jalur tambahan.
Hasil
WEAVE_NO_ERROR Jika berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk memformat jalur yang diberikan.

EncodeDeprecatedPath

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

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

Catatan:Mengenkode jalur menggunakan kumpulan tag yang tidak digunakan lagi (lihat DMConstants.h). Versi metode ini menggunakan 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 akan 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 tempat elemen jalur akan ditafsirkan.
[in] aInstanceId
String opsional yang digunakan sebagai ID instance profil. Argumen ini mungkin NULL jika tidak ada ID instance yang ditentukan.
[in] aPathLen
Panjang, mungkin 0, dari daftar elemen jalur di luar penentu profil awal.
[in] ...
Daftar panjang variabel opsional untuk tag jalur tambahan.
Hasil
WEAVE_NO_ERROR Jika berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk memformat jalur yang diberikan.

EncodePath

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

Lakukan enkode jalur WDM dengan ID instance profil bilangan bulat.

Catatan:Tulis jalur TLV dari jenis yang digunakan dalam pengelolaan data, khususnya, ada penetapan profil yang ditempatkan di awal untuk memungkinkan penafsiran 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 tempat elemen jalur akan ditafsirkan.
[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, mungkin 0, dari daftar elemen jalur di luar penentu profil awal.
[in] ...
Daftar panjang variabel opsional dari tag jalur tambahan.
Hasil
WEAVE_NO_ERROR Jika berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk memformat jalur yang diberikan.

EncodePath

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

Lakukan enkode jalur WDM dengan ID instance array byte.

Catatan:Tulis jalur TLV dari jenis yang digunakan dalam pengelolaan data, khususnya, ada penetapan profil yang ditempatkan di awal untuk memungkinkan penafsiran elemen jalur berikutnya. Versi metode ini mengambil 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 menyusun 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, mungkin 0, dari daftar elemen jalur di luar penentu profil awal.
[in] ...
Daftar panjang variabel opsional untuk tag jalur tambahan.
Hasil
WEAVE_NO_ERROR Jika berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk memformat jalur yang diberikan.

EncodePath

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

Lakukan enkode jalur WDM dengan ID instance string.

Catatan:Tulis jalur TLV dari jenis yang digunakan dalam pengelolaan data, khususnya, ada penetapan profil yang ditempatkan di awal untuk memungkinkan penafsiran 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 tempat elemen jalur akan ditafsirkan.
[in] aInstanceId
String opsional yang digunakan sebagai ID instance profil. Argumen ini mungkin NULL jika tidak ada ID instance yang ditentukan.
[in] aPathLen
Panjang, mungkin 0, dari daftar elemen jalur di luar penentu profil awal.
[in] ...
Daftar panjang variabel opsional untuk tag jalur tambahan.
Hasil
WEAVE_NO_ERROR Jika berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk memformat jalur yang diberikan.

EndDataListElement

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

Selesaikan penulisan elemen daftar data.

Tulis TLV untuk 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 Jika 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
)

Selesaikan penulisan daftar jalur atau daftar data.

Tulis TLV untuk akhir jalur WDM atau daftar data. Juga, selesaikan penulis.

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

EndList

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

Selesaikan penulisan daftar jalur atau daftar data.

Tulis TLV untuk akhir jalur WDM atau daftar data. Juga, selesaikan penulis. Dalam hal ini, objek ReferencedTLVData tempat penulisan TLV 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 Jika berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk mengakhiri container.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

Periksa apakah ID topik bersifat 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 membaca daftar data.

Dengan pembaca baru dan daftar data, mulailah membaca daftar tersebut dan validasi tag serta jenis yang pertama kali ditemukan dalam proses tersebut. 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 dalam buffer setelah penerimaan.
[out] aReader
Referensi ke pembaca TLV yang digunakan untuk membaca daftar data. Pembaca ini akan menunjuk tepat sebelum item pertama dalam daftar.
Hasil
WEAVE_NO_ERROR Jika berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan, buka daftar data dan/atau validasi tag dan jenis yang relevan.

OpenDataListElement

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

Mulailah membaca elemen daftar data.

Dengan pembaca yang diposisikan pada elemen daftar data, mulailah membaca elemen dan memvalidasi tag serta jenis yang pertama kali ditemukan dalam proses tersebut. Jika semuanya berjalan dengan baik, pembaca akan diposisikan pada data elemen data dan pembaca jalur masuk/keluar diposisikan pada jalur yang sesuai.

Detail
Parameter
[in] aReader
Referensi ke pembaca TLV yang diposisikan pada 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 yang lain ke kVersionNotSpecified.
Hasil
WEAVE_NO_ERROR jika 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 pembaca baru dan daftar jalur, mulailah membaca daftar tersebut dan validasi tag serta jenis yang pertama kali ditemukan dalam proses tersebut. 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 dalam buffer setelah penerimaan.
[out] aReader
Referensi ke pembaca TLV yang digunakan untuk membaca daftar jalur. Pembaca ini akan dibiarkan menunjuk tepat sebelum jalur pertama dalam daftar.
Hasil
WEAVE_NO_ERROR saat berhasil; jika tidak, WEAVE_ERROR yang menunjukkan kegagalan, akan membuka daftar jalur dan/atau memvalidasi tag serta 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
)

Mulailah 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 Jika 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 bahwa kita menulis daftar data ke struktur data TLV yang direferensikan. Penulis diasumsikan tidak diinisialisasi - atau, dalam hal apa pun, akan diinisialisasi agar mengarah ke objek yang diberikan.

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

StartDataListElement

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

Mulailah 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 Jika 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 tulis 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 Jika 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 bahwa elemen TLV yang dibaca memiliki jenis TLV yang diharapkan.

Periksa jenis TLV tertentu terhadap jenis elemen di kepala pembaca TLV dan tampilkan error jika tidak ada kecocokan.

Detail
Parameter
[in] aType
TLVType yang akan divalidasi berdasarkan 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 ada.
Lihat juga:
WeaveTLVTypes.h

ValidateWDMTag

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

Validasi bahwa elemen TLV yang dibaca memiliki tag WDM yang diharapkan.

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