nl::Weave

요약

열거

@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
인증서의 용도 또는 적용을 식별합니다.
@40 enum
비밀번호 기반 인증 프로토콜 (예:
@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
Weave 메시지 암호화 애플리케이션 키 다양화 크기입니다.
@45 enum
@53 enum
@54{
  kWeavePeerDescription_MaxLength = 100
}
enum
@55{
  kWeaveHeaderFlag_DestNodeId = 0x0100,
  kWeaveHeaderFlag_SourceNodeId = 0x0200,
  kWeaveHeaderFlag_TunneledData = 0x0400,
  kWeaveHeaderFlag_MsgCounterSyncReq = 0x0800
}
enum
인코딩된 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
IEEE EUI-64 식별자의 비트 필드 정의
@57{
  kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
enum
Weave 노드 ID의 특수 범위.
WeaveEncryptionType{
  kWeaveEncryptionType_None = 0,
  kWeaveEncryptionType_AES128CTRSHA1 = 1
}
enum
Weave 메시지의 암호화 유형입니다.
WeaveExchangeFlags{
  kWeaveExchangeFlag_Initiator = 0x1,
  kWeaveExchangeFlag_AckId = 0x2,
  kWeaveExchangeFlag_NeedsAck = 0x4
}
enum
Weave Exchange 헤더 플래그 비트입니다.
WeaveExchangeVersion enum
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
수신 또는 발신 Weave 메시지와 관련된 플래그입니다.
WeaveMessageVersion{
  kWeaveMessageVersion_Unspecified = 0,
  kWeaveMessageVersion_V1 = 1,
  kWeaveMessageVersion_V2 = 2
}
enum
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에는 일반적인 장치의 고유한 네트워크 인터페이스를 위해 몇 가지 예약된 서브넷 번호가 있습니다.
WeaveVendorId enum

Typedef

FabricSecretRotationScheme typedef
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
패브릭 보안 비밀을 보유하고 사용할 수 있는 기기의 카테고리를 식별합니다.
WeaveAuthMode typedef
uint16_t
피어 노드가 인증되는 방법을 식별합니다.
WeaveEncryptionKey typedef
WeaveEncryptionType typedef
enum nl::Weave::WeaveEncryptionType
Weave 메시지의 암호화 유형입니다.
WeaveExchangeFlags typedef
enum nl::Weave::WeaveExchangeFlags
Weave Exchange 헤더 플래그 비트입니다.
WeaveExchangeVersion typedef
enum nl::Weave::WeaveExchangeVersion
Weave Exchange 헤더 버전.
WeaveMessageFlags typedef
enum nl::Weave::WeaveMessageFlags
수신 또는 발신 Weave 메시지와 관련된 플래그입니다.
WeaveMessageHeader typedef
WeaveMessageVersion typedef
enum nl::Weave::WeaveMessageVersion
Weave Message 형식의 버전입니다.
WeaveSubnetId typedef
enum nl::Weave::WeaveSubnetId
Weave에는 일반적인 장치의 고유한 네트워크 인터페이스를 위해 몇 가지 예약된 서브넷 번호가 있습니다.

변수

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
Weave 메시지 암호화 키 파생에 사용되는 키 다양자입니다.

함수

AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
uint8_t
인증 모드와 연결된 애플리케이션 그룹 마스터 키 ID를 반환합니다.
CASEAuthMode(uint8_t certType)
WeaveAuthMode
지정된 인증서 유형에 해당하는 CASE 인증 모드를 반환합니다.
CertTypeFromAuthMode(WeaveAuthMode authMode)
uint8_t
지정된 인증 모드의 비밀번호 소스를 반환합니다.
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
Weave 오류가 있을 경우, 사람이 읽을 수 있고 NULL로 끝나고 오류를 설명하는 C 문자열을 반환합니다.
GenerateWeaveNodeId(uint64_t & nodeId)
NL_DLL_EXPORT WEAVE_ERROR
임의의 Weave 노드 ID를 생성합니다.
GetFibonacciForIndex(uint32_t index)
uint32_t
이 함수는 주어진 32비트 색인에 대해 32비트 피보나치 숫자를 생성합니다.
GetMessageName(uint32_t profileId, uint8_t msgType)
const char *
GetProfileName(uint32_t profileId)
const char *
GetRandU16(void)
uint16_t
이 함수는 16비트의 부호 없는 랜덤 숫자를 생성합니다.
GetRandU32(void)
uint32_t
이 함수는 32비트의 부호 없는 랜덤 숫자를 생성합니다.
GetRandU64(void)
uint64_t
이 함수는 부호 없는 64비트 랜덤 숫자를 생성합니다.
GetRandU8(void)
uint8_t
이 함수는 8비트의 부호 없는 랜덤 숫자를 생성합니다.
GetVendorName(uint16_t vendorId)
const char *
GroupKeyAuthMode(uint32_t keyId)
WeaveAuthMode
지정된 키 ID에 해당하는 그룹 키 인증 모드를 반환합니다.
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
uint64_t
IPv6 주소 인터페이스 식별자를 Weave 노드 식별자로 변환합니다.
IsCASEAuthMode(WeaveAuthMode authMode)
bool
인증 모드가 Weave CASE 프로토콜을 기반으로 하는 경우 true입니다.
IsCertAuthMode(WeaveAuthMode authMode)
bool
인증 모드가 인증서와 연결된 비공개 키 소유에 기반하는 경우 true입니다.
IsGroupKeyAuthMode(WeaveAuthMode authMode)
bool
인증 모드가 공유 그룹 키 소유를 기반으로 하는 경우 true입니다.
IsPASEAuthMode(WeaveAuthMode authMode)
bool
인증 모드가 Weave PASE 프로토콜을 기반으로 하는 경우 true입니다.
IsPasswordAuthMode(WeaveAuthMode authMode)
bool
인증 모드가 공유 비밀번호 소유에 기반하는 경우 true입니다.
IsTAKEAuthMode(WeaveAuthMode authMode)
bool
인증 모드가 Weave TAKE 프로토콜을 기반으로 하는 경우 true입니다.
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
지정된 비밀번호 소스에 해당하는 PASE 인증 모드를 반환합니다.
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
uint8_t
지정된 인증 모드의 비밀번호 소스를 반환합니다.
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
Weave 패브릭 식별자를 IPv6 ULA 전역 식별자로 변환합니다.
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
void
지원 중단됨 WeaveMessageLayer::GetPeerDescription()을 대신 사용하세요.
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
void
지원 중단됨 WeaveMessageLayer::GetPeerDescription()을 대신 사용하세요.
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
uint64_t
Weave 노드 식별자를 IPv6 주소 인터페이스 식별자로 변환합니다.
max(const _T & a, const _T & b)
const _T &
min(const _T & a, const _T & b)
const _T &

클래스

nl::Weave::Binding

Weave 통신의 의도된 대상과 관련 구성 정보를 캡처합니다.

nl::Weave::Counter

카운터를 정수 값으로 관리하기 위한 인터페이스입니다.

nl::Weave::ExchangeContext

이 클래스는 둘 이상의 노드 간에 진행 중인 대화 (ExchangeContext)를 나타냅니다.

nl::Weave::FabricStateDelegate

이 추상 위임 클래스는 패브릭 상태 변경사항을 전달합니다.

nl::Weave::HostPortList

호스트 포트 목록을 관리하고 조작하기 위해, Weave 서비스 디렉토리와 관련된 호스트 및 포트 식별자 튜플의 간단한 바이너리 인코딩 컬렉션입니다.

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

단조 증가하는 카운터를 정수 값으로 관리하기 위한 클래스입니다.

nl::Weave::PersistedCounter

재부팅 시 유지되도록 의도된 정수 값으로 카운터를 관리하는 클래스입니다.

nl::Weave::WeaveConnection

Weave Connection 클래스의 정의입니다.

nl::Weave::WeaveConnectionTunnel

WeaveConnectionTunnel 클래스의 정의는 원래 WeaveConnections가 결합된 TCPEndPoint 쌍을 관리하고 그 사이에 WeaveMessageLayer가 모든 데이터와 연결 클로저를 전달합니다.

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

이는 ExchangeContext 내에서 특정 Weave 메시지의 Weave 프로필과 메시지 유형을 지정합니다.

nl::Weave::WeaveExchangeManager

이 클래스는 다른 Weave 노드로 ExchangeContexts를 관리하는 데 사용됩니다.

nl::Weave::WeaveFabricState

WeaveFabricState의 전방 선언

nl::Weave::WeaveKeyId

Weave Key 식별자의 정의입니다.

nl::Weave::WeaveMessageLayer

다른 Weave 노드와의 통신을 관리하는 WeaveMessageLayer 클래스의 정의

nl::Weave::WeaveMsgEncryptionKey

Weave 메시지 암호화 키에 대한 정보가 포함됩니다.

nl::Weave::WeaveMsgEncryptionKeyCache

Weave 메시지 암호화 키의 키 캐시입니다.

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

Weave 프로필 요청하지 않은 응답자 (서버)를 구현하기 위한 일반적인 기본 객체로, 인증된 요청의 유효성 검사와 상태 보고서를 캡슐화하고 패브릭 상태와 교환 관리자를 위한 공통 데이터 멤버 저장소를 제공합니다.

nl::Weave::WeaveServerDelegateBase

Weave 서버 대리자 객체를 구현하기 위한 공통 기본 클래스입니다.

nl::Weave::WeaveSessionKey

Weave 세션 키에 대한 정보를 포함합니다.

nl::Weave::WeaveSessionState

다른 노드와 메시지를 주고받는 데 필요한 통신 상태를 전달합니다.

구조체

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

WRMP 구성

nl::Weave::WeaveMessageInfo

전송 또는 수신 중인 Weave 메시지에 대한 정보입니다.

Union

nl::Weave::WeaveEncryptionKey

네임스페이스

nl::Weave::ASN1

이 네임스페이스는 AASN.1 (Abstract Syntax Notation One) 작업을 위한 Weave 내의 모든 인터페이스를 포함합니다.

nl::Weave::Crypto

이 네임스페이스는 암호화 공유를 위해 Weave 내의 모든 인터페이스를 포함합니다.

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

이 네임스페이스는 다음과 같은 함수를 제공합니다.

nl::Weave::Logging

이 네임스페이스는 로깅 공유를 위해 Weave 내의 모든 인터페이스를 포함합니다.

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

이 네임스페이스에는 Weave 프로필 내 모든 인터페이스(Common 및 Nest Labs 공급업체 전용)가 포함됩니다.

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

Weave TLV 형식으로 인코딩된 데이터 작업에 대한 정의입니다.

nl::Weave::Warm

이 네임스페이스에는 Weave IP 주소 및 경로를 구성하기 위한 이동식 모듈인 Weave Address and Routing 모듈용 인터페이스가 포함되어 있습니다.

열거

@21

 @21
속성
kFlagAckPending

전송되는 메시지에 대한 응답이 예상되는 경우

kFlagAutoReleaseConnection

교환 컨텍스트가 해제되면 메시지 암호화 키가 자동으로 해제됩니다.

kFlagAutoReleaseKey

설정되면 이 교환 컨텍스트의 피어로부터 메시지가 하나 이상 수신되었음을 나타냅니다.

kFlagAutoRequestAck

이 컨텍스트는 WeaveConnection과 연결되어 있습니다.

kFlagConnectionClosed

이 컨텍스트가 교환을 시작한 사람입니다.

kFlagDropAck

설정되면 메시지가 UDP를 통해 전송될 때마다 자동으로 확인을 요청합니다.

kFlagMsgRcvdFromPeer

설정되면 이 교환에서 수신한 하나 이상의 메시지가 확인을 요청했음을 나타냅니다.

애플리케이션은 이 플래그를 읽어 보내려는 응답 메시지에 대한 확인을 요청해야 하는지 결정합니다. 이 플래그는 피어가 WRMP를 사용 중인지 여부도 나타낼 수 있습니다.

kFlagPeerRequestedAck

설정되면 반환 대기 중인 확인이 있음을 나타냅니다.

kFlagResponseExpected

내부 및 디버그 전용: 설정되면 교환 레이어는 확인을 전송하지 않습니다.

kFlagUseEphemeralUDPPort

교환 컨텍스트가 해제되면 연결된 WeaveConnection을 자동으로 해제합니다.

@36

 @36

@37

 @37

@38

 @38
속성
kFabricIdDefaultForTest

기본 패브릭 ID로, 테스트 목적으로만 사용해야 합니다.

@39

 @39

인증서의 용도 또는 적용을 식별합니다.

인증서 유형은 인증서의 용도나 애플리케이션을 설명하는 라벨입니다. 인증서 유형은 해당 인증서의 속성으로 전달되지 않으며 인증서의 구조 및/또는 해당 인증서가 사용되는 컨텍스트에서 파생됩니다. 인증서 유형 열거에는 일반적으로 사용되는 인증서 애플리케이션을 설명하는 사전 정의된 값 집합이 포함되어 있습니다. 개발자는 맞춤 인증서 또는 고유한 보안 속성을 가진 인증서를 설명한 애플리케이션별 유형으로 인증서 유형 값 범위를 확장할 수도 있습니다.

인증서 유형은 주로 애플리케이션 기능에 대한 액세스가 요청자가 제공한 인증서의 영향을 받는 액세스 제어 정책을 구현하는 데 사용됩니다.

속성
kCertType_AccessToken

Weave 액세스 토큰 인증서.

kCertType_AppDefinedBase

애플리케이션별 인증서 유형에는 이 값 이상의 값이 있어야 합니다.

kCertType_CA

CA 인증서

kCertType_Device

Weave 기기 인증서.

kCertType_FirmwareSigning

Weave 펌웨어 서명 인증서입니다.

kCertType_General

일반적이거나 특정적이지 않은 유형의 인증서입니다.

kCertType_Max

인증서 유형은 이 값 이하여야 합니다.

kCertType_NotSpecified

인증서 유형이 지정되지 않았습니다.

kCertType_ServiceEndpoint

Weave 서비스 엔드포인트 인증서.

@40

 @40

비밀번호 기반 인증 프로토콜 (예:

Weave PASE)

@41

 @41
속성
kWeaveAuthModeCategory_AppDefinedBase

애플리케이션에서 정의한 인증 카테고리의 기준 값입니다.

kWeaveAuthModeCategory_CASE

피어가 Weave CASE 프로토콜을 사용하여 인증되었습니다.

kWeaveAuthModeCategory_General

일련의 일반 메커니즘 중 하나를 사용하여 피어가 인증됩니다.

kWeaveAuthModeCategory_GroupKey

피어가 공유 그룹 키를 사용하여 인증되었습니다.

kWeaveAuthModeCategory_PASE

피어가 Weave PASE 프로토콜을 사용하여 인증되었습니다.

kWeaveAuthModeCategory_TAKE

피어가 Weave TAKE 프로토콜을 사용하여 인증되었습니다.

kWeaveAuthMode_CASE_AccessToken

피어가 Weave 액세스 토큰 인증서와 함께 CASE를 사용하여 인증되었습니다.

kWeaveAuthMode_CASE_AnyCert

임의의 인증서와 함께 CASE를 사용하여 피어 인증되었거나 알 수 없는 유형의 인증서입니다.

kWeaveAuthMode_CASE_Device

피어가 Weave 기기 인증서와 함께 CASE를 사용하여 인증되었습니다.

kWeaveAuthMode_CASE_GeneralCert

피어가 일반 또는 비특정 인증서 유형과 함께 CASE를 사용하여 인증되었습니다.

kWeaveAuthMode_CASE_ServiceEndPoint

피어가 Weave 서비스 엔드포인트 인증서와 함께 CASE를 사용하여 인증되었습니다.

kWeaveAuthMode_NotSpecified

인증 모드가 지정되지 않았습니다.

kWeaveAuthMode_PASE_PairingCode

피어가 기기 페어링 코드와 함께 PASE를 사용하여 인증되었습니다.

kWeaveAuthMode_TAKE_IdentificationKey

피어가 토큰 식별 키와 함께 TAKE를 사용하여 인증되었습니다.

kWeaveAuthMode_Unauthenticated

피어가 인증되지 않았습니다.

@42

 @42
속성
kFabricSecretScope_All

모든 기기가 상응하는 패브릭 보안 비밀을 소유할 수 있습니다.

@43

 @43
속성
kTestKey_AES128CTRSHA1_DataKeyByte

테스트에만 사용되는 암호화 키를 구성하는 바이트 값입니다.

kTestKey_AES128CTRSHA1_IntegrityKeyByte

무결성 키를 구성하는 바이트 값으로, 테스트에만 사용됩니다.

@44

 @44

Weave 메시지 암호화 애플리케이션 키 다양화 크기입니다.

@45

 @45

@53

 @53

@54

 @54
속성
kWeavePeerDescription_MaxLength

WeaveMessageLayer::GetPeerDescription()에서 반환하는 문자열(NUL 문자 포함)의 최대 길이

@55

 @55

인코딩된 Weave 메시지의 헤더와 관련된 정의입니다.

속성
kWeaveHeaderFlag_DestNodeId

Weave 메시지 헤더에 대상 노드 ID가 있음을 나타냅니다.

kWeaveHeaderFlag_MsgCounterSyncReq

발신자가 메시지 카운터 동기화를 요청함을 나타냅니다.

kWeaveHeaderFlag_SourceNodeId

Weave 메시지 헤더에 소스 노드 ID가 있음을 나타냅니다.

kWeaveHeaderFlag_TunneledData

Weave 메시지 페이로드가 터널링된 IP 패킷임을 나타냅니다.

@56

 @56

IEEE EUI-64 식별자의 비트 필드 정의

속성
kEUI64_IG_Group

그룹 주소 EUI-64 식별자를 나타내는 개별/그룹 비트 값입니다.

kEUI64_IG_Individual

개별 주소 EUI-64 식별자를 나타내는 개별/그룹 비트 값입니다.

kEUI64_IG_Mask

EUI-64 식별자 내의 개별/그룹 (I/G) 비트에 대한 비트마스크입니다.

0 값은 ID가 개별 주소임을 나타냅니다. 값이 1이면 ID가 그룹 주소임을 나타냅니다.

kEUI64_UL_Local

로컬에서 관리되는 EUI-64 식별자를 나타내는 범용/로컬 비트 값입니다.

kEUI64_UL_Mask

EUI-64 식별자 내 범용/로컬 (U/L) 비트의 비트마스크입니다.

값이 0이면 ID가 범용 (전역으로) 관리됨을 나타냅니다. 값이 1인 경우 ID가 로컬에서 관리됨을 나타냅니다.

kEUI64_UL_Unversal

범용/로컬 비트 값은 범용으로 관리되는 EUI-64 식별자를 나타냅니다.

@57

 @57

Weave 노드 ID의 특수 범위.

속성
kMaxAlwaysLocalWeaveNodeId

이 값보다 작거나 같은 Weave 노드 식별자는 테스트 편의를 위해 로컬로 간주됩니다.

WeaveEncryptionType

 WeaveEncryptionType

Weave 메시지의 암호화 유형입니다.

속성
kWeaveEncryptionType_AES128CTRSHA1

HMAC-SHA-1 메시지 무결성으로 AES-128-CTR 암호화를 사용하여 암호화된 메시지

kWeaveEncryptionType_None

메시지가 암호화되지 않았습니다.

WeaveExchangeFlags

 WeaveExchangeFlags

Weave Exchange 헤더 플래그 비트입니다.

속성
kWeaveExchangeFlag_AckId

현재 메시지가 이전에 수신된 메시지에 대한 승인인 경우에 설정합니다.

kWeaveExchangeFlag_Initiator

교환을 시작한 사용자가 현재 메시지를 보낼 때 설정합니다.

kWeaveExchangeFlag_NeedsAck

현재 메시지가 수신자에게 확인을 요청할 때 설정합니다.

WeaveExchangeVersion

 WeaveExchangeVersion

Weave Exchange 헤더 버전.

WeaveMessageFlags

 WeaveMessageFlags

수신 또는 발신 Weave 메시지와 관련된 플래그입니다.

여기에 정의된 값은 WeaveMessageInfo.Flags 필드 내에서 사용하기 위한 것입니다.

속성
kWeaveMessageFlag_DefaultMulticastSourceAddress

IPv6 멀티캐스트 메시지를 전송할 때 기본 IPv6 소스 주소 선택을 사용해야 함을 나타냅니다.

kWeaveMessageFlag_DelaySend

메시지 전송을 지연시켜야 함을 나타냅니다.

kWeaveMessageFlag_DestNodeId

Weave 메시지 헤더에 대상 노드 ID가 있음을 나타냅니다.

kWeaveMessageFlag_DuplicateMessage

메일이 이전에 받은 메시지와 중복되었음을 나타냅니다.

kWeaveMessageFlag_FromInitiator

메시지의 소스가 Weave 교환의 시작자임을 나타냅니다.

kWeaveMessageFlag_MessageEncoded

Weave 메시지가 이미 인코딩되었음을 나타냅니다.

kWeaveMessageFlag_MsgCounterSyncReq

발신자가 피어의 메시지 카운터 동기화를 요청함을 나타냅니다.

kWeaveMessageFlag_MulticastFromLinkLocal

kWeaveMessageFlag_DefaultMulticastSourceAddress의 지원 중단된 별칭입니다.

kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized

피어의 그룹 키 메시지 카운터가 동기화되지 않았음을 나타냅니다.

kWeaveMessageFlag_PeerRequestedAck

메시지 발신자가 확인을 요청했음을 나타냅니다.

kWeaveMessageFlag_RetainBuffer

전송 후 메시지 버퍼를 해제해서는 안 된다는 것을 나타냅니다.

kWeaveMessageFlag_ReuseMessageId

기존 메일 식별자를 재사용해야 함을 나타냅니다.

kWeaveMessageFlag_ReuseSourceId

기존 소스 노드 식별자를 재사용해야 함을 나타냅니다.

kWeaveMessageFlag_SourceNodeId

Weave 메시지 헤더에 소스 노드 ID가 있음을 나타냅니다.

kWeaveMessageFlag_TunneledData

Weave 메시지 페이로드가 터널링된 IP 패킷임을 나타냅니다.

kWeaveMessageFlag_ViaEphemeralUDPPort

로컬 임시 UDP 포트를 통해 메시지가 전송/수신되고 있음을 나타냅니다.

WeaveMessageVersion

 WeaveMessageVersion

Weave Message 형식의 버전입니다.

Weave는 Weave 메시지에 필요한 프레임 형식에 따라 적절한 메시지 버전을 선택합니다. 기본적으로 메시지 버전은 kWeaveMessageVersion_V1입니다. 예를 들어 Weave Reliable Messaging을 사용하는 경우 이 버전은 kWeaveMessageVersion_V2입니다.

속성
kWeaveMessageVersion_Unspecified

지정되지 않은 메시지 버전입니다.

kWeaveMessageVersion_V1

메일 헤더 형식 버전 V1입니다.

kWeaveMessageVersion_V2

메일 헤더 형식 버전 V2입니다.

WeaveSubnetId

 WeaveSubnetId

Weave에는 일반적인 장치의 고유한 네트워크 인터페이스를 위해 몇 가지 예약된 서브넷 번호가 있습니다.

이 숫자는 기호 상수에 할당됩니다. 이러한 서브넷 번호는 Weave가 적절한 인터페이스에 IPv6 ULA 주소를 구성하는 데 사용됩니다.

속성
kWeaveSubnetId_MobileDevice

모든 휴대기기의 서브넷 식별자입니다.

kWeaveSubnetId_NotSpecified

지정되지 않은 값 또는 null 값으로 예약되어 있습니다.

kWeaveSubnetId_PrimaryWiFi

Wi-Fi 무선 인터페이스 서브넷 번호입니다.

kWeaveSubnetId_Service

Nest 서비스 엔드포인트의 서브넷 식별자입니다.

kWeaveSubnetId_ThreadAlarm

스레드 알람 무선 인터페이스 서브넷 번호입니다.

kWeaveSubnetId_ThreadMesh

스레드 메시 무선 인터페이스 서브넷 식별자입니다.

kWeaveSubnetId_WiFiAP

로컬 Wi-Fi AP 인터페이스 서브넷 번호입니다.

WeaveVendorId

 WeaveVendorId

Typedef

FabricSecretRotationScheme

uint8_t FabricSecretRotationScheme

FabricSecretScope

uint8_t FabricSecretScope

패브릭 보안 비밀을 보유하고 사용할 수 있는 기기의 카테고리를 식별합니다.

WeaveAuthMode

uint16_t WeaveAuthMode

피어 노드가 인증되는 방법을 식별합니다.

WeaveAuthMode는 Weave 메시지 교환 중에 피어 노드가 인증되었거나 인증해야 하는 수단을 설명합니다. 시작 컨텍스트에서 애플리케이션은 WeaveAuthMode를 사용하여 교환에 대해 원하는 피어 인증 모드를 표현하므로 Weave 보안 및 메시징 계층에 원하는 모드를 달성하거나 통신에 실패하도록 지시합니다. 응답 컨텍스트에서 WeaveAuthMode는 요청하는 노드 (피어)가 인증된 방법을 식별하여 응답 애플리케이션이 이 정보를 기반으로 액세스 제어를 시행할 수 있도록 합니다.

수신되는 Weave 메시지에 할당된 WeaveAuthMode는 해당 메시지를 암호화하는 데 사용된 키의 특성과 관련이 있습니다. WeaveAuthMode는 키가 설정된 메커니즘과 키 설정 시 통신 당사자의 ID를 확인하는 데 사용되는 기준에서 파생됩니다.

WeaveAuthMode에는 일반적인 인증 모드를 설명하는 사전 정의된 값 집합이 포함되어 있습니다. 이는 키 일치 메커니즘 (CASE, PASE, GroupKey 등)으로 분류됩니다. 개발자는 특정 암호화 키에 연결할 수 있는 애플리케이션별 모드를 정의하여 WeaveAuthMode를 확장할 수 있습니다.

WeaveEncryptionKey

union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey

WeaveEncryptionType

enum nl::Weave::WeaveEncryptionType WeaveEncryptionType

Weave 메시지의 암호화 유형입니다.

WeaveExchangeFlags

enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags

Weave Exchange 헤더 플래그 비트입니다.

WeaveExchangeVersion

enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion

Weave Exchange 헤더 버전.

WeaveMessageFlags

enum nl::Weave::WeaveMessageFlags WeaveMessageFlags

수신 또는 발신 Weave 메시지와 관련된 플래그입니다.

여기에 정의된 값은 WeaveMessageInfo.Flags 필드 내에서 사용하기 위한 것입니다.

WeaveMessageHeader

struct WeaveMessageInfo WeaveMessageHeader

WeaveMessageVersion

enum nl::Weave::WeaveMessageVersion WeaveMessageVersion

Weave Message 형식의 버전입니다.

Weave는 Weave 메시지에 필요한 프레임 형식에 따라 적절한 메시지 버전을 선택합니다. 기본적으로 메시지 버전은 kWeaveMessageVersion_V1입니다. 예를 들어 Weave Reliable Messaging을 사용하는 경우 이 버전은 kWeaveMessageVersion_V2입니다.

WeaveSubnetId

enum nl::Weave::WeaveSubnetId WeaveSubnetId

Weave에는 일반적인 장치의 고유한 네트워크 인터페이스를 위해 몇 가지 예약된 서브넷 번호가 있습니다.

이 숫자는 기호 상수에 할당됩니다. 이러한 서브넷 번호는 Weave가 적절한 인터페이스에 IPv6 ULA 주소를 구성하는 데 사용됩니다.

변수

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 }

Weave 메시지 암호화 키 파생에 사용되는 키 다양자입니다.

이 값은 'Nest Weave Message EK 및 AK'의 SHA-1 HASH의 처음 4바이트를 나타냅니다. 있습니다.

함수

AppGroupMasterKeyIdFromAuthMode

uint8_t AppGroupMasterKeyIdFromAuthMode(
  WeaveAuthMode authMode
)

인증 모드와 연결된 애플리케이션 그룹 마스터 키 ID를 반환합니다.

CASEAuthMode

WeaveAuthMode CASEAuthMode(
  uint8_t certType
)

지정된 인증서 유형에 해당하는 CASE 인증 모드를 반환합니다.

CertTypeFromAuthMode

uint8_t CertTypeFromAuthMode(
  WeaveAuthMode authMode
)

지정된 인증 모드의 비밀번호 소스를 반환합니다.

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
)

Weave 오류가 있을 경우, 사람이 읽을 수 있고 NULL로 끝나고 오류를 설명하는 C 문자열을 반환합니다.

세부정보
매개변수
[in] buf
오류 문자열을 배치할 버퍼입니다.
[in] bufSize
제공된 버퍼의 크기(바이트)
[in] err
설명할 오류입니다.
반환
제공된 버퍼에 설명 문자열이 작성된 경우 true입니다.
반환
false 제공된 오류가 Weave 오류가 아닌 경우.

GenerateWeaveNodeId

NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId(
  uint64_t & nodeId
)

임의의 Weave 노드 ID를 생성합니다.

이 함수는 64비트 로컬 고유 Weave 노드 ID를 생성합니다. 이 함수는 암호학적으로 강력한 임의 데이터 소스를 사용하여 생성된 값의 고유성을 보장합니다. 생성된 Weave 노드 ID의 비트 57은 1로 설정되어 생성된 Weave 노드 ID가 로컬 (전역적으로) 고유하지 않음을 나타냅니다.

세부정보
매개변수
nodeId
64비트 Weave 노드 ID에 대한 참조입니다.
반환 값
WEAVE_NO_ERROR
Weave 노드 ID가 성공적으로 생성되었는지 여부입니다.

GetFibonacciForIndex

uint32_t GetFibonacciForIndex(
  uint32_t index
)

이 함수는 주어진 32비트 색인에 대해 32비트 피보나치 숫자를 생성합니다.

세부정보
반환
32비트 부호 없는 피보나치 숫자입니다.

GetMessageName

const char * GetMessageName(
  uint32_t profileId,
  uint8_t msgType
)

GetProfileName

const char * GetProfileName(
  uint32_t profileId
)

GetRandU16

uint16_t GetRandU16(
  void
)

이 함수는 16비트의 부호 없는 랜덤 숫자를 생성합니다.

세부정보
반환
부호 없는 임의의 16비트 정수입니다.

GetRandU32

uint32_t GetRandU32(
  void
)

이 함수는 32비트의 부호 없는 랜덤 숫자를 생성합니다.

세부정보
반환
부호 없는 32비트 임의의 정수입니다.

GetRandU64

uint64_t GetRandU64(
  void
)

이 함수는 부호 없는 64비트 랜덤 숫자를 생성합니다.

세부정보
반환
부호 없는 임의의 64비트 정수입니다.

GetRandU8

uint8_t GetRandU8(
  void
)

이 함수는 8비트의 부호 없는 랜덤 숫자를 생성합니다.

세부정보
반환
부호 없는 8비트 임의의 정수입니다.

GetVendorName

const char * GetVendorName(
  uint16_t vendorId
)

GroupKeyAuthMode

WeaveAuthMode GroupKeyAuthMode(
  uint32_t keyId
)

지정된 키 ID에 해당하는 그룹 키 인증 모드를 반환합니다.

IPv6InterfaceIdToWeaveNodeId

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

IPv6 주소 인터페이스 식별자를 Weave 노드 식별자로 변환합니다.

테스트의 편의를 위해 #kMaxAlwaysLocalWeaveNodeId (65535)보다 작거나 같은 노드 식별자는 '로컬'로 간주되며 범용/로컬 비트가 0으로 설정됩니다. 이에 따라 해당 IPv6 주소의 문자열 표현이 간소화됩니다. 예를 들어 노드 식별자 10의 ULA는 FD00:0:1:1::A입니다.

세부정보
매개변수
[in] interfaceId
64비트 인터페이스 식별자입니다.
반환
매핑된 64비트 Weave 노드 식별자를 제공합니다.

IsCASEAuthMode

bool IsCASEAuthMode(
  WeaveAuthMode authMode
)

인증 모드가 Weave CASE 프로토콜을 기반으로 하는 경우 true입니다.

IsCertAuthMode

bool IsCertAuthMode(
  WeaveAuthMode authMode
)

인증 모드가 인증서와 관련된 개인 키 소유에 기반하는 경우 true입니다.

IsGroupKeyAuthMode

bool IsGroupKeyAuthMode(
  WeaveAuthMode authMode
)

인증 모드가 공유 그룹 키 소유를 기반으로 하는 경우 true입니다.

IsPASEAuthMode

bool IsPASEAuthMode(
  WeaveAuthMode authMode
)

인증 모드가 Weave PASE 프로토콜을 기반으로 하는 경우 true입니다.

IsPasswordAuthMode

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

인증 모드가 공유 비밀번호 소유에 기반하는 경우 true입니다.

IsTAKEAuthMode

bool IsTAKEAuthMode(
  WeaveAuthMode authMode
)

인증 모드가 Weave TAKE 프로토콜을 기반으로 하는 경우 true입니다.

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
)

지정된 비밀번호 소스에 해당하는 PASE 인증 모드를 반환합니다.

PasswordSourceFromAuthMode

uint8_t PasswordSourceFromAuthMode(
  WeaveAuthMode authMode
)

지정된 인증 모드의 비밀번호 소스를 반환합니다.

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
)

Weave 패브릭 식별자를 IPv6 ULA 전역 식별자로 변환합니다.

패브릭 주소의 ULA 전역 식별자는 패브릭 64비트 패브릭 ID의 하위 40비트입니다.

세부정보
매개변수
[in] fabricId
Weave 패브릭 식별자입니다.
반환
매핑된 IPv6 전역 식별자입니다.

WeaveMessageSourceToStr

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

지원 중단됨 WeaveMessageLayer::GetPeerDescription()을 대신 사용하세요.

WeaveNodeAddrToStr

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

지원 중단됨 WeaveMessageLayer::GetPeerDescription()을 대신 사용하세요.

WeaveNodeIdToIPv6InterfaceId

uint64_t WeaveNodeIdToIPv6InterfaceId(
  uint64_t nodeId
)

Weave 노드 식별자를 IPv6 주소 인터페이스 식별자로 변환합니다.

Weave 노드 식별자는 범용/로컬 EUI-64로, RFC-3513에 따라 범용/로컬 비트를 반전하여 인터페이스 식별자로 변환됩니다 (비트 57은 LSB를 0으로 계산).

테스트의 편의를 위해 #kMaxAlwaysLocalWeaveNodeId (65535)보다 작거나 같은 노드 식별자는 '로컬'로 간주되며 범용/로컬 비트가 0으로 설정됩니다. 이에 따라 해당 IPv6 주소의 문자열 표현이 간소화됩니다. 예를 들어 노드 식별자 10의 ULA는 FD00:0:1:1::A입니다.

세부정보
매개변수
[in] nodeId
64비트 Weave 노드 식별자.
반환
IPv6 인터페이스 식별자입니다.

최대

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

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