nl:: Weave:: TLV
Weave TLV 형식으로 인코딩된 데이터 작업에 대한 정의입니다.
요약
Weave TLV는 단순한 구조화된 데이터를 위한 일반화된 인코딩 방법입니다. 일반적으로 사용되는 JSON 직렬화 형식과 많은 속성을 공유하지만 전송 시 훨씬 더 간결합니다.
열거 |
|
---|---|
@71
|
enum |
@73
|
enum |
@74{
|
enum |
@75
|
enum |
TLVCommonProfiles{
|
enum |
TLVElementType
|
enum |
TLVFieldSize
|
enum |
TLVTagControl
|
enum |
TLVTagFields
|
enum |
TLVType
|
enum TLV 요소의 유형을 식별하는 열거형입니다. |
변수 |
|
---|---|
kWeaveTLVCopyChunkSize = 16
|
const size_t
판독기 객체의 TLV 요소를 작성기에 복사합니다.
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
함수 |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
공통 프로필 TLV 태그의 API 표현을 생성합니다.
|
ContextTag(uint8_t tagNum)
|
uint64_t
컨텍스트별 TLV 태그의 API 표현을 생성합니다.
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
제공된 태그가 컨텍스트별 태그인 경우 true를 반환합니다.
|
IsProfileTag(uint64_t tag)
|
bool
제공된 태그가 프로필별 태그인 경우 true를 반환합니다.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
지정된 TLV 유형이 유효하면 true를 반환합니다.
|
ProfileIdFromTag(uint64_t tag)
|
uint32_t
TLV 태그에서 프로필 ID를 반환합니다.
|
ProfileNumFromTag(uint64_t tag)
|
uint16_t
TLV 태그에서 프로필 번호를 반환합니다.
|
ProfileTag(uint32_t profileId, uint32_t tagNum)
|
uint64_t
프로필 ID 및 태그 번호에서 프로필별 TLV 태그의 API 표현을 생성합니다.
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
공급업체 ID, 프로필 번호, 태그 번호에서 프로필별 TLV 태그의 API 표현을 생성합니다.
|
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
|
uint8_t
|
TLVTypeHasLength(uint8_t type)
|
bool
지정된 TLV 유형이 연결된 길이 필드가 있음을 암시하는 경우 true를 반환합니다.
|
TLVTypeHasValue(uint8_t type)
|
bool
지정된 TLV 유형이 연결된 값 필드가 있음을 암시하는 경우 true를 반환합니다.
|
TLVTypeIsContainer(uint8_t type)
|
bool
지정된 TLV 유형이 컨테이너이면 true를 반환합니다.
|
TLVTypeIsString(uint8_t type)
|
bool
지정된 TLV 유형이 UTF8 또는 바이트 문자열이면 true를 반환합니다.
|
TagNumFromTag(uint64_t tag)
|
uint32_t
TLV 태그에서 태그 번호를 반환합니다.
|
VendorIdFromTag(uint64_t tag)
|
uint16_t
TLV 태그에서 공급업체 ID를 반환합니다.
|
클래스 |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
Weave TLV 형식으로 인코딩된 데이터에 메모리 효율적인 파서를 제공합니다. |
nl:: |
TLV 인코딩에서 요소를 수정/추가/삭제하기 위한 통합된 리더/작성기 인터페이스를 제공합니다. |
nl:: |
Weave TLV 형식으로 데이터를 쓰기 위한 메모리 효율적인 인코더를 제공합니다. |
nl:: |
WeaveCircularTLVBuffer는 nl::Weave::TLV::TLVWriter 및 nl::Weave::TLVTLVReader의 원형 스토리지를 제공합니다. |
네임스페이스 |
|
---|---|
nl:: |
이 네임스페이스에는 Weave TLV를 디버깅하고 로깅하기 위한 유형과 인터페이스가 포함되어 있습니다. |
nl:: |
이 네임스페이스에는 Weave TLV를 관리하고 사용하기 위한 유형과 유틸리티 인터페이스가 포함되어 있습니다. |
열거
@71
@71
@73
@73
@75
@75
TLVCommonProfiles
TLVCommonProfiles
속성 | |
---|---|
kProfileIdNotSpecified
|
변수 또는 멤버에 프로필 ID가 없음을 나타내는 데 사용됩니다. 이는 기본적으로 WeaveProfiles.h에 정의된 kWeaveProfile_NotSpecified와 동일합니다. |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
변수
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
판독기 객체의 TLV 요소를 작성기에 복사합니다.
CopyElement() 메서드는 유형과 값을 TLVReader 객체에서 가져온 새 TLV 요소를 인코딩합니다. 메서드가 호출되면 제공된 리더 객체가 소스 TLV 요소에 배치되어야 합니다. 새로 인코딩된 요소는 입력 컨테이너와 동일한 유형과 콘텐츠를 갖지만 태그는 지정된 인수로 설정됩니다. 제공된 요소가 TLV 컨테이너 (구조, 배열 또는 경로)인 경우 컨테이너의 전체 콘텐츠가 복사됩니다.
세부정보 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||||||||
반환 값 |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
함수
CommonTag
uint64_t CommonTag( uint32_t tagNum )
공통 프로필 TLV 태그의 API 표현을 생성합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
태그를 나타내는 64비트 정수입니다.
|
ContextTag
uint64_t ContextTag( uint8_t tagNum )
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
IsContextTag
bool IsContextTag( uint64_t tag )
제공된 태그가 컨텍스트별 태그인 경우 true를 반환합니다.
IsProfileTag
bool IsProfileTag( uint64_t tag )
제공된 태그가 프로필별 태그인 경우 true를 반환합니다.
IsSpecialTag
bool IsSpecialTag( uint64_t tag )
IsValidTLVType
bool IsValidTLVType( uint8_t type )
ProfileIdFromTag
uint32_t ProfileIdFromTag( uint64_t tag )
ProfileNumFromTag
uint16_t ProfileNumFromTag( uint64_t tag )
ProfileTag
uint64_t ProfileTag( uint32_t profileId, uint32_t tagNum )
프로필 ID 및 태그 번호에서 프로필별 TLV 태그의 API 표현을 생성합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
태그를 나타내는 64비트 정수입니다.
|
ProfileTag
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
공급업체 ID, 프로필 번호, 태그 번호에서 프로필별 TLV 태그의 API 표현을 생성합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 |
태그를 나타내는 64비트 정수입니다.
|
TLVFieldSizeToBytes
uint8_t TLVFieldSizeToBytes( TLVFieldSize fieldSize )
TLVTypeHasLength
bool TLVTypeHasLength( uint8_t type )
TLVTypeHasValue
bool TLVTypeHasValue( uint8_t type )
TLVTypeIsContainer
bool TLVTypeIsContainer( uint8_t type )
TLVTypeIsString
bool TLVTypeIsString( uint8_t type )
TagNumFromTag
uint32_t TagNumFromTag( uint64_t tag )
TLV 태그에서 태그 번호를 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
연결된 태그 번호입니다.
|
IsProfileTag() 및 IsContextTag()