nl:: Weave
Ringkasan
Typedef |
|
---|---|
FabricSecretRotationScheme
|
typedefuint8_t
|
FabricSecretScope
|
nl::Weave::FabricSecretScopeuint8_t
Mengidentifikasi kategori perangkat yang dapat memiliki dan menggunakan rahasia kain. |
WeaveAuthMode
|
typedefuint16_t
Mengidentifikasi cara node pembanding diautentikasi. |
WeaveEncryptionKey
|
typedef |
WeaveEncryptionType
|
typedefenum nl::Weave::WeaveEncryptionType
Jenis enkripsi untuk pesan Weave. |
WeaveExchangeFlags
|
typedefenum nl::Weave::WeaveExchangeFlags
Bit tanda {i>header<i} 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 Weave Message. |
WeaveSubnetId
|
typedefenum nl::Weave::WeaveSubnetId
Weave memiliki beberapa nomor subnet yang dicadangkan untuk
antarmuka jaringan yang dibedakan 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
Pengubah kunci yang digunakan untuk turunan kunci enkripsi pesan Weave.
|
Fungsi |
|
---|---|
AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Menampilkan ID kunci master grup aplikasi yang dikaitkan dengan mode autentikasi.
|
CASEAuthMode(uint8_t certType)
|
WeaveAuthMode
Menampilkan mode autentikasi CASE yang sesuai untuk jenis sertifikat yang diberikan.
|
CertTypeFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Menampilkan sumber sandi untuk mode autentikasi yang diberikan.
|
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
Dengan mempertimbangkan error Weave, menampilkan string C yang dihentikan NULL dan dapat dibaca manusia yang 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 tanpa tanda tangan 16-bit.
|
GetRandU32(void)
|
uint32_t
Fungsi ini menghasilkan angka acak tanpa tanda tangan 32-bit.
|
GetRandU64(void)
|
uint64_t
Fungsi ini menghasilkan angka acak tanpa tanda tangan 64-bit.
|
GetRandU8(void)
|
uint8_t
Fungsi ini menghasilkan angka acak tanpa tanda tangan 8-bit.
|
GetVendorName(uint16_t vendorId)
|
const char *
|
GroupKeyAuthMode(uint32_t keyId)
|
WeaveAuthMode
Menampilkan mode autentikasi kunci grup yang sesuai untuk ID kunci yang diberikan.
|
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
|
uint64_t
Konversi 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
Benar jika mode autentikasi didasarkan pada protokol Weave PASE.
|
IsPasswordAuthMode(WeaveAuthMode authMode)
|
bool
True jika mode autentikasi didasarkan pada kepemilikan sandi yang dibagikan.
|
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 yang diberikan.
|
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Menampilkan sumber sandi untuk mode autentikasi yang diberikan.
|
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
Mengonversi ID kain Weave menjadi ID global ULA IPv6.
|
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
Sebagai gantinya, gunakan WeaveMessageLayer::GetPeerDescription().
|
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
|
void
Sebagai gantinya, gunakan WeaveMessageLayer::GetPeerDescription().
|
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
|
uint64_t
Mengonversi 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 diinginkan dari komunikasi Weave dan informasi konfigurasi terkait. |
nl:: |
Antarmuka untuk mengelola penghitung sebagai nilai bilangan bulat. |
nl:: |
Class ini menunjukkan percakapan yang sedang berlangsung (ExchangeContext) antara dua node atau lebih. |
nl:: |
Class delegasi abstrak ini mengomunikasikan perubahan status fabric. |
nl:: |
Untuk mengelola dan memanipulasi Host Port List, kumpulan tuple host dan ID port yang ringkas 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 pesan Weave tertentu dalam ExchangeContext. |
nl:: |
Class ini digunakan untuk mengelola ExchangeContext dengan node Weave lainnya. |
nl:: |
Deklarasi penerusan 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 merangkum validasi 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:: |
Mengkomunikasikan 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 pengiriman atau penerimaan. |
Serikat |
|
---|---|
nl:: |
Namespace |
|
---|---|
nl:: |
Namespace ini mencakup semua antarmuka di Weave untuk menggunakan Abstract Syntax Notation One (ASN.1). |
nl:: |
Namespace ini mencakup semua antarmuka dalam Weave untuk dukungan kriptografis bersama. |
nl:: |
|
nl:: |
|
nl:: |
Namespace ini menyediakan fungsi untuk: |
nl:: |
Namespace ini mencakup semua antarmuka dalam Weave untuk dukungan logging bersama. |
nl:: |
|
nl:: |
Namespace ini mencakup semua antarmuka dalam profil Weave for Weave, baik Common maupun Nest Labs khusus vendor. |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Definisi untuk menggunakan data yang dienkode dalam format Weave TLV. |
nl:: |
Namespace ini mencakup antarmuka untuk Weave Address and Routing Module, sebuah Modul portabel untuk mengonfigurasi alamat IP dan Rute Weave. |
Enumerasi
@21
@21
Properti | |
---|---|
kFlagAckPending
|
Apakah respons diharapkan untuk pesan yang sedang dikirim. |
kFlagAutoReleaseConnection
|
Lepaskan kunci enkripsi pesan secara otomatis saat konteks pertukaran dibebaskan. |
kFlagAutoReleaseKey
|
Jika ditetapkan, menandakan bahwa setidaknya satu pesan telah diterima dari pembanding dalam konteks pertukaran ini. |
kFlagAutoRequestAck
|
Konteks ini terkait dengan WeaveConnection. |
kFlagConnectionClosed
|
Konteks ini adalah inisiator pertukaran. |
kFlagDropAck
|
Ketika diatur, secara otomatis meminta konfirmasi setiap kali pesan dikirim melalui UDP. |
kFlagMsgRcvdFromPeer
|
Jika ditetapkan, menandakan bahwa setidaknya satu pesan yang diterima di pertukaran 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 peer menggunakan WRMP. |
kFlagPeerRequestedAck
|
Jika ditetapkan, menandakan bahwa ada konfirmasi yang tertunda untuk dikirimkan kembali. |
kFlagResponseExpected
|
Khusus internal dan debug: saat disetel, lapisan pertukaran tidak akan mengirim konfirmasi. |
kFlagUseEphemeralUDPPort
|
Otomatis rilis WeaveConnection terkait 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 aplikasi sertifikat. Jenis sertifikat tidak digunakan sebagai atribut sertifikat yang bersangkutan, tetapi berasal dari struktur sertifikat dan/atau konteks penggunaannya. Enumerasi jenis sertifikat menyertakan serangkaian nilai standar yang menjelaskan aplikasi sertifikat yang umum digunakan. Developer juga dapat memperluas rentang nilai jenis sertifikat dengan jenis khusus aplikasi yang menjelaskan sertifikat kustom atau sertifikat dengan properti keamanan yang unik.
Jenis sertifikat terutama digunakan dalam implementasi 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 khusus. |
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.
Anyaman PASE)
@41
@41
Properti | |
---|---|
kWeaveAuthModeCategory_AppDefinedBase
|
Nilai dasar untuk kategori autentikasi yang ditetapkan aplikasi. |
kWeaveAuthModeCategory_CASE
|
Peer diautentikasi menggunakan protokol Weave CASE. |
kWeaveAuthModeCategory_General
|
Peer diotentikasi menggunakan 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 tidak spesifik. |
kWeaveAuthMode_CASE_ServiceEndPoint
|
Peer diautentikasi menggunakan CASE dengan sertifikat endpoint layanan Weave. |
kWeaveAuthMode_NotSpecified
|
Mode autentikasi tidak ditentukan. |
kWeaveAuthMode_PASE_PairingCode
|
Peer 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
Ukuran diversifikasi kunci aplikasi enkripsi pesan Weave.
@45
@45
@53
@53
@54
@54
Properti | |
---|---|
kWeavePeerDescription_MaxLength
|
Panjang maksimum string (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 Individual/Group yang menunjukkan ID EUI-64 alamat grup. |
kEUI64_IG_Individual
|
Nilai bit Individual/Group yang menunjukkan ID EUI-64 alamat individual. |
kEUI64_IG_Mask
|
Bitmask untuk bit Individual/Grup (I/G) dalam ID EUI-64. Nilai 0 menunjukkan bahwa ID merupakan alamat individual. Nilai 1 menunjukkan bahwa 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 bahwa ID dikelola secara universal (global). Nilai 1 menunjukkan bahwa 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 Weave yang kurang atau sama dari 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 tanda {i>header<i} Weave Exchange.
Properti | |
---|---|
kWeaveExchangeFlag_AckId
|
Ditetapkan ketika pesan saat ini merupakan konfirmasi untuk pesan yang diterima sebelumnya. |
kWeaveExchangeFlag_Initiator
|
Tetapkan kapan pesan saat ini dikirim oleh inisiator pertukaran. |
kWeaveExchangeFlag_NeedsAck
|
Ditetapkan ketika 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 ditujukan untuk digunakan dalam kolom WeaveMessageInfo.Flags.
Properti | |
---|---|
kWeaveMessageFlag_DefaultMulticastSourceAddress
|
Menunjukkan bahwa pemilihan alamat sumber IPv6 secara 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 tersebut merupakan 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 pembanding. |
kWeaveMessageFlag_MulticastFromLinkLocal
|
Alias tidak digunakan lagi untuk |
kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized
|
Menunjukkan bahwa penghitung pesan kunci grup pembanding 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 sudah 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 Weave Message.
Weave akan memilih versi pesan yang sesuai berdasarkan format bingkai yang diperlukan untuk pesan Weave. Secara {i>default<i}, versi pesannya adalah kWeaveMessageVersion_V1. Saat menggunakan Weave Reliable Messaging, misalnya, versinya adalah kWeaveMessageVersion_V2.
Properti | |
---|---|
kWeaveMessageVersion_Unspecified
|
Versi pesan belum ditetapkan. |
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 yang dibedakan 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 Wi-Fi. |
kWeaveSubnetId_Service
|
ID subnet untuk endpoint Layanan Nest. |
kWeaveSubnetId_ThreadAlarm
|
Nomor subnet antarmuka radio Thread. |
kWeaveSubnetId_ThreadMesh
|
ID subnet antarmuka radio Thread. |
kWeaveSubnetId_WiFiAP
|
Nomor subnet antarmuka Wi-Fi AP Lokal. |
WeaveVendorId
WeaveVendorId
Typedef
FabricSecretRotationScheme
uint8_t FabricSecretRotationScheme
FabricSecretScope
uint8_t FabricSecretScope
Mengidentifikasi kategori perangkat yang dapat memiliki dan menggunakan rahasia kain.
WeaveAuthMode
uint16_t WeaveAuthMode
Mengidentifikasi cara node pembanding diautentikasi.
WeaveAuthMode menjelaskan cara node peer yang telah, atau seharusnya, diautentikasi selama pertukaran pesan Weave. Dalam konteks memulai, aplikasi menggunakan WeaveAuthMode untuk mengekspresikan mode autentikasi rekan yang diinginkan untuk pertukaran, sehingga menginstruksikan lapisan pesan dan keamanan Weave untuk 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 masuk berkaitan dengan sifat kunci yang digunakan untuk mengenkripsi pesan tersebut. WeaveAuthMode berasal dari mekanisme yang digunakan untuk menetapkan kunci dan kriteria yang digunakan untuk memverifikasi identitas pihak yang berkomunikasi pada saat pembentukan kunci.
WeaveAuthMode mencakup sekumpulan nilai standar yang menjelaskan mode autentikasi umum. Kunci ini dikelompokkan berdasarkan mekanisme perjanjian kunci (CASE, PASE, GroupKey, dll.). Developer dapat memperluas WeaveAuthMode dengan menentukan mode khusus 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 tanda {i>header<i} 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 ditujukan untuk digunakan dalam kolom WeaveMessageInfo.Flags.
WeaveMessageHeader
struct WeaveMessageInfo WeaveMessageHeader
WeaveMessageVersion
enum nl::Weave::WeaveMessageVersion WeaveMessageVersion
Versi format Weave Message.
Weave akan memilih versi pesan yang sesuai berdasarkan format bingkai yang diperlukan untuk pesan Weave. Secara {i>default<i}, versi pesannya adalah kWeaveMessageVersion_V1. Saat menggunakan Weave Reliable Messaging, misalnya, versinya adalah kWeaveMessageVersion_V2.
WeaveSubnetId
enum nl::Weave::WeaveSubnetId WeaveSubnetId
Weave memiliki beberapa nomor subnet yang dicadangkan untuk antarmuka jaringan yang dibedakan 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 }
Pengubah kunci yang digunakan untuk turunan kunci enkripsi pesan Weave.
Nilai ini mewakili 4 byte pertama SHA-1 HASH dari frasa "Nest Weave Message EK and AK".
Fungsi
AppGroupMasterKeyIdFromAuthMode
uint8_t AppGroupMasterKeyIdFromAuthMode( WeaveAuthMode authMode )
Menampilkan ID kunci master grup aplikasi yang dikaitkan dengan mode autentikasi.
CASEAuthMode
WeaveAuthMode CASEAuthMode( uint8_t certType )
Menampilkan mode autentikasi CASE yang sesuai untuk jenis sertifikat yang diberikan.
CertTypeFromAuthMode
uint8_t CertTypeFromAuthMode( WeaveAuthMode authMode )
Menampilkan sumber sandi untuk mode autentikasi yang diberikan.
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 )
Dengan mempertimbangkan error Weave, menampilkan string C yang dihentikan NULL dan dapat dibaca manusia yang menjelaskan error tersebut.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Hasil |
true Jika string deskripsi ditulis ke buffering yang disediakan.
|
||||||
Hasil |
false Jika error yang diberikan bukan error Weave.
|
GenerateWeaveNodeId
NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId( uint64_t & nodeId )
Buat ID node Weave acak.
Fungsi ini menghasilkan ID node Weave yang unik secara lokal 64-bit. 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 diatur ke 1 untuk menunjukkan bahwa ID node Weave yang dihasilkan bersifat unik secara lokal (bukan secara global).
Detail | |||
---|---|---|---|
Parameter |
|
||
Nilai Pengembalian |
|
GetFibonacciForIndex
uint32_t GetFibonacciForIndex( uint32_t index )
Fungsi ini menghasilkan angka Fibonacci 32 bit untuk indeks 32 bit yang ditentukan.
Detail | |
---|---|
Hasil |
Angka fibonacci 32-bit tanpa tanda tangan.
|
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 tanpa tanda tangan 16-bit.
Detail | |
---|---|
Hasil |
Bilangan bulat acak 16-bit tanpa tanda tangan.
|
GetRandU32
uint32_t GetRandU32( void )
Fungsi ini menghasilkan angka acak tanpa tanda tangan 32-bit.
Detail | |
---|---|
Hasil |
Bilangan bulat acak 32-bit tanpa tanda tangan.
|
GetRandU64
uint64_t GetRandU64( void )
Fungsi ini menghasilkan angka acak tanpa tanda tangan 64-bit.
Detail | |
---|---|
Hasil |
Bilangan bulat acak 64-bit tanpa tanda tangan.
|
GetRandU8
uint8_t GetRandU8( void )
Fungsi ini menghasilkan angka acak tanpa tanda tangan 8-bit.
Detail | |
---|---|
Hasil |
Bilangan bulat acak 8-bit tanpa tanda tangan.
|
GetVendorName
const char * GetVendorName( uint16_t vendorId )
GroupKeyAuthMode
WeaveAuthMode GroupKeyAuthMode( uint32_t keyId )
Menampilkan mode autentikasi kunci grup yang sesuai untuk ID kunci yang diberikan.
IPv6InterfaceIdToWeaveNodeId
uint64_t IPv6InterfaceIdToWeaveNodeId( uint64_t interfaceId )
Konversi 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 ditetapkan ke nol. Hal 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 {i>node<i} Weave 64 bit
yang telah 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 )
Benar jika mode autentikasi didasarkan pada protokol Weave PASE.
IsPasswordAuthMode
bool IsPasswordAuthMode( WeaveAuthMode authMode )
True jika mode autentikasi didasarkan pada kepemilikan sandi yang dibagikan.
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 yang diberikan.
PasswordSourceFromAuthMode
uint8_t PasswordSourceFromAuthMode( WeaveAuthMode authMode )
Menampilkan sumber sandi untuk mode autentikasi yang diberikan.
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 )
Mengonversi ID kain Weave menjadi ID global ULA IPv6.
ID global ULA untuk alamat fabric adalah 40 bit yang lebih rendah dari ID fabric 64-bit fabric.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
pengenal global IPv6 yang
dipetakan.
|
WeaveMessageSourceToStr
void WeaveMessageSourceToStr( char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo )
Sebagai gantinya, gunakan WeaveMessageLayer::GetPeerDescription().
WeaveNodeAddrToStr
void WeaveNodeAddrToStr( char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con )
Sebagai gantinya, gunakan WeaveMessageLayer::GetPeerDescription().
WeaveNodeIdToIPv6InterfaceId
uint64_t WeaveNodeIdToIPv6InterfaceId( uint64_t nodeId )
Mengonversi ID node Weave menjadi ID antarmuka alamat IPv6.
ID node Weave adalah EUI-64 Universal/Lokal, yang menurut RFC-3513 dikonversi menjadi 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 ditetapkan ke nol. Hal 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 )