nl:: Weave
Ringkasan
Typedef |
|
---|---|
FabricSecretRotationScheme
|
typedefuint8_t
|
FabricSecretScope
|
nl::Weave::FabricSecretScopeuint8_t
Mengidentifikasi kategori perangkat yang dapat memiliki dan menggunakan fabric secret. |
WeaveAuthMode
|
typedefuint16_t
Mengidentifikasi cara node peer diautentikasi. |
WeaveEncryptionKey
|
typedef |
WeaveEncryptionType
|
typedefenum nl::Weave::WeaveEncryptionType
Jenis enkripsi untuk pesan Weave. |
WeaveExchangeFlags
|
typedefenum nl::Weave::WeaveExchangeFlags
Bit flag header Weave Exchange. |
WeaveExchangeVersion
|
typedefenum nl::Weave::WeaveExchangeVersion
Versi header Weave Exchange. |
WeaveMessageFlags
|
typedefenum nl::Weave::WeaveMessageFlags
Tanda yang terkait dengan pesan Weave masuk atau keluar. |
WeaveMessageHeader
|
typedefstruct WeaveMessageInfo
|
WeaveMessageVersion
|
typedefenum nl::Weave::WeaveMessageVersion
Versi format Pesan Weave. |
WeaveSubnetId
|
typedefenum nl::Weave::WeaveSubnetId
Weave memiliki beberapa nomor subnet yang dicadangkan untuk antarmuka jaringan terkemuka pada perangkat biasa. |
Variabel |
|
---|---|
ExchangeMgr
|
NL_DLL_EXPORT WeaveExchangeManager
|
FabricState
|
NL_DLL_EXPORT WeaveFabricState
|
MessageLayer
|
NL_DLL_EXPORT WeaveMessageLayer
|
SecurityMgr
|
NL_DLL_EXPORT WeaveSecurityManager
|
WeaveConnection
|
class NL_DLL_EXPORT
|
WeaveExchangeManager
|
class NL_DLL_EXPORT
|
WeaveMessageLayer
|
class NL_DLL_EXPORT
|
gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
|
const WRMPConfig
|
kWeaveMsgEncAppKeyDiversifier = { 0xB1, 0x1D, 0xAE, 0x5B }[]
|
const uint8_t
Diversifier kunci yang digunakan untuk turunan kunci enkripsi pesan Weave.
|
Fungsi |
|
---|---|
AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Menampilkan ID kunci master grup aplikasi yang terkait dengan mode autentikasi.
|
CASEAuthMode(uint8_t certType)
|
WeaveAuthMode
Menampilkan mode autentikasi CASE yang sesuai untuk jenis sertifikat tertentu.
|
CertTypeFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Menampilkan sumber sandi untuk mode autentikasi yang ditentukan.
|
DecodeHeaderField(const uint16_t headerField, WeaveMessageInfo *msgInfo)
|
void
|
DefaultOnMessageReceived(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
|
EncodeHeaderField(const WeaveMessageInfo *msgInfo)
|
uint16_t
|
FindMessageName(uint32_t inProfileId, uint8_t inMsgType)
|
const char *
|
FindProfileName(uint32_t inProfileId)
|
const char *
|
FormatWeaveError(char *buf, uint16_t bufSize, int32_t err)
|
bool
Mengingat error Weave, menampilkan string C yang diakhiri dengan NULL yang dapat dibaca manusia dan menjelaskan error tersebut.
|
GenerateWeaveNodeId(uint64_t & nodeId)
|
NL_DLL_EXPORT WEAVE_ERROR
Buat ID node Weave acak.
|
GetFibonacciForIndex(uint32_t index)
|
uint32_t
Fungsi ini menghasilkan angka Fibonacci 32-bit untuk indeks 32 bit yang ditentukan.
|
GetMessageName(uint32_t profileId, uint8_t msgType)
|
const char *
|
GetProfileName(uint32_t profileId)
|
const char *
|
GetRandU16(void)
|
uint16_t
Fungsi ini menghasilkan angka acak 16-bit tanpa label.
|
GetRandU32(void)
|
uint32_t
Fungsi ini menghasilkan angka acak 32-bit tanpa label.
|
GetRandU64(void)
|
uint64_t
Fungsi ini menghasilkan angka acak 64-bit tanpa label.
|
GetRandU8(void)
|
uint8_t
Fungsi ini menghasilkan angka acak 8-bit tanpa label.
|
GetVendorName(uint16_t vendorId)
|
const char *
|
GroupKeyAuthMode(uint32_t keyId)
|
WeaveAuthMode
Menampilkan mode autentikasi kunci grup yang sesuai untuk ID kunci tertentu.
|
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
|
uint64_t
Konversikan ID antarmuka alamat IPv6 menjadi ID node Weave.
|
IsCASEAuthMode(WeaveAuthMode authMode)
|
bool
True jika mode autentikasi didasarkan pada protokol Weave CASE.
|
IsCertAuthMode(WeaveAuthMode authMode)
|
bool
True jika mode autentikasi didasarkan pada kepemilikan kunci pribadi yang terkait dengan sertifikat.
|
IsGroupKeyAuthMode(WeaveAuthMode authMode)
|
bool
True jika mode autentikasi didasarkan pada kepemilikan kunci grup bersama.
|
IsPASEAuthMode(WeaveAuthMode authMode)
|
bool
True jika mode autentikasi didasarkan pada protokol Weave PASE.
|
IsPasswordAuthMode(WeaveAuthMode authMode)
|
bool
True jika mode autentikasi didasarkan pada kepemilikan sandi bersama.
|
IsTAKEAuthMode(WeaveAuthMode authMode)
|
bool
True jika mode autentikasi didasarkan pada protokol Weave TAKE.
|
IsWRMPControlMessage(uint32_t profileId, uint8_t msgType)
|
bool
|
J2N_ByteArray(JNIEnv *env, jbyteArray inArray, uint8_t *& outArray, uint32_t & outArrayLen)
|
|
J2N_ByteArrayFieldVal(JNIEnv *env, jobject obj, const char *fieldName, uint8_t *& outArray, uint32_t & outArrayLen)
|
|
J2N_ByteArrayInPlace(JNIEnv *env, jbyteArray inArray, uint8_t *outArray, uint32_t maxArrayLen)
|
|
J2N_EnumFieldVal(JNIEnv *env, jobject obj, const char *fieldName, const char *fieldType, int & outVal)
|
|
J2N_EnumVal(JNIEnv *env, jobject enumObj, int & outVal)
|
|
J2N_IntFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jint & outVal)
|
|
J2N_LongFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jlong & outVal)
|
|
J2N_ShortFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jshort & outVal)
|
|
J2N_StringFieldVal(JNIEnv *env, jobject obj, const char *fieldName, char *& outVal)
|
|
MakeClassName(const char *basePackageName, const char *relativeClassName, char *& classNameBuf)
|
|
PASEAuthMode(uint8_t pwSource)
|
WeaveAuthMode
Menampilkan mode autentikasi PASE yang sesuai untuk sumber sandi tertentu.
|
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Menampilkan sumber sandi untuk mode autentikasi yang ditentukan.
|
PrintTunnelInfo(const WeaveConnectionTunnel & tun, const TCPEndPoint & fromEndPoint, const TCPEndPoint & toEndPoint, const PacketBuffer & data)
|
void
|
ToHex(const uint8_t data)
|
char
|
ToHexString(const uint8_t *data, size_t dataLen, char *& outBuf, size_t & outBufSize)
|
void
|
WeaveEncryptionKeyToString(uint8_t encType, const WeaveEncryptionKey & key, char *buf, size_t bufSize)
|
void
|
WeaveFabricIdToIPv6GlobalId(uint64_t fabricId)
|
uint64_t
Konversikan ID kain Weave ke ID global ULA IPv6.
|
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
TIDAK DIGUNAKAN LAGI Gunakan WeaveMessageLayer::GetPeerDescription() sebagai gantinya.
|
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
|
void
TIDAK DIGUNAKAN LAGI Gunakan WeaveMessageLayer::GetPeerDescription() sebagai gantinya.
|
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
|
uint64_t
Konversikan ID node Weave menjadi ID antarmuka alamat IPv6.
|
max(const _T & a, const _T & b)
|
const _T &
|
min(const _T & a, const _T & b)
|
const _T &
|
Class |
|
---|---|
nl:: |
Menangkap target yang dimaksud dari komunikasi Weave dan informasi konfigurasi terkait. |
nl:: |
Antarmuka untuk mengelola penghitung sebagai nilai bilangan bulat. |
nl:: |
Class ini merepresentasikan percakapan yang sedang berlangsung (ExchangeContext) antara dua node atau lebih. |
nl:: |
Class delegasi abstrak ini mengomunikasikan perubahan status fabric. |
nl:: |
Untuk mengelola dan memanipulasi Daftar Port Host, kumpulan file host dan ID port yang ringkas dan berenkode biner yang terkait dengan Direktori Layanan Weave. |
nl:: |
|
nl:: |
Class untuk mengelola penghitung yang meningkat secara monoton sebagai nilai bilangan bulat. |
nl:: |
Class untuk mengelola penghitung sebagai nilai bilangan bulat yang dimaksudkan untuk dipertahankan setiap kali mulai ulang. |
nl:: |
Definisi class Weave Connection. |
nl:: |
Definisi class WeaveConnectionTunnel, yang mengelola sepasang TCPEndPoints yang WeaveConnections aslinya telah digabungkan, dan di antaranya WeaveMessageLayer meneruskan semua penutupan data dan koneksi. |
nl:: |
|
nl:: |
Ini menentukan profil Weave dan jenis pesan dari pesan Weave tertentu dalam ExchangeContext. |
nl:: |
Class ini digunakan untuk mengelola ExchangeContexts dengan node Weave lainnya. |
nl:: |
Teruskan deklarasi WeaveFabricState. |
nl:: |
Definisi ID Kunci Weave. |
nl:: |
Definisi class WeaveMessageLayer, yang mengelola komunikasi dengan node Weave lainnya. |
nl:: |
Berisi informasi tentang kunci enkripsi pesan Weave. |
nl:: |
Cache kunci untuk kunci enkripsi pesan Weave. |
nl:: |
|
nl:: |
Objek dasar umum untuk menerapkan responden (server) yang tidak diminta profil Weave, yang mengenkapsulasi untuk memvalidasi permintaan terautentikasi dan mengirim laporan status, serta menyediakan penyimpanan anggota data umum untuk status fabric dan pengelola bursa. |
nl:: |
Class dasar umum untuk mengimplementasikan objek delegasi server Weave. |
nl:: |
Berisi informasi tentang kunci sesi Weave. |
nl:: |
Menyampaikan status komunikasi yang diperlukan untuk mengirim/menerima pesan dengan node lain. |
Struct |
|
---|---|
nl:: |
|
nl:: |
Konfigurasi WRMP. |
nl:: |
Informasi tentang pesan Weave yang sedang dalam proses dikirim atau diterima. |
Serikat |
|
---|---|
nl:: |
Namespace |
|
---|---|
nl:: |
Namespace ini mencakup semua antarmuka di dalam Weave yang dapat digunakan dengan Abstrak Syntax Notation One (ASN.1). |
nl:: |
Namespace ini mencakup semua antarmuka di dalam Weave untuk dukungan kriptografi bersama. |
nl:: |
|
nl:: |
|
nl:: |
Namespace ini menyediakan fungsi untuk: |
nl:: |
Namespace ini mencakup semua antarmuka di dalam Weave untuk dukungan logging bersama. |
nl:: |
|
nl:: |
Namespace ini mencakup semua antarmuka dalam profil Weave untuk Weave, baik Umum maupun khusus vendor Nest Labs. |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Definisi untuk bekerja dengan data yang dienkode dalam format TLV Weave. |
nl:: |
Namespace ini mencakup antarmuka untuk Modul Perutean dan Alamat Weave, yakni Modul portabel untuk mengonfigurasi alamat IP dan Rute Weave. |
Enumerasi
@21
@21
Properti | |
---|---|
kFlagAckPending
|
Apakah respons diharapkan untuk pesan yang sedang dikirim. |
kFlagAutoReleaseConnection
|
Melepaskan kunci enkripsi pesan secara otomatis saat konteks pertukaran dibebaskan. |
kFlagAutoReleaseKey
|
Jika ditetapkan, artinya setidaknya satu pesan telah diterima dari pembanding dalam konteks pertukaran ini. |
kFlagAutoRequestAck
|
Konteks ini dikaitkan dengan WeaveConnection. |
kFlagConnectionClosed
|
Konteks ini adalah inisiator dari pertukaran tersebut. |
kFlagDropAck
|
Jika disetel, minta konfirmasi secara otomatis setiap kali pesan dikirim melalui UDP. |
kFlagMsgRcvdFromPeer
|
Jika ditetapkan, artinya setidaknya satu pesan yang diterima pada bursa ini meminta konfirmasi. Flag ini dibaca oleh aplikasi untuk memutuskan apakah perlu meminta konfirmasi untuk pesan respons yang akan dikirim. Flag ini juga dapat menunjukkan apakah pembanding menggunakan WRMP. |
kFlagPeerRequestedAck
|
Jika ditetapkan, menandakan bahwa ada konfirmasi yang tertunda untuk dikirim kembali. |
kFlagResponseExpected
|
Khusus internal dan debug: jika ditetapkan, lapisan pertukaran tidak akan mengirimkan konfirmasi. |
kFlagUseEphemeralUDPPort
|
Lepaskan WeaveConnection terkait secara otomatis saat konteks pertukaran dibebaskan. |
@36
@36
@37
@37
@38
@38
Properti | |
---|---|
kFabricIdDefaultForTest
|
ID fabric default, yang hanya boleh digunakan untuk tujuan pengujian. |
@39
@39
Mengidentifikasi tujuan atau penerapan sertifikat.
Jenis sertifikat adalah label yang menjelaskan tujuan atau penerapan sertifikat. Jenis sertifikat tidak diterapkan sebagai atribut sertifikat yang sesuai, tetapi berasal dari struktur sertifikat dan/atau konteks penggunaannya. Enumerasi jenis sertifikat mencakup serangkaian nilai yang telah ditentukan yang menjelaskan aplikasi sertifikat yang umum digunakan. Developer juga dapat memperluas rentang nilai jenis sertifikat dengan jenis spesifik per aplikasi yang menjelaskan sertifikat kustom atau sertifikat dengan properti keamanan unik.
Jenis sertifikat terutama digunakan dalam penerapan kebijakan kontrol akses, dengan akses ke fitur aplikasi dipengaruhi oleh jenis sertifikat yang diberikan oleh pemohon.
Properti | |
---|---|
kCertType_AccessToken
|
Sertifikat token akses Weave. |
kCertType_AppDefinedBase
|
Jenis sertifikat khusus aplikasi harus memiliki nilai >= nilai ini. |
kCertType_CA
|
Sertifikat CA. |
kCertType_Device
|
Sertifikat perangkat Weave. |
kCertType_FirmwareSigning
|
Sertifikat penandatanganan firmware Weave. |
kCertType_General
|
Sertifikat memiliki jenis umum atau tidak spesifik. |
kCertType_Max
|
Jenis sertifikat tidak boleh lebih besar dari nilai ini. |
kCertType_NotSpecified
|
Jenis sertifikat belum ditentukan. |
kCertType_ServiceEndpoint
|
Sertifikat endpoint layanan Weave. |
@40
@40
Mengidentifikasi sumber sandi yang digunakan dalam protokol autentikasi berbasis sandi (mis.
Menenun PASE)
@41
@41
Properti | |
---|---|
kWeaveAuthModeCategory_AppDefinedBase
|
Nilai dasar untuk kategori autentikasi yang ditentukan aplikasi. |
kWeaveAuthModeCategory_CASE
|
Peer diautentikasi menggunakan protokol Weave CASE. |
kWeaveAuthModeCategory_General
|
Peer diautentikasi menggunakan salah satu dari serangkaian mekanisme umum. |
kWeaveAuthModeCategory_GroupKey
|
Peer diautentikasi menggunakan kunci grup bersama. |
kWeaveAuthModeCategory_PASE
|
Peer diautentikasi menggunakan protokol Weave PASE. |
kWeaveAuthModeCategory_TAKE
|
Peer diautentikasi menggunakan protokol Weave TAKE. |
kWeaveAuthMode_CASE_AccessToken
|
Peer diautentikasi menggunakan CASE dengan sertifikat token akses Weave. |
kWeaveAuthMode_CASE_AnyCert
|
Peer diautentikasi menggunakan CASE dengan sertifikat arbitrer, atau sertifikat yang jenisnya tidak diketahui. |
kWeaveAuthMode_CASE_Device
|
Peer diautentikasi menggunakan CASE dengan sertifikat perangkat Weave. |
kWeaveAuthMode_CASE_GeneralCert
|
Peer diautentikasi menggunakan CASE dengan jenis sertifikat umum atau non-spesifik. |
kWeaveAuthMode_CASE_ServiceEndPoint
|
Peer diautentikasi menggunakan CASE dengan sertifikat endpoint layanan Weave. |
kWeaveAuthMode_NotSpecified
|
Mode autentikasi tidak ditentukan. |
kWeaveAuthMode_PASE_PairingCode
|
Lakukan peering diautentikasi menggunakan PASE dengan kode penyambungan perangkat. |
kWeaveAuthMode_TAKE_IdentificationKey
|
Peer diautentikasi menggunakan TAKE dengan kunci identifikasi token. |
kWeaveAuthMode_Unauthenticated
|
Peer tidak diautentikasi. |
@43
@43
Properti | |
---|---|
kTestKey_AES128CTRSHA1_DataKeyByte
|
Nilai byte yang membuat kunci enkripsi, yang hanya digunakan untuk pengujian. |
kTestKey_AES128CTRSHA1_IntegrityKeyByte
|
Nilai byte yang membuat kunci integritas, yang hanya digunakan untuk pengujian. |
@44
@44
Gabungkan ukuran diversifier kunci aplikasi enkripsi pesan.
@45
@45
@53
@53
@54
@54
Properti | |
---|---|
kWeavePeerDescription_MaxLength
|
Panjang string maksimum (termasuk karakter NUL) yang ditampilkan oleh WeaveMessageLayer::GetPeerDescription(). |
@55
@55
Definisi yang berkaitan dengan header pesan Weave yang dienkode.
Properti | |
---|---|
kWeaveHeaderFlag_DestNodeId
|
Menunjukkan bahwa ID node tujuan ada di header pesan Weave. |
kWeaveHeaderFlag_MsgCounterSyncReq
|
Menunjukkan bahwa pengirim meminta sinkronisasi penghitung pesan. |
kWeaveHeaderFlag_SourceNodeId
|
Menunjukkan bahwa ID node sumber ada di header pesan Weave. |
kWeaveHeaderFlag_TunneledData
|
Menunjukkan bahwa payload pesan Weave adalah paket IP yang disalurkan. |
@56
@56
Definisi kolom bit untuk ID IEEE EUI-64.
Properti | |
---|---|
kEUI64_IG_Group
|
Nilai bit Individu/Grup yang menunjukkan ID EUI-64 alamat grup. |
kEUI64_IG_Individual
|
Nilai bit Individu/Grup yang menunjukkan ID EUI-64 alamat individual. |
kEUI64_IG_Mask
|
Bitmask untuk bit Individu/Grup (I/G) dalam ID EUI-64. Nilai 0 menunjukkan ID adalah alamat perorangan. Nilai 1 menunjukkan ID adalah alamat grup. |
kEUI64_UL_Local
|
Nilai bit Universal/Lokal yang menunjukkan ID EUI-64 yang dikelola secara lokal. |
kEUI64_UL_Mask
|
Bitmask untuk bit Universal/Local (U/L) dalam ID EUI-64. Nilai 0 menunjukkan ID dikelola secara Universal (secara global). Nilai 1 menunjukkan ID Dikelola secara lokal. |
kEUI64_UL_Unversal
|
Nilai bit Universal/Lokal yang menunjukkan ID EUI-64 yang dikelola secara universal. |
@57
@57
Rentang khusus ID Node Weave.
Properti | |
---|---|
kMaxAlwaysLocalWeaveNodeId
|
ID node tenunan yang kurang atau sama dengan nilai ini dianggap lokal untuk kemudahan pengujian. |
WeaveEncryptionType
WeaveEncryptionType
Jenis enkripsi untuk pesan Weave.
Properti | |
---|---|
kWeaveEncryptionType_AES128CTRSHA1
|
Pesan dienkripsi menggunakan enkripsi AES-128-CTR dengan integritas pesan HMAC-SHA-1. |
kWeaveEncryptionType_None
|
Pesan tidak dienkripsi. |
WeaveExchangeFlags
WeaveExchangeFlags
Bit flag header Weave Exchange.
Properti | |
---|---|
kWeaveExchangeFlag_AckId
|
Menyetel kapan pesan saat ini merupakan konfirmasi untuk pesan yang telah diterima sebelumnya. |
kWeaveExchangeFlag_Initiator
|
Menetapkan kapan pesan saat ini dikirim oleh inisiator pertukaran. |
kWeaveExchangeFlag_NeedsAck
|
Ditetapkan kapan pesan saat ini meminta konfirmasi dari penerima. |
WeaveExchangeVersion
WeaveExchangeVersion
Versi header Weave Exchange.
WeaveMessageFlags
WeaveMessageFlags
Tanda yang terkait dengan pesan Weave masuk atau keluar.
Nilai yang ditentukan di sini digunakan dalam kolom WeaveMessageInfo.Flags.
Properti | |
---|---|
kWeaveMessageFlag_DefaultMulticastSourceAddress
|
Menunjukkan bahwa pemilihan alamat sumber IPv6 default harus digunakan saat mengirim pesan multicast IPv6. |
kWeaveMessageFlag_DelaySend
|
Menunjukkan bahwa pengiriman pesan perlu ditunda. |
kWeaveMessageFlag_DestNodeId
|
Menunjukkan bahwa ID node tujuan ada di header pesan Weave. |
kWeaveMessageFlag_DuplicateMessage
|
Menunjukkan bahwa pesan ini adalah duplikat dari pesan yang diterima sebelumnya. |
kWeaveMessageFlag_FromInitiator
|
Menunjukkan bahwa sumber pesan adalah inisiator pertukaran Weave. |
kWeaveMessageFlag_MessageEncoded
|
Menunjukkan bahwa pesan Weave sudah dienkode. |
kWeaveMessageFlag_MsgCounterSyncReq
|
Menunjukkan bahwa pengirim meminta sinkronisasi penghitung pesan peer. |
kWeaveMessageFlag_MulticastFromLinkLocal
|
Alias yang tidak digunakan lagi untuk |
kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized
|
Menunjukkan bahwa penghitung pesan kunci grup peer tidak disinkronkan. |
kWeaveMessageFlag_PeerRequestedAck
|
Menunjukkan bahwa pengirim pesan meminta konfirmasi. |
kWeaveMessageFlag_RetainBuffer
|
Menunjukkan bahwa buffer pesan tidak boleh dikosongkan setelah pengiriman. |
kWeaveMessageFlag_ReuseMessageId
|
Menunjukkan bahwa ID pesan yang ada harus digunakan kembali. |
kWeaveMessageFlag_ReuseSourceId
|
Menunjukkan bahwa ID node sumber yang ada harus digunakan kembali. |
kWeaveMessageFlag_SourceNodeId
|
Menunjukkan bahwa ID node sumber ada di header pesan Weave. |
kWeaveMessageFlag_TunneledData
|
Menunjukkan bahwa payload pesan Weave adalah paket IP yang disalurkan. |
kWeaveMessageFlag_ViaEphemeralUDPPort
|
Menunjukkan bahwa pesan sedang dikirim/diterima melalui port UDP efemeral lokal. |
WeaveMessageVersion
WeaveMessageVersion
Versi format Pesan Weave.
Weave akan memilih versi pesan yang sesuai berdasarkan format {i>frame<i} yang diperlukan untuk pesan Weave. Secara default, versi pesan adalah kWeaveMessageVersion_V1. Misalnya, saat menggunakan Weave Reliable Messaging, versinya adalah kWeaveMessageVersion_V2.
Properti | |
---|---|
kWeaveMessageVersion_Unspecified
|
Versi pesan belum ditentukan. |
kWeaveMessageVersion_V1
|
Format header pesan versi V1. |
kWeaveMessageVersion_V2
|
Format header pesan versi V2. |
WeaveSubnetId
WeaveSubnetId
Weave memiliki beberapa nomor subnet yang dicadangkan untuk antarmuka jaringan terkemuka pada perangkat biasa.
Angka-angka ini ditetapkan di sini untuk konstanta simbolik. Nomor subnet ini digunakan oleh Weave untuk mengonfigurasi alamat ULA IPv6 pada antarmuka yang sesuai.
Properti | |
---|---|
kWeaveSubnetId_MobileDevice
|
ID subnet untuk semua Perangkat seluler. |
kWeaveSubnetId_NotSpecified
|
Dicadangkan sebagai nilai yang tidak ditentukan atau null. |
kWeaveSubnetId_PrimaryWiFi
|
Nomor subnet antarmuka radio WiFi. |
kWeaveSubnetId_Service
|
ID subnet untuk endpoint Layanan Nest. |
kWeaveSubnetId_ThreadAlarm
|
Nomor subnet antarmuka radio alarm Thread. |
kWeaveSubnetId_ThreadMesh
|
ID subnet antarmuka radio mesh Thread. |
kWeaveSubnetId_WiFiAP
|
Nomor subnet antarmuka Local Wi-Fi AP. |
WeaveVendorId
WeaveVendorId
Typedef
FabricSecretRotationScheme
uint8_t FabricSecretRotationScheme
FabricSecretScope
uint8_t FabricSecretScope
Mengidentifikasi kategori perangkat yang dapat memiliki dan menggunakan fabric secret.
WeaveAuthMode
uint16_t WeaveAuthMode
Mengidentifikasi cara node peer diautentikasi.
WeaveAuthMode menjelaskan cara node peer telah, atau seharusnya, diotentikasi selama pertukaran pesan Weave. Dalam konteks awal, aplikasi menggunakan WeaveAuthMode untuk mengekspresikan mode autentikasi peer yang diinginkan untuk pertukaran, sehingga menginstruksikan lapisan keamanan dan pesan Weave agar mencapai mode yang diinginkan atau menggagalkan komunikasi. Dalam konteks respons, WeaveAuthMode mengidentifikasi cara node yang meminta (peer) diautentikasi, sehingga aplikasi yang merespons dapat menerapkan kontrol akses berdasarkan informasi ini.
WeaveAuthMode yang ditetapkan ke pesan Weave yang masuk berkaitan dengan sifat kunci yang digunakan untuk mengenkripsi pesan tersebut. WeaveAuthMode berasal dari mekanisme yang digunakan untuk membuat kunci dan kriteria yang digunakan untuk memverifikasi identitas pihak yang berkomunikasi pada saat kunci dibuat.
WeaveAuthMode mencakup serangkaian nilai yang telah ditentukan yang menjelaskan mode autentikasi umum. Hal ini diperinci menurut mekanisme perjanjian utama (CASE, PASE, GroupKey, dll.). Developer dapat memperluas WeaveAuthMode dengan menentukan mode spesifik per aplikasi, yang dapat dipasang ke kunci enkripsi tertentu.
WeaveEncryptionKey
union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey
WeaveEncryptionType
enum nl::Weave::WeaveEncryptionType WeaveEncryptionType
Jenis enkripsi untuk pesan Weave.
WeaveExchangeFlags
enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags
Bit flag header Weave Exchange.
WeaveExchangeVersion
enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion
Versi header Weave Exchange.
WeaveMessageFlags
enum nl::Weave::WeaveMessageFlags WeaveMessageFlags
Tanda yang terkait dengan pesan Weave masuk atau keluar.
Nilai yang ditentukan di sini digunakan dalam kolom WeaveMessageInfo.Flags.
WeaveMessageHeader
struct WeaveMessageInfo WeaveMessageHeader
WeaveMessageVersion
enum nl::Weave::WeaveMessageVersion WeaveMessageVersion
Versi format Pesan Weave.
Weave akan memilih versi pesan yang sesuai berdasarkan format {i>frame<i} yang diperlukan untuk pesan Weave. Secara default, versi pesan adalah kWeaveMessageVersion_V1. Misalnya, saat menggunakan Weave Reliable Messaging, versinya adalah kWeaveMessageVersion_V2.
WeaveSubnetId
enum nl::Weave::WeaveSubnetId WeaveSubnetId
Weave memiliki beberapa nomor subnet yang dicadangkan untuk antarmuka jaringan terkemuka pada perangkat biasa.
Angka-angka ini ditetapkan di sini untuk konstanta simbolik. Nomor subnet ini digunakan oleh Weave untuk mengonfigurasi alamat ULA IPv6 pada antarmuka yang sesuai.
Variabel
ExchangeMgr
NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr
FabricState
NL_DLL_EXPORT WeaveFabricState FabricState
MessageLayer
NL_DLL_EXPORT WeaveMessageLayer MessageLayer
SecurityMgr
NL_DLL_EXPORT WeaveSecurityManager SecurityMgr
WeaveConnection
class NL_DLL_EXPORT WeaveConnection
WeaveExchangeManager
class NL_DLL_EXPORT WeaveExchangeManager
WeaveMessageLayer
class NL_DLL_EXPORT WeaveMessageLayer
gDefaultWRMPConfig
const WRMPConfig gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
kWeaveMsgEncAppKeyDiversifier
const uint8_t kWeaveMsgEncAppKeyDiversifier[] = { 0xB1, 0x1D, 0xAE, 0x5B }
Diversifier kunci yang digunakan untuk turunan kunci enkripsi pesan Weave.
Nilai ini mewakili 4 byte pertama SHA-1 HASH "Nest Weave Message EK and AK" frasa.
Fungsi
AppGroupMasterKeyIdFromAuthMode
uint8_t AppGroupMasterKeyIdFromAuthMode( WeaveAuthMode authMode )
Menampilkan ID kunci master grup aplikasi yang terkait dengan mode autentikasi.
CASEAuthMode
WeaveAuthMode CASEAuthMode( uint8_t certType )
Menampilkan mode autentikasi CASE yang sesuai untuk jenis sertifikat tertentu.
CertTypeFromAuthMode
uint8_t CertTypeFromAuthMode( WeaveAuthMode authMode )
Menampilkan sumber sandi untuk mode autentikasi yang ditentukan.
DecodeHeaderField
void DecodeHeaderField( const uint16_t headerField, WeaveMessageInfo *msgInfo )
DefaultOnMessageReceived
void DefaultOnMessageReceived( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
EncodeHeaderField
uint16_t EncodeHeaderField( const WeaveMessageInfo *msgInfo )
FindMessageName
const char * FindMessageName( uint32_t inProfileId, uint8_t inMsgType )
FindProfileName
const char * FindProfileName( uint32_t inProfileId )
FormatWeaveError
bool FormatWeaveError( char *buf, uint16_t bufSize, int32_t err )
Mengingat error Weave, menampilkan string C yang diakhiri dengan NULL yang dapat dibaca manusia dan menjelaskan error tersebut.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Hasil |
true Jika string deskripsi ditulis ke dalam buffer yang disediakan.
|
||||||
Hasil |
false Jika kesalahan yang diberikan bukan kesalahan Weave.
|
GenerateWeaveNodeId
NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId( uint64_t & nodeId )
Buat ID node Weave acak.
Fungsi ini menghasilkan ID node Weave 64-bit yang unik secara lokal. Fungsi ini menggunakan sumber data acak yang kuat secara kriptografis untuk menjamin keunikan nilai yang dihasilkan. Perhatikan bahwa bit 57 dari ID node Weave yang dihasilkan disetel ke 1 untuk menunjukkan ID node Weave yang dihasilkan bersifat unik secara lokal (tidak secara global).
Detail | |||
---|---|---|---|
Parameter |
|
||
Nilai yang Ditampilkan |
|
GetFibonacciForIndex
uint32_t GetFibonacciForIndex( uint32_t index )
Fungsi ini menghasilkan angka Fibonacci 32-bit untuk indeks 32 bit yang ditentukan.
Detail | |
---|---|
Hasil |
Nomor fibonacci 32-bit yang tidak ditandatangani.
|
GetMessageName
const char * GetMessageName( uint32_t profileId, uint8_t msgType )
GetProfileName
const char * GetProfileName( uint32_t profileId )
GetRandU16
uint16_t GetRandU16( void )
Fungsi ini menghasilkan angka acak 16-bit tanpa label.
Detail | |
---|---|
Hasil |
Bilangan bulat acak 16-bit tanpa tanda tangan.
|
GetRandU32
uint32_t GetRandU32( void )
Fungsi ini menghasilkan angka acak 32-bit tanpa label.
Detail | |
---|---|
Hasil |
Bilangan bulat acak 32-bit tanpa tanda tangan.
|
GetRandU64
uint64_t GetRandU64( void )
Fungsi ini menghasilkan angka acak 64-bit tanpa label.
Detail | |
---|---|
Hasil |
Bilangan bulat acak 64-bit tanpa tanda tangan.
|
GetRandU8
uint8_t GetRandU8( void )
Fungsi ini menghasilkan angka acak 8-bit tanpa label.
Detail | |
---|---|
Hasil |
Bilangan bulat acak 8-bit tanpa label.
|
GetVendorName
const char * GetVendorName( uint16_t vendorId )
GroupKeyAuthMode
WeaveAuthMode GroupKeyAuthMode( uint32_t keyId )
Menampilkan mode autentikasi kunci grup yang sesuai untuk ID kunci tertentu.
IdIPv6InterfaceIdToWeaveNodeId
uint64_t IPv6InterfaceIdToWeaveNodeId( uint64_t interfaceId )
Konversikan ID antarmuka alamat IPv6 menjadi ID node Weave.
Untuk memudahkan pengujian, ID node yang kurang atau sama dengan #kMaxAlwaysLocalWeaveNodeId (65535) dianggap 'local', dan bit universal/lokalnya disetel ke nol. Ini menyederhanakan representasi string dari alamat IPv6 yang sesuai. Misalnya, ULA untuk ID node 10
adalah FD00:0
:1:1::A.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
pengenal node Weave 64 bit yang
dipetakan.
|
IsCASEAuthMode
bool IsCASEAuthMode( WeaveAuthMode authMode )
True jika mode autentikasi didasarkan pada protokol Weave CASE.
IsCertAuthMode
bool IsCertAuthMode( WeaveAuthMode authMode )
True jika mode autentikasi didasarkan pada kepemilikan kunci pribadi yang terkait dengan sertifikat.
IsGroupKeyAuthMode
bool IsGroupKeyAuthMode( WeaveAuthMode authMode )
True jika mode autentikasi didasarkan pada kepemilikan kunci grup bersama.
IsPASEAuthMode
bool IsPASEAuthMode( WeaveAuthMode authMode )
True jika mode autentikasi didasarkan pada protokol Weave PASE.
IsPasswordAuthMode
bool IsPasswordAuthMode( WeaveAuthMode authMode )
True jika mode autentikasi didasarkan pada kepemilikan sandi bersama.
IsTAKEAuthMode
bool IsTAKEAuthMode( WeaveAuthMode authMode )
True jika mode autentikasi didasarkan pada protokol Weave TAKE.
IsWRMPControlMessage
bool IsWRMPControlMessage( uint32_t profileId, uint8_t msgType )
J2N_ByteArray
WEAVE_ERROR J2N_ByteArray( JNIEnv *env, jbyteArray inArray, uint8_t *& outArray, uint32_t & outArrayLen )
J2N_ByteArrayFieldVal
WEAVE_ERROR J2N_ByteArrayFieldVal( JNIEnv *env, jobject obj, const char *fieldName, uint8_t *& outArray, uint32_t & outArrayLen )
J2N_ByteArrayInPlace
WEAVE_ERROR J2N_ByteArrayInPlace( JNIEnv *env, jbyteArray inArray, uint8_t *outArray, uint32_t maxArrayLen )
J2N_EnumFieldVal
WEAVE_ERROR J2N_EnumFieldVal( JNIEnv *env, jobject obj, const char *fieldName, const char *fieldType, int & outVal )
J2N_EnumVal
WEAVE_ERROR J2N_EnumVal( JNIEnv *env, jobject enumObj, int & outVal )
J2N_IntFieldVal
WEAVE_ERROR J2N_IntFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jint & outVal )
J2N_LongFieldVal
WEAVE_ERROR J2N_LongFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jlong & outVal )
J2N_ShortFieldVal
WEAVE_ERROR J2N_ShortFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jshort & outVal )
J2N_StringFieldVal
WEAVE_ERROR J2N_StringFieldVal( JNIEnv *env, jobject obj, const char *fieldName, char *& outVal )
MakeClassName
WEAVE_ERROR MakeClassName( const char *basePackageName, const char *relativeClassName, char *& classNameBuf )
PASEAuthMode
WeaveAuthMode PASEAuthMode( uint8_t pwSource )
Menampilkan mode autentikasi PASE yang sesuai untuk sumber sandi tertentu.
PasswordSourceFromAuthMode
uint8_t PasswordSourceFromAuthMode( WeaveAuthMode authMode )
Menampilkan sumber sandi untuk mode autentikasi yang ditentukan.
PrintTunnelInfo
void PrintTunnelInfo( const WeaveConnectionTunnel & tun, const TCPEndPoint & fromEndPoint, const TCPEndPoint & toEndPoint, const PacketBuffer & data )
ToHex
char ToHex( const uint8_t data )
ToHexString
void ToHexString( const uint8_t *data, size_t dataLen, char *& outBuf, size_t & outBufSize )
WeaveEncryptionKeyToString
void WeaveEncryptionKeyToString( uint8_t encType, const WeaveEncryptionKey & key, char *buf, size_t bufSize )
WeaveFabricIdToIPv6GlobalId
uint64_t WeaveFabricIdToIPv6GlobalId( uint64_t fabricId )
Konversikan ID kain Weave ke ID global ULA IPv6.
ID global ULA untuk alamat kain adalah 40 bit yang lebih rendah dari ID kain 64-bit kain.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
pengenal global
IPv6 yang dipetakan.
|
WeaveMessageSourceToStr
void WeaveMessageSourceToStr( char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo )
TIDAK DIGUNAKAN LAGI Gunakan WeaveMessageLayer::GetPeerDescription() sebagai gantinya.
WeaveNodeAddrToStr
void WeaveNodeAddrToStr( char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con )
TIDAK DIGUNAKAN LAGI Gunakan WeaveMessageLayer::GetPeerDescription() sebagai gantinya.
WeaveNodeIdToIPv6InterfaceId
uint64_t WeaveNodeIdToIPv6InterfaceId( uint64_t nodeId )
Konversikan ID node Weave menjadi ID antarmuka alamat IPv6.
ID node Weave adalah Universal/Local EUI-64s, yang per RFC-3513 dikonversi ke pengidentifikasi antarmuka dengan membalik bit universal/lokal (bit 57 menghitung LSB sebagai 0).
Untuk memudahkan pengujian, ID node yang kurang atau sama dengan #kMaxAlwaysLocalWeaveNodeId (65535) dianggap 'local', dan bit universal/lokalnya disetel ke nol. Ini menyederhanakan representasi string dari alamat IPv6 yang sesuai. Misalnya, ULA untuk ID node 10
adalah FD00:0
:1:1::A.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
pengenal antarmuka IPv6.
|
maks
const _T & max( const _T & a, const _T & b )
mnt
const _T & min( const _T & a, const _T & b )