nl::Weave

Ringkasan

Enumerasi

@21{
  kFlagConnectionClosed = 0x0002,
  kFlagAutoRequestAck = 0x0004,
  kFlagDropAck = 0x0008,
  kFlagResponseExpected = 0x0010,
  kFlagAckPending = 0x0020,
  kFlagPeerRequestedAck = 0x0040,
  kFlagMsgRcvdFromPeer = 0x0080,
  kFlagAutoReleaseKey = 0x0100,
  kFlagAutoReleaseConnection = 0x0200,
  kFlagUseEphemeralUDPPort = 0x0400
}
enum
@36 enum
@37 enum
@38{
  kFabricIdDefaultForTest = 1ULL
}
enum
@39{
  kCertType_NotSpecified = 0x00,
  kCertType_General = 0x01,
  kCertType_Device = 0x02,
  kCertType_ServiceEndpoint = 0x03,
  kCertType_FirmwareSigning = 0x04,
  kCertType_AccessToken = 0x05,
  kCertType_CA = 0x06,
  kCertType_AppDefinedBase = 0x7F,
  kCertType_Max = 0xFF
}
enum
Mengidentifikasi tujuan atau penerapan sertifikat.
@40 enum
Mengidentifikasi sumber sandi yang digunakan dalam protokol autentikasi berbasis sandi (mis.
@41{
  kWeaveAuthMode_NotSpecified = 0x0000,
  kWeaveAuthModeCategory_General = 0x0000,
  kWeaveAuthModeCategory_PASE = 0x1000,
  kWeaveAuthModeCategory_CASE = 0x2000,
  kWeaveAuthModeCategory_TAKE = 0x3000,
  kWeaveAuthModeCategory_GroupKey = 0x4000,
  kWeaveAuthModeCategory_AppDefinedBase = 0xC000,
  kWeaveAuthMode_Unauthenticated = kWeaveAuthModeCategory_General | 0x001,
  kWeaveAuthMode_PASE_PairingCode = kWeaveAuthModeCategory_PASE | kPasswordSource_PairingCode,
  kWeaveAuthMode_CASE_AnyCert = kWeaveAuthModeCategory_CASE | kCertType_NotSpecified,
  kWeaveAuthMode_CASE_GeneralCert = kWeaveAuthModeCategory_CASE | kCertType_General,
  kWeaveAuthMode_CASE_Device = kWeaveAuthModeCategory_CASE | kCertType_Device,
  kWeaveAuthMode_CASE_ServiceEndPoint = kWeaveAuthModeCategory_CASE | kCertType_ServiceEndpoint,
  kWeaveAuthMode_CASE_AccessToken = kWeaveAuthModeCategory_CASE | kCertType_AccessToken,
  kWeaveAuthMode_TAKE_IdentificationKey = kWeaveAuthModeCategory_TAKE | 0x001
}
enum
@42{
  kFabricSecretScope_All = 0x00
}
enum
@43{
  kTestKey_AES128CTRSHA1_DataKeyByte = 0xAB,
  kTestKey_AES128CTRSHA1_IntegrityKeyByte = 0xBA
}
enum
@44 enum
Ukuran diversifikasi kunci aplikasi enkripsi pesan Weave.
@45 enum
@53 enum
@54{
  kWeavePeerDescription_MaxLength = 100
}
enum
@55{
  kWeaveHeaderFlag_DestNodeId = 0x0100,
  kWeaveHeaderFlag_SourceNodeId = 0x0200,
  kWeaveHeaderFlag_TunneledData = 0x0400,
  kWeaveHeaderFlag_MsgCounterSyncReq = 0x0800
}
enum
Definisi yang berkaitan dengan header pesan Weave yang dienkode.
@56{
  kEUI64_UL_Mask = 0x0200000000000000ULL,
  kEUI64_UL_Unversal = 0,
  kEUI64_UL_Local = kEUI64_UL_Mask,
  kEUI64_IG_Mask = 0x0100000000000000ULL,
  kEUI64_IG_Individual = 0,
  kEUI64_IG_Group = kEUI64_IG_Mask
}
enum
Definisi kolom bit untuk ID IEEE EUI-64.
@57{
  kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
enum
Rentang khusus ID Node Weave.
WeaveEncryptionType{
  kWeaveEncryptionType_None = 0,
  kWeaveEncryptionType_AES128CTRSHA1 = 1
}
enum
Jenis enkripsi untuk pesan Weave.
WeaveExchangeFlags{
  kWeaveExchangeFlag_Initiator = 0x1,
  kWeaveExchangeFlag_AckId = 0x2,
  kWeaveExchangeFlag_NeedsAck = 0x4
}
enum
Bit tanda {i>header<i} Weave Exchange.
WeaveExchangeVersion enum
Versi header Weave Exchange.
WeaveMessageFlags{
  kWeaveMessageFlag_ReuseMessageId = 0x00000010,
  kWeaveMessageFlag_ReuseSourceId = 0x00000020,
  kWeaveMessageFlag_DelaySend = 0x00000040,
  kWeaveMessageFlag_RetainBuffer = 0x00000080,
  kWeaveMessageFlag_MessageEncoded = 0x00001000,
  kWeaveMessageFlag_DefaultMulticastSourceAddress = 0x00002000,
  kWeaveMessageFlag_PeerRequestedAck = 0x00004000,
  kWeaveMessageFlag_DuplicateMessage = 0x00008000,
  kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized = 0x00010000,
  kWeaveMessageFlag_FromInitiator = 0x00020000,
  kWeaveMessageFlag_ViaEphemeralUDPPort = 0x00040000,
  kWeaveMessageFlag_MulticastFromLinkLocal = kWeaveMessageFlag_DefaultMulticastSourceAddress,
  kWeaveMessageFlag_DestNodeId = kWeaveHeaderFlag_DestNodeId,
  kWeaveMessageFlag_SourceNodeId = kWeaveHeaderFlag_SourceNodeId,
  kWeaveMessageFlag_TunneledData = kWeaveHeaderFlag_TunneledData,
  kWeaveMessageFlag_MsgCounterSyncReq = kWeaveHeaderFlag_MsgCounterSyncReq
}
enum
Tanda yang terkait dengan pesan Weave masuk atau keluar.
WeaveMessageVersion{
  kWeaveMessageVersion_Unspecified = 0,
  kWeaveMessageVersion_V1 = 1,
  kWeaveMessageVersion_V2 = 2
}
enum
Versi format Weave Message.
WeaveSubnetId{
  kWeaveSubnetId_NotSpecified = 0,
  kWeaveSubnetId_PrimaryWiFi = 1,
  kWeaveSubnetId_ThreadAlarm = 2,
  kWeaveSubnetId_WiFiAP = 3,
  kWeaveSubnetId_MobileDevice = 4,
  kWeaveSubnetId_Service = 5,
  kWeaveSubnetId_ThreadMesh = 6
}
enum
Weave memiliki beberapa nomor subnet yang dicadangkan untuk antarmuka jaringan yang dibedakan pada perangkat biasa.
WeaveVendorId enum

Typedef

FabricSecretRotationScheme typedef
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
Mengidentifikasi kategori perangkat yang dapat memiliki dan menggunakan rahasia kain.
WeaveAuthMode typedef
uint16_t
Mengidentifikasi cara node pembanding diautentikasi.
WeaveEncryptionKey typedef
WeaveEncryptionType typedef
enum nl::Weave::WeaveEncryptionType
Jenis enkripsi untuk pesan Weave.
WeaveExchangeFlags typedef
enum nl::Weave::WeaveExchangeFlags
Bit tanda {i>header<i} Weave Exchange.
WeaveExchangeVersion typedef
enum nl::Weave::WeaveExchangeVersion
Versi header Weave Exchange.
WeaveMessageFlags typedef
enum nl::Weave::WeaveMessageFlags
Tanda yang terkait dengan pesan Weave masuk atau keluar.
WeaveMessageHeader typedef
WeaveMessageVersion typedef
enum nl::Weave::WeaveMessageVersion
Versi format Weave Message.
WeaveSubnetId typedef
enum 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::Weave::Binding

Menangkap target yang diinginkan dari komunikasi Weave dan informasi konfigurasi terkait.

nl::Weave::Counter

Antarmuka untuk mengelola penghitung sebagai nilai bilangan bulat.

nl::Weave::ExchangeContext

Class ini menunjukkan percakapan yang sedang berlangsung (ExchangeContext) antara dua node atau lebih.

nl::Weave::FabricStateDelegate

Class delegasi abstrak ini mengomunikasikan perubahan status fabric.

nl::Weave::HostPortList

Untuk mengelola dan memanipulasi Host Port List, kumpulan tuple host dan ID port yang ringkas berenkode biner yang terkait dengan Direktori Layanan Weave.

nl::Weave::JNIUtils
nl::Weave::MonotonicallyIncreasingCounter

Class untuk mengelola penghitung yang meningkat secara monoton sebagai nilai bilangan bulat.

nl::Weave::PersistedCounter

Class untuk mengelola penghitung sebagai nilai bilangan bulat yang dimaksudkan untuk dipertahankan setiap kali mulai ulang.

nl::Weave::WeaveConnection

Definisi class Weave Connection.

nl::Weave::WeaveConnectionTunnel

Definisi class WeaveConnectionTunnel, yang mengelola sepasang TCPEndPoints yang WeaveConnections aslinya telah digabungkan, dan di antaranya WeaveMessageLayer meneruskan semua penutupan data dan koneksi.

nl::Weave::WeaveEncryptionKey_AES128CTRSHA1
nl::Weave::WeaveExchangeHeader

Ini menentukan profil Weave dan jenis pesan pesan Weave tertentu dalam ExchangeContext.

nl::Weave::WeaveExchangeManager

Class ini digunakan untuk mengelola ExchangeContext dengan node Weave lainnya.

nl::Weave::WeaveFabricState

Deklarasi penerusan WeaveFabricState.

nl::Weave::WeaveKeyId

Definisi ID Kunci Weave.

nl::Weave::WeaveMessageLayer

Definisi class WeaveMessageLayer, yang mengelola komunikasi dengan node Weave lainnya.

nl::Weave::WeaveMsgEncryptionKey

Berisi informasi tentang kunci enkripsi pesan Weave.

nl::Weave::WeaveMsgEncryptionKeyCache

Cache kunci untuk kunci enkripsi pesan Weave.

nl::Weave::WeaveSecurityManager
nl::Weave::WeaveServerBase

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::Weave::WeaveServerDelegateBase

Class dasar umum untuk mengimplementasikan objek delegasi server Weave.

nl::Weave::WeaveSessionKey

Berisi informasi tentang kunci sesi Weave.

nl::Weave::WeaveSessionState

Mengkomunikasikan status komunikasi yang diperlukan untuk mengirim/menerima pesan dengan node lain.

Struct

nl::Weave::JNILibraryMethod
nl::Weave::WRMPConfig

Konfigurasi WRMP.

nl::Weave::WeaveMessageInfo

Informasi tentang pesan Weave yang sedang dalam proses pengiriman atau penerimaan.

Serikat

nl::Weave::WeaveEncryptionKey

Namespace

nl::Weave::ASN1

Namespace ini mencakup semua antarmuka di Weave untuk menggunakan Abstract Syntax Notation One (ASN.1).

nl::Weave::Crypto

Namespace ini mencakup semua antarmuka dalam Weave untuk dukungan kriptografis bersama.

nl::Weave::DeviceLayer
nl::Weave::DeviceManager
nl::Weave::Encoding

Namespace ini menyediakan fungsi untuk:

nl::Weave::Logging

Namespace ini mencakup semua antarmuka dalam Weave untuk dukungan logging bersama.

nl::Weave::Platform
nl::Weave::Profiles

Namespace ini mencakup semua antarmuka dalam profil Weave for Weave, baik Common maupun Nest Labs khusus vendor.

nl::Weave::SecuritySupport
nl::Weave::Stats
nl::Weave::Support
nl::Weave::System
nl::Weave::TLV

Definisi untuk menggunakan data yang dienkode dalam format Weave TLV.

nl::Weave::Warm

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.

@42

 @42
Properti
kFabricSecretScope_All

Semua perangkat dapat memiliki rahasia fabric yang sesuai.

@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_DefaultMulticastSourceAddress.

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
[in] buf
Buffer tempat string error akan ditempatkan.
[in] bufSize
Ukuran buffer yang diberikan dalam byte.
[in] err
Error yang perlu dijelaskan.
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
nodeId
Referensi ke ID node Weave 64-bit.
Nilai Pengembalian
WEAVE_NO_ERROR
Jika ID node Weave berhasil dibuat.

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
[in] interfaceId
ID antarmuka 64 bit.
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
[in] fabricId
ID kain Weave.
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
[in] nodeId
ID node Weave 64-bit.
Hasil
pengenal antarmuka IPv6.

maks.

const _T & max(
  const _T & a,
  const _T & b
)

mnt

const _T & min(
  const _T & a,
  const _T & b
)