nl::Weave

Podsumowanie

Wyliczenia

@21{
  kFlagConnectionClosed = 0x0002,
  kFlagAutoRequestAck = 0x0004,
  kFlagDropAck = 0x0008,
  kFlagResponseExpected = 0x0010,
  kFlagAckPending = 0x0020,
  kFlagPeerRequestedAck = 0x0040,
  kFlagMsgRcvdFromPeer = 0x0080,
  kFlagAutoReleaseKey = 0x0100,
  kFlagAutoReleaseConnection = 0x0200,
  kFlagUseEphemeralUDPPort = 0x0400
}
enum | typ wyliczeniowy
@36 enum | typ wyliczeniowy
@37 enum | typ wyliczeniowy
@38{
  kFabricIdDefaultForTest = 1ULL
}
enum | typ wyliczeniowy
@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 | typ wyliczeniowy
Określa cel lub zastosowanie certyfikatu.
@40 enum | typ wyliczeniowy
Określa źródło hasła używanego w protokole uwierzytelniania opartym na haśle (np.
@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 | typ wyliczeniowy
@42{
  kFabricSecretScope_All = 0x00
}
enum | typ wyliczeniowy
@43{
  kTestKey_AES128CTRSHA1_DataKeyByte = 0xAB,
  kTestKey_AES128CTRSHA1_IntegrityKeyByte = 0xBA
}
enum | typ wyliczeniowy
@44 enum | typ wyliczeniowy
Rozmiar dywersyfikatora klucza aplikacji szyfrowania wiadomości Weave.
@45 enum | typ wyliczeniowy
@53 enum | typ wyliczeniowy
@54{
  kWeavePeerDescription_MaxLength = 100
}
enum | typ wyliczeniowy
@55{
  kWeaveHeaderFlag_DestNodeId = 0x0100,
  kWeaveHeaderFlag_SourceNodeId = 0x0200,
  kWeaveHeaderFlag_TunneledData = 0x0400,
  kWeaveHeaderFlag_MsgCounterSyncReq = 0x0800
}
enum | typ wyliczeniowy
Definicje związane z nagłówkiem zakodowanej wiadomości weave.
@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 | typ wyliczeniowy
Definicje pól bitowych identyfikatorów IEEE EUI-64.
@57{
  kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
enum | typ wyliczeniowy
Specjalne zakresy identyfikatorów węzłów Weave.
WeaveEncryptionType{
  kWeaveEncryptionType_None = 0,
  kWeaveEncryptionType_AES128CTRSHA1 = 1
}
enum | typ wyliczeniowy
Typy szyfrowania wiadomości Weave.
WeaveExchangeFlags{
  kWeaveExchangeFlag_Initiator = 0x1,
  kWeaveExchangeFlag_AckId = 0x2,
  kWeaveExchangeFlag_NeedsAck = 0x4
}
enum | typ wyliczeniowy
Bity flagi nagłówka Weave Exchange.
WeaveExchangeVersion enum | typ wyliczeniowy
Wersja nagłówka 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 | typ wyliczeniowy
Flagi powiązane z przychodzącą lub wychodzącą wiadomością Weave.
WeaveMessageVersion{
  kWeaveMessageVersion_Unspecified = 0,
  kWeaveMessageVersion_V1 = 1,
  kWeaveMessageVersion_V2 = 2
}
enum | typ wyliczeniowy
Wersja formatu 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 | typ wyliczeniowy
Weave ma zarezerwowane numery podsieci dla różnych interfejsów sieciowych na typowych urządzeniach.
WeaveVendorId enum | typ wyliczeniowy

Definiuje typ

FabricSecretRotationScheme typedef
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
Określa kategorię urządzeń, które mogą zawierać i używać obiektów tajnych z tkaniny.
WeaveAuthMode typedef
uint16_t
Identyfikuje sposób uwierzytelniania węzła równorzędnego.
WeaveEncryptionKey typedef
WeaveEncryptionType typedef
enum nl::Weave::WeaveEncryptionType
Typy szyfrowania wiadomości Weave.
WeaveExchangeFlags typedef
enum nl::Weave::WeaveExchangeFlags
Bity flagi nagłówka Weave Exchange.
WeaveExchangeVersion typedef
enum nl::Weave::WeaveExchangeVersion
Wersja nagłówka Weave Exchange.
WeaveMessageFlags typedef
enum nl::Weave::WeaveMessageFlags
Flagi powiązane z przychodzącą lub wychodzącą wiadomością Weave.
WeaveMessageHeader typedef
WeaveMessageVersion typedef
enum nl::Weave::WeaveMessageVersion
Wersja formatu Weave Message.
WeaveSubnetId typedef
enum nl::Weave::WeaveSubnetId
Weave ma zarezerwowane numery podsieci dla różnych interfejsów sieciowych na typowych urządzeniach.

Zmienne

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
Zróżnicowanie kluczy używane do pobierania kluczy szyfrowania wiadomości Weave.

Funkcje

AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
uint8_t
Zwraca identyfikator głównego klucza grupy aplikacji powiązany z trybem uwierzytelniania.
CASEAuthMode(uint8_t certType)
WeaveAuthMode
Zwraca odpowiedni tryb uwierzytelniania CASE dla danego typu certyfikatu.
CertTypeFromAuthMode(WeaveAuthMode authMode)
uint8_t
Zwraca źródło hasła dla danego trybu uwierzytelniania.
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
Z powodu błędu Weave zwraca zrozumiały dla człowieka ciąg znaków C z zakończeniem NULL i opisujący błąd.
GenerateWeaveNodeId(uint64_t & nodeId)
NL_DLL_EXPORT WEAVE_ERROR
Wygeneruj losowy identyfikator węzła Weave.
GetFibonacciForIndex(uint32_t index)
uint32_t
Ta funkcja generuje 32-bitową liczbę Fibonacci dla danego 32-bitowego indeksu.
GetMessageName(uint32_t profileId, uint8_t msgType)
const char *
GetProfileName(uint32_t profileId)
const char *
GetRandU16(void)
uint16_t
Ta funkcja generuje 16-bitową liczbę losową bez znaku.
GetRandU32(void)
uint32_t
Ta funkcja generuje 32-bitową liczbę losową bez znaku.
GetRandU64(void)
uint64_t
Ta funkcja generuje 64-bitową liczbę losową bez znaku.
GetRandU8(void)
uint8_t
Ta funkcja generuje 8-bitową nieoznaczoną liczbę losową.
GetVendorName(uint16_t vendorId)
const char *
GroupKeyAuthMode(uint32_t keyId)
WeaveAuthMode
Zwraca odpowiedni tryb uwierzytelniania klucza grupy dla podanego identyfikatora klucza.
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
uint64_t
Przekonwertuj identyfikator interfejsu adresu IPv6 na identyfikator węzła Weave.
IsCASEAuthMode(WeaveAuthMode authMode)
bool
Prawda, jeśli tryb uwierzytelniania jest oparty na protokole Weave CASE.
IsCertAuthMode(WeaveAuthMode authMode)
bool
Prawda, jeśli tryb uwierzytelniania opiera się na posiadaniu klucza prywatnego powiązanego z certyfikatem.
IsGroupKeyAuthMode(WeaveAuthMode authMode)
bool
Prawda, jeśli tryb uwierzytelniania opiera się na posiadaniu wspólnego klucza grupy.
IsPASEAuthMode(WeaveAuthMode authMode)
bool
Prawda, jeśli tryb uwierzytelniania jest oparty na protokole Weave PASE.
IsPasswordAuthMode(WeaveAuthMode authMode)
bool
Prawda, jeśli tryb uwierzytelniania opiera się na posiadaniu wspólnego hasła.
IsTAKEAuthMode(WeaveAuthMode authMode)
bool
Prawda, jeśli tryb uwierzytelniania opiera się na protokole 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
Zwraca odpowiedni tryb uwierzytelniania PASE dla danego źródła hasła.
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
uint8_t
Zwraca źródło hasła dla danego trybu uwierzytelniania.
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
Konwertuj identyfikator tkaniny Weave na globalny identyfikator ULA IPv6.
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
void
WYCOFANY Użyj w zamian metody WeaveMessageLayer::GetPeerDescription().
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
void
WYCOFANY Użyj w zamian metody WeaveMessageLayer::GetPeerDescription().
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
uint64_t
Konwertowanie identyfikatora węzła Weave na identyfikator interfejsu adresu IPv6.
max(const _T & a, const _T & b)
const _T &
min(const _T & a, const _T & b)
const _T &

Zajęcia

nl::Weave::Binding

Przechwytuje zamierzony cel komunikacji Weave i powiązane informacje o konfiguracji.

nl::Weave::Counter

Interfejs do zarządzania licznikiem jako wartością całkowitą.

nl::Weave::ExchangeContext

Ta klasa reprezentuje trwającą rozmowę (ExchangeContext) między 2 lub większą liczbą węzłów.

nl::Weave::FabricStateDelegate

Ta abstrakcyjna klasa delegata komunikuje zmiany stanu tkanin.

nl::Weave::HostPortList

Służy do zarządzania listą portów hosta, która jest zwartą, zakodowaną binarnie listą krotek identyfikatorów hostów i portów powiązaną z Katalogiem usług Weave.

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

Klasa do zarządzania monotonicznie rosnącym licznikiem jako liczbą całkowitą.

nl::Weave::PersistedCounter

Klasa do zarządzania licznikiem jako wartością całkowitą, która ma być trwała po ponownym uruchomieniu.

nl::Weave::WeaveConnection

Definicja klasy połączenia Weave.

nl::Weave::WeaveConnectionTunnel

Definicja klasy WeaveConnectionTunnel, która zarządza parą punktów TCPEndPoint z pierwotnymi elementami WeaveConnections, które zostały połączone, a między nimi WeaveMessageLayer przekazuje wszystkie dane i zamknięcia połączenia.

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

Określa profil Weave i typ wiadomości konkretnej wiadomości Weave w ExchangeContext.

nl::Weave::WeaveExchangeManager

Ta klasa służy do zarządzania ExchangeContexts z innymi węzłami Weave.

nl::Weave::WeaveFabricState

Wychodząca deklaracja stanu WeaveFabricState.

nl::Weave::WeaveKeyId

Definicja identyfikatora klucza Weave.

nl::Weave::WeaveMessageLayer

Definicja klasy WeaveMessageLayer, która zarządza komunikacją z innymi węzłami Weave.

nl::Weave::WeaveMsgEncryptionKey

Zawiera informacje o kluczu szyfrowania wiadomości Weave.

nl::Weave::WeaveMsgEncryptionKeyCache

Pamięć podręczna na potrzeby kluczy szyfrowania wiadomości Weave.

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

Typowy obiekt podstawowy do implementacji niezamawianych użytkowników profilu Weave (serwerów), który zawiera weryfikację uwierzytelnionych żądań i wysyłanie raportów o stanie oraz udostępnia wspólną pamięć masową członków danych na potrzeby stanu tkanin i menedżera giełdy.

nl::Weave::WeaveServerDelegateBase

Wspólna klasa podstawowa do implementacji obiektów delegowania serwera Weave.

nl::Weave::WeaveSessionKey

Zawiera informacje o kluczu sesji Weave.

nl::Weave::WeaveSessionState

Przekazuje stan komunikacji potrzebny do wysyłania/odbierania wiadomości z innym węzłem.

Struktura

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

Konfiguracja WRMP.

nl::Weave::WeaveMessageInfo

Informacje o wysyłanej lub odbieranej wiadomości Weave.

Związki

nl::Weave::WeaveEncryptionKey

Przestrzenie nazw

nl::Weave::ASN1

Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave umożliwiające pracę z abstrakcyjnym zapisem składni abstrakcyjnej One (ASN.1).

nl::Weave::Crypto

Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave na potrzeby wspólnej obsługi kryptograficznej.

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

Ta przestrzeń nazw oferuje funkcje:

nl::Weave::Logging

Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave na potrzeby obsługi wspólnego logowania.

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

Ta przestrzeń nazw obejmuje wszystkie interfejsy w profilach Weave for Weave – zarówno w interfejsach Common, jak i Nest Labs, w zależności od dostawcy.

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

Definicje dotyczące pracy z danymi zakodowanymi w formacie TLV Weave.

nl::Weave::Warm

Ta przestrzeń nazw zawiera interfejsy Weave Address (Adres) i Routing Module (przenośny moduł do konfigurowania adresów IP i tras Weave).

Wyliczenia

@21

 @21
Właściwości
kFlagAckPending

Oczekiwana odpowiedź na wysyłana wiadomość.

kFlagAutoReleaseConnection

Automatycznie zwolnij klucz szyfrowania wiadomości po zwolnieniu kontekstu giełdy.

kFlagAutoReleaseKey

Jeśli jest ustawione, oznacza, że w kontekście tej wymiany została odebrana co najmniej 1 wiadomość z grupy porównawczej.

kFlagAutoRequestAck

Ten kontekst był powiązany z elementem WeaveConnection.

kFlagConnectionClosed

Ten kontekst jest inicjatorem wymiany.

kFlagDropAck

Po ustawieniu tej funkcji automatycznie żądaj potwierdzenia za każdym razem, gdy wiadomość jest wysyłana przez UDP.

kFlagMsgRcvdFromPeer

Gdy jest ustawione, oznacza, że co najmniej 1 wiadomość odebrana w ramach tej wymiany wymaga potwierdzenia.

Ta flaga jest odczytywana przez aplikację w celu określenia, czy musi zażądać potwierdzenia dla wiadomości, którą ma wysłać. Ta flaga może też pokazywać, czy aplikacja równorzędna używa WRMP.

kFlagPeerRequestedAck

Gdy jest ustawione, oznacza, że istnieje potwierdzenie, które oczekuje na odesłanie.

kFlagResponseExpected

Tylko do użytku wewnętrznego i debugowania: po ustawieniu warstwa wymiany nie wysyła potwierdzenia.

kFlagUseEphemeralUDPPort

Automatycznie zwolnij powiązany element WeaveConnection po uwolnieniu kontekstu giełdy.

@36

 @36

@37

 @37

@38

 @38
Właściwości
kFabricIdDefaultForTest

Domyślny identyfikator tkaniny, którego należy używać tylko do testowania.

@39

 @39

Określa cel lub zastosowanie certyfikatu.

Typ certyfikatu to etykieta opisująca przeznaczenie lub zastosowanie certyfikatu. Typy certyfikatów nie są przenoszone jako atrybuty odpowiednich certyfikatów, ale są określane na podstawie struktury certyfikatu lub kontekstu, w którym jest używany. Wyliczenie typu certyfikatu obejmuje zestaw wstępnie zdefiniowanych wartości opisujących często używane aplikacje certyfikatów. Programiści mogą też rozszerzyć zakres wartości typów certyfikatów o typy aplikacji, które opisują certyfikaty niestandardowe lub certyfikaty z unikalnymi właściwościami zabezpieczeń.

Typy certyfikatów są używane głównie do implementacji zasad kontroli dostępu, gdzie na dostęp do funkcji aplikacji wpływa typ certyfikatu przedstawianego przez osobę wysyłającą prośbę.

Właściwości
kCertType_AccessToken

Certyfikat tokena dostępu Weave.

kCertType_AppDefinedBase

Typy certyfikatów specyficznych dla aplikacji powinny mieć wartości >= tę wartość.

kCertType_CA

certyfikat CA.

kCertType_Device

Certyfikat urządzenia Weave.

kCertType_FirmwareSigning

Certyfikat podpisywania oprogramowania układowego Weave.

kCertType_General

Certyfikat ma charakter ogólny lub niespecjalny.

kCertType_Max

Typy certyfikatów nie powinny przekraczać tej wartości.

kCertType_NotSpecified

Typ certyfikatu nie został określony.

kCertType_ServiceEndpoint

Certyfikat punktu końcowego usługi Weave.

@40

 @40

Określa źródło hasła używanego w protokole uwierzytelniania opartym na haśle (np.

Weave (Na żywo)

@41

 @41
Właściwości
kWeaveAuthModeCategory_AppDefinedBase

Wartość podstawowa dla kategorii uwierzytelniania zdefiniowanych przez aplikację.

kWeaveAuthModeCategory_CASE

Uwierzytelnianie równorzędne przy użyciu protokołu CASE Weave.

kWeaveAuthModeCategory_General

Uwierzytelnianie równorzędne przy użyciu jednego z zestawów ogólnych mechanizmów.

kWeaveAuthModeCategory_GroupKey

Uwierzytelnianie równorzędne przy użyciu udostępnionego klucza grupy.

kWeaveAuthModeCategory_PASE

Uwierzytelnianie równorzędne przy użyciu protokołu Weave PASE.

kWeaveAuthModeCategory_TAKE

Uwierzytelnianie równorzędne przy użyciu protokołu Weave take.

kWeaveAuthMode_CASE_AccessToken

Uwierzytelnianie równorzędne przez użytkownika CASE z certyfikatem tokena dostępu Weave.

kWeaveAuthMode_CASE_AnyCert

Uwierzytelnianie równorzędne przy użyciu typu CASE dowolnego certyfikatu lub certyfikatu nieznanego typu.

kWeaveAuthMode_CASE_Device

Uwierzytelnianie równorzędne przez użytkownika CASE z certyfikatem urządzenia Weave.

kWeaveAuthMode_CASE_GeneralCert

Uwierzytelnianie równorzędne z użyciem CASE z ogólnym lub nieokreślonym typem certyfikatu.

kWeaveAuthMode_CASE_ServiceEndPoint

Uwierzytelnianie równorzędne przy użyciu zgłoszenia CASE z certyfikatem punktu końcowego usługi Weave.

kWeaveAuthMode_NotSpecified

Nie określono trybu uwierzytelniania.

kWeaveAuthMode_PASE_PairingCode

Uwierzytelnianie równorzędne przy użyciu PASE z kodem parowania urządzenia.

kWeaveAuthMode_TAKE_IdentificationKey

peer uwierzytelniony za pomocą funkcji Take oraz klucza identyfikującego token.

kWeaveAuthMode_Unauthenticated

Połączenie równorzędne nie zostało uwierzytelnione.

@42

 @42
Właściwości
kFabricSecretScope_All

Wszystkie urządzenia mogą mieć swój tajny klucz powodowany przez tkaninę.

@43

 @43
Właściwości
kTestKey_AES128CTRSHA1_DataKeyByte

Wartość bajtów, która tworzy klucz szyfrowania, który jest używany tylko do testowania.

kTestKey_AES128CTRSHA1_IntegrityKeyByte

Wartość bajtów, która tworzy klucz integralności, który jest używany tylko do testowania.

@44

 @44

Rozmiar dywersyfikatora klucza aplikacji szyfrowania wiadomości Weave.

@45

 @45

@53

 @53

@54

 @54
Właściwości
kWeavePeerDescription_MaxLength

Maksymalna długość ciągu znaków (łącznie ze znakiem NUL) zwracana przez funkcję WeaveMessageLayer::GetPeerDescription().

@55

 @55

Definicje związane z nagłówkiem zakodowanej wiadomości weave.

Właściwości
kWeaveHeaderFlag_DestNodeId

Wskazuje, że identyfikator węzła docelowego znajduje się w nagłówku wiadomości Weave.

kWeaveHeaderFlag_MsgCounterSyncReq

Wskazuje, że nadawca prosi o synchronizację licznika wiadomości.

kWeaveHeaderFlag_SourceNodeId

Wskazuje, że identyfikator węzła źródłowego znajduje się w nagłówku wiadomości Weave.

kWeaveHeaderFlag_TunneledData

Wskazuje, że ładunek komunikatu Weave jest tunelowanym pakietem IP.

@56

 @56

Definicje pól bitowych identyfikatorów IEEE EUI-64.

Właściwości
kEUI64_IG_Group

Wartość bitowa osoby/grupy wskazująca identyfikator EUI-64 adresu grupy.

kEUI64_IG_Individual

Wartość bitowa osoby/grupy wskazująca identyfikator EUI-64 pojedynczego adresu.

kEUI64_IG_Mask

Maska bitowa dla bitu indywidualnego/grupy (I/G) w identyfikatorze EUI-64.

Wartość 0 oznacza, że identyfikator jest indywidualnym adresem. Wartość 1 oznacza, że identyfikator jest adresem grupy.

kEUI64_UL_Local

Uniwersalna/lokalna wartość bitowa wskazująca lokalnie administrowany identyfikator EUI-64.

kEUI64_UL_Mask

Maska bitowa dla bitu uniwersalnego (U/L) w identyfikatorze EUI-64.

Wartość 0 oznacza, że identyfikator jest administrowany uniwersalnie (globalnie). Wartość 1 oznacza, że identyfikator jest administrowany lokalnie.

kEUI64_UL_Unversal

Uniwersalna/lokalna wartość bitowa wskazująca uniwersalny identyfikator EUI-64.

@57

 @57

Specjalne zakresy identyfikatorów węzłów Weave.

Właściwości
kMaxAlwaysLocalWeaveNodeId

Dla wygody sprawdzania identyfikatorów węzłów tkanych lub mniejszych od tej wartości są uznawane za lokalne.

WeaveEncryptionType

 WeaveEncryptionType

Typy szyfrowania wiadomości Weave.

Właściwości
kWeaveEncryptionType_AES128CTRSHA1

Wiadomość szyfrowana przy użyciu szyfrowania AES-128-CTR i integralności wiadomości za pomocą algorytmu HMAC-SHA-1.

kWeaveEncryptionType_None

Wiadomość niezaszyfrowana.

WeaveExchangeFlags

 WeaveExchangeFlags

Bity flagi nagłówka Weave Exchange.

Właściwości
kWeaveExchangeFlag_AckId

Ustaw, kiedy bieżąca wiadomość jest potwierdzeniem wcześniej odebranej wiadomości.

kWeaveExchangeFlag_Initiator

Ustaw, kiedy bieżąca wiadomość ma zostać wysłana przez inicjatora wymiany.

kWeaveExchangeFlag_NeedsAck

Ustaw, kiedy bieżąca wiadomość ma prosić o potwierdzenie od odbiorcy.

WeaveExchangeVersion

 WeaveExchangeVersion

Wersja nagłówka Weave Exchange.

WeaveMessageFlags

 WeaveMessageFlags

Flagi powiązane z przychodzącą lub wychodzącą wiadomością Weave.

Zdefiniowane tutaj wartości są przeznaczone do użycia w polu WeaveMessageInfo.Flags.

Właściwości
kWeaveMessageFlag_DefaultMulticastSourceAddress

Wskazuje, że podczas wysyłania komunikatów grupowych IPv6 powinien być używany wybór domyślnego adresu źródłowego IPv6.

kWeaveMessageFlag_DelaySend

Oznacza, że wysłanie wiadomości musi się opóźnić.

kWeaveMessageFlag_DestNodeId

Wskazuje, że identyfikator węzła docelowego znajduje się w nagłówku wiadomości Weave.

kWeaveMessageFlag_DuplicateMessage

Wskazuje, że wiadomość jest duplikatem wcześniej odebranej wiadomości.

kWeaveMessageFlag_FromInitiator

Wskazuje, że źródło wiadomości jest inicjatorem wymiany Weave.

kWeaveMessageFlag_MessageEncoded

Wskazuje, że wiadomość Weave jest już zakodowana.

kWeaveMessageFlag_MsgCounterSyncReq

Wskazuje, że nadawca prosi o synchronizację licznika wiadomości peera.

kWeaveMessageFlag_MulticastFromLinkLocal

Wycofany alias dla kWeaveMessageFlag_DefaultMulticastSourceAddress.

kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized

Wskazuje, że licznik wiadomości z klucza grupowego grupy porównawczej nie jest zsynchronizowany.

kWeaveMessageFlag_PeerRequestedAck

Wskazuje, że nadawca wiadomości poprosił o potwierdzenie.

kWeaveMessageFlag_RetainBuffer

Wskazuje, że po wysłaniu bufor wiadomości nie powinien zostać zwolniony.

kWeaveMessageFlag_ReuseMessageId

Wskazuje, że trzeba ponownie użyć obecnego identyfikatora wiadomości.

kWeaveMessageFlag_ReuseSourceId

Wskazuje, że trzeba ponownie użyć istniejącego identyfikatora węzła źródłowego.

kWeaveMessageFlag_SourceNodeId

Wskazuje, że identyfikator węzła źródłowego znajduje się w nagłówku wiadomości Weave.

kWeaveMessageFlag_TunneledData

Wskazuje, że ładunek komunikatu Weave jest tunelowanym pakietem IP.

kWeaveMessageFlag_ViaEphemeralUDPPort

Wskazuje, że wiadomość jest wysyłana/odbierana przez lokalny efemeryczny port UDP.

WeaveMessageVersion

 WeaveMessageVersion

Wersja formatu Weave Message.

Weave wybierze odpowiednią wersję wiadomości na podstawie formatu ramki wymaganego dla wiadomości Weave. Domyślnie wersja wiadomości to kWeaveMessageVersion_V1. Jeśli na przykład korzystasz z usługi Weave Reliable Messaging, wersja to kWeaveMessageVersion_V2.

Właściwości
kWeaveMessageVersion_Unspecified

Nieokreślona wersja wiadomości.

kWeaveMessageVersion_V1

Format nagłówka wiadomości w wersji 1.

kWeaveMessageVersion_V2

Format nagłówka wiadomości w wersji 2.

WeaveSubnetId

 WeaveSubnetId

Weave ma zarezerwowane numery podsieci dla różnych interfejsów sieciowych na typowych urządzeniach.

Te liczby są przypisywane do stałych symboli. Numery podsieci są używane przez Weave do konfigurowania adresów ULA IPv6 w odpowiednich interfejsach.

Właściwości
kWeaveSubnetId_MobileDevice

Identyfikator podsieci dla wszystkich urządzeń mobilnych.

kWeaveSubnetId_NotSpecified

Zarezerwowana jako wartość nieokreślona lub pusta.

kWeaveSubnetId_PrimaryWiFi

Numer podsieci interfejsu radia Wi-Fi.

kWeaveSubnetId_Service

Identyfikator podsieci dla punktów końcowych usługi Nest.

kWeaveSubnetId_ThreadAlarm

Numer podsieci interfejsu alarmu Thread.

kWeaveSubnetId_ThreadMesh

Identyfikator podsieci interfejsu radiowego Thread mesh.

kWeaveSubnetId_WiFiAP

Numer podsieci lokalnego punktu dostępu Wi-Fi.

WeaveVendorId

 WeaveVendorId

Definiuje typ

FabricSecretRotationScheme

uint8_t FabricSecretRotationScheme

FabricSecretScope

uint8_t FabricSecretScope

Określa kategorię urządzeń, które mogą zawierać i używać obiektów tajnych z tkaniny.

WeaveAuthMode

uint16_t WeaveAuthMode

Identyfikuje sposób uwierzytelniania węzła równorzędnego.

WeaveAuthMode opisuje metody, za pomocą których węzeł równorzędny został lub powinien zostać uwierzytelniony podczas wymiany wiadomości weave. W kontekście inicjującym aplikacje używają WeaveAuthMode do wyrażania pożądanego trybu uwierzytelniania równorzędnego dla wymiany, co instruuje warstwy zabezpieczeń i komunikatów Weave, aby osiągnąć żądany tryb lub zakończyć komunikację. W kontekście odpowiadającym interfejs WeaveAuthMode identyfikuje sposób uwierzytelnienia węzła wysyłającego (peera), co pozwala aplikacji odpowiadającej na egzekwowanie kontroli dostępu na podstawie tych informacji.

Wartość WeaveAuthMode przypisana do przychodzącej wiadomości Weave jest związana z charakterem klucza, który został użyty do zaszyfrowania tej wiadomości. Narzędzie WeaveAuthMode wywodzi się z mechanizmu, za pomocą którego został ustanowiony klucz, oraz kryteriów używanych do weryfikacji tożsamości współpracujących stron w momencie utworzenia klucza.

WeaveAuthMode zawiera zestaw wstępnie zdefiniowanych wartości opisujących typowe tryby uwierzytelniania. Informacje te są podzielone według mechanizmu uzgadniania kluczy (CASE, PASE, GroupKey itp.). Deweloperzy mogą rozszerzyć tryb WeaveAuthMode, definiując tryby aplikacji, które można dołączać do określonych kluczy szyfrowania.

WeaveEncryptionKey

union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey

WeaveEncryptionType

enum nl::Weave::WeaveEncryptionType WeaveEncryptionType

Typy szyfrowania wiadomości Weave.

WeaveExchangeFlags

enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags

Bity flagi nagłówka Weave Exchange.

WeaveExchangeVersion

enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion

Wersja nagłówka Weave Exchange.

WeaveMessageFlags

enum nl::Weave::WeaveMessageFlags WeaveMessageFlags

Flagi powiązane z przychodzącą lub wychodzącą wiadomością Weave.

Zdefiniowane tutaj wartości są przeznaczone do użycia w polu WeaveMessageInfo.Flags.

WeaveMessageHeader

struct WeaveMessageInfo WeaveMessageHeader

WeaveMessageVersion

enum nl::Weave::WeaveMessageVersion WeaveMessageVersion

Wersja formatu Weave Message.

Weave wybierze odpowiednią wersję wiadomości na podstawie formatu ramki wymaganego dla wiadomości Weave. Domyślnie wersja wiadomości to kWeaveMessageVersion_V1. Jeśli na przykład korzystasz z usługi Weave Reliable Messaging, wersja to kWeaveMessageVersion_V2.

WeaveSubnetId

enum nl::Weave::WeaveSubnetId WeaveSubnetId

Weave ma zarezerwowane numery podsieci dla różnych interfejsów sieciowych na typowych urządzeniach.

Te liczby są przypisywane do stałych symboli. Numery podsieci są używane przez Weave do konfigurowania adresów ULA IPv6 w odpowiednich interfejsach.

Zmienne

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 }

Zróżnicowanie kluczy używane do pobierania kluczy szyfrowania wiadomości Weave.

Ta wartość reprezentuje pierwsze 4 bajty HASH SHA-1 „Nest Weave Message EK i AK” do wyrażenia.

Funkcje

AppGroupMasterKeyIdFromAuthMode

uint8_t AppGroupMasterKeyIdFromAuthMode(
  WeaveAuthMode authMode
)

Zwraca identyfikator głównego klucza grupy aplikacji powiązany z trybem uwierzytelniania.

CASEAuthMode

WeaveAuthMode CASEAuthMode(
  uint8_t certType
)

Zwraca odpowiedni tryb uwierzytelniania CASE dla danego typu certyfikatu.

CertTypeFromAuthMode

uint8_t CertTypeFromAuthMode(
  WeaveAuthMode authMode
)

Zwraca źródło hasła dla danego trybu uwierzytelniania.

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
)

Z powodu błędu Weave zwraca zrozumiały dla człowieka ciąg znaków C z zakończeniem NULL i opisujący błąd.

Szczegóły
Parametry
[in] buf
Bufor, w którym zostanie umieszczony ciąg znaków błędu.
[in] bufSize
Rozmiar dostarczonego bufora w bajtach.
[in] err
Błąd do opisania.
Zwroty
true: jeśli ciąg opisu został zapisany w podanym buforze.
Zwroty
false Jeśli podany błąd nie był błędem Weave.

GenerateWeaveNodeId

NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId(
  uint64_t & nodeId
)

Wygeneruj losowy identyfikator węzła Weave.

Ta funkcja generuje 64-bitowy lokalnie unikalny identyfikator węzła Weave. Ta funkcja wykorzystuje silne kryptograficznie losowe źródło danych, aby zagwarantować niepowtarzalność wygenerowanej wartości. Bit 57 wygenerowanego identyfikatora węzła Weave ma wartość 1, co wskazuje, że wygenerowany identyfikator węzła Weave jest unikalny lokalnie (nie globalnie).

Szczegóły
Parametry
nodeId
Odwołanie do 64-bitowego identyfikatora węzła Weave.
Zwracane wartości
WEAVE_NO_ERROR
Identyfikator węzła Weave został wygenerowany.

GetFibonacciForIndex

uint32_t GetFibonacciForIndex(
  uint32_t index
)

Ta funkcja generuje 32-bitową liczbę Fibonacci dla danego 32-bitowego indeksu.

Szczegóły
Zwroty
32-bitowa nieoznaczona liczba fibonacci.

GetMessageName

const char * GetMessageName(
  uint32_t profileId,
  uint8_t msgType
)

GetProfileName

const char * GetProfileName(
  uint32_t profileId
)

GetRandU16

uint16_t GetRandU16(
  void
)

Ta funkcja generuje 16-bitową liczbę losową bez znaku.

Szczegóły
Zwroty
16-bitowa losowa liczba całkowita bez znaku.

GetRandU32

uint32_t GetRandU32(
  void
)

Ta funkcja generuje 32-bitową liczbę losową bez znaku.

Szczegóły
Zwroty
32-bitowa nieoznaczona losowa liczba całkowita.

GetRandU64

uint64_t GetRandU64(
  void
)

Ta funkcja generuje 64-bitową liczbę losową bez znaku.

Szczegóły
Zwroty
64-bitowa losowa liczba całkowita bez znaku.

GetRandU8

uint8_t GetRandU8(
  void
)

Ta funkcja generuje 8-bitową nieoznaczoną liczbę losową.

Szczegóły
Zwroty
8-bitowa losowa liczba całkowita bez znaku.

GetVendorName

const char * GetVendorName(
  uint16_t vendorId
)

GroupKeyAuthMode

WeaveAuthMode GroupKeyAuthMode(
  uint32_t keyId
)

Zwraca odpowiedni tryb uwierzytelniania klucza grupy dla podanego identyfikatora klucza.

IdentyfikatorInterfaceIdToWeaveNodeId IPv6

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

Przekonwertuj identyfikator interfejsu adresu IPv6 na identyfikator węzła Weave.

Aby ułatwić testowanie, identyfikatory węzłów mniejsze lub równe #kMaxZawszeLocalWeaveNodeId (65535) są uważane za „lokalne”, a ich bit uniwersalny/lokalny ma wartość 0. Upraszcza to reprezentację odpowiednich adresów IPv6 w postaci ciągu. Na przykład identyfikator ULA dla identyfikatora węzła 10 miałby postać FD00:0:1:1::A.

Szczegóły
Parametry
[in] interfaceId
Identyfikator 64-bitowego interfejsu.
Zwroty
zmapowany 64-bitowy identyfikator węzła Weave.

IsCASEAuthMode

bool IsCASEAuthMode(
  WeaveAuthMode authMode
)

Prawda, jeśli tryb uwierzytelniania jest oparty na protokole Weave CASE.

IsCertAuthMode

bool IsCertAuthMode(
  WeaveAuthMode authMode
)

Prawda, jeśli tryb uwierzytelniania opiera się na posiadaniu klucza prywatnego powiązanego z certyfikatem.

IsGroupKeyAuthMode

bool IsGroupKeyAuthMode(
  WeaveAuthMode authMode
)

Prawda, jeśli tryb uwierzytelniania opiera się na posiadaniu wspólnego klucza grupy.

IsPASEAuthMode

bool IsPASEAuthMode(
  WeaveAuthMode authMode
)

Prawda, jeśli tryb uwierzytelniania jest oparty na protokole Weave PASE.

IsPasswordAuthMode

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

Prawda, jeśli tryb uwierzytelniania opiera się na posiadaniu wspólnego hasła.

IsTAKEAuthMode

bool IsTAKEAuthMode(
  WeaveAuthMode authMode
)

Prawda, jeśli tryb uwierzytelniania opiera się na protokole 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
)

Zwraca odpowiedni tryb uwierzytelniania PASE dla danego źródła hasła.

PasswordSourceFromAuthMode

uint8_t PasswordSourceFromAuthMode(
  WeaveAuthMode authMode
)

Zwraca źródło hasła dla danego trybu uwierzytelniania.

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
)

Identyfikator_globalny_IDFabryku_firmy Weave

uint64_t WeaveFabricIdToIPv6GlobalId(
  uint64_t fabricId
)

Konwertuj identyfikator tkaniny Weave na globalny identyfikator ULA IPv6.

Globalny identyfikator ULA adresu tkanin to dolne 40 bitów 64-bitowego identyfikatora tkaniny.

Szczegóły
Parametry
[in] fabricId
Identyfikator tkaniny Weave.
Zwroty
zmapowany globalny identyfikator IPv6.

WeaveMessageSourceToStr

void WeaveMessageSourceToStr(
  char *buf,
  uint32_t bufSize,
  const WeaveMessageInfo *msgInfo
)

WYCOFANY Użyj w zamian metody WeaveMessageLayer::GetPeerDescription().

WeaveNodeAddrToStr

void WeaveNodeAddrToStr(
  char *buf,
  uint32_t bufSize,
  uint64_t nodeId,
  const IPAddress *addr,
  uint16_t port,
  WeaveConnection *con
)

WYCOFANY Użyj w zamian metody WeaveMessageLayer::GetPeerDescription().

WeaveNodeIdToIPv6InterfaceId

uint64_t WeaveNodeIdToIPv6InterfaceId(
  uint64_t nodeId
)

Konwertowanie identyfikatora węzła Weave na identyfikator interfejsu adresu IPv6.

Identyfikatory węzłów Weave to uniwersalne/lokalne kody EUI-64, które zgodnie z RFC-3513 są konwertowane na identyfikatory interfejsu przez odwrócenie bitu uniwersalnego/lokalnego (bit 57 zlicza LSB jako 0).

Aby ułatwić testowanie, identyfikatory węzłów mniejsze lub równe #kMaxZawszeLocalWeaveNodeId (65535) są uważane za „lokalne”, a ich bit uniwersalny/lokalny ma wartość 0. Upraszcza to reprezentację odpowiednich adresów IPv6 w postaci ciągu. Na przykład identyfikator ULA dla identyfikatora węzła 10 miałby postać FD00:0:1:1::A.

Szczegóły
Parametry
[in] nodeId
64-bitowy identyfikator węzła Weave.
Zwroty
identyfikator interfejsu IPv6.

maksimum

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

min

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