Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

nl :: 짜다:: TLV :: TLVReader

#include <src/lib/core/WeaveTLV.h>

직조 법으로 인코딩 된 데이터를위한 메모리 효율적인 파서 제공 TLV의 포맷.

요약

TLVReader의 구현 위브을위한 전진 전용, "풀 - 스타일"파서 TLV의 데이터입니다.TLVReader의 객체의 순서를 반복하는 데 사용할 수있는 커서로 작동 TLV의 요소와 그 내용을 해석한다. 요소에 위치하는 경우, 응용 프로그램은 독자의 호출 할 수 있습니다 () 가져 오기를 현재 요소의 종류와 태그를 조회하는 방법, 및 관련 값을 추출 할 수 있습니다. 독자의 다음 () 메소드는 요소에서 요소로 진행 사용된다.

TLVReader의 객체는 항상 나 전후 어느 위치 TLV의 요소입니다. 제 초기화되면TLVReader는 부호화의 첫 번째 요소의 직전에 배치된다. 독서를 시작하기 위해, 응용 프로그램은 초기에 호출해야 다음 () 첫 번째 요소의 판독기를 배치하는 방법. 컨테이너 엘리먼트 구조, 배열 또는 과정 공인 된 encounteredeither 경우 OpenContainer () 또는 EnterContainer () 메소드는 용기의 내용물을 반복하는 데 사용될 수는.

독자가 끝에 도달하면 TLV를 부호화 또는 컨테이너 내의 마지막 요소를, 상기에서 WEAVE_END_OF_TLV 오류를 반환하여 프로그램 신호를 다음 () 방법. 이 초기화 될 때까지 독자 WEAVE_END_OF_TLV를 반환하는 것, 또는 현재의 컨테이너가 종료된다 (통해 CloseContainer () / ExitContainer () ).

TLVReader의 목적은 고정 된 입력 버퍼로부터, 또는 하나 이상의 PacketBuffers 체인에서 직접 데이터를 분석 할 수있다. 또한, 어플리케이션이 제공 할 수 GetNextBuffer 임의의 공급원, 예를 들면 소켓 또는 시리얼 포트로부터 독자 데이터 피드 기능.

계승

직접 알려진 하위 클래스 :
  nl :: Weave :: Profiles :: DataManagement_Current :: CircularEventReader
  nl :: Weave :: TLV :: CircularTLVReader

공개 유형

GetNextBufferFunct )(TLVReader &reader, uintptr_t &bufHandle, const uint8_t *&bufStart, uint32_t &bufLen) WEAVE_ERROR (*
추가적인 검색하는 데 사용할 수있는 함수 TLV의 데이터를 분석한다.

공용 속성

AppData
void *
애플리케이션 별 데이터에 사용할 수있는 포인터 필드입니다.
GetNextBuffer
위한 입력 데이터를 생성하는 함수 포인터TLVReader의 개체.
ImplicitProfileId
uint32_t
암시 적 형식으로 인코딩 된 프로필 태그에 사용할 프로필 ID입니다.

보호 된 속성

mBufEnd
const uint8_t *
mBufHandle
uintptr_t
mContainerType
mControlByte
uint16_t
mElemLenOrVal
uint64_t
mElemTag
uint64_t
mLenRead
uint32_t
mMaxLen
uint32_t
mReadPoint
const uint8_t *

공공 기능

CloseContainer (TLVReader & containerReader)
a의 읽기 완료 TLV의 를 호출 한 후 컨테이너를 OpenContainer () .
DupBytes (uint8_t *& buf, uint32_t & dataLen)
현재 바이트 또는 UTF8 문자열의 값을 포함하는 버퍼를 할당하고 반환합니다.
DupString (char *& buf)
현재 바이트 또는 UTF8 문자열의 null로 끝나는 값을 포함하는 버퍼를 할당하고 반환합니다.
EnterContainer ( TLVType & outerContainerType)
준비TLVReader의 의 구성원 읽기 위해 객체를 TLV의 컨테이너 요소를.
ExitContainer ( TLVType outerContainerType)
a의 읽기 완료 TLV의 용기와 준비TLVReader의 컨테이너 후 요소를 읽을 수있는 개체를.
Get (bool & v)
현재 요소의 값을 bool 유형으로 가져옵니다.
Get (int8_t & v)
현재 요소의 값을 8 비트 부호있는 정수로 가져옵니다.
Get (int16_t & v)
현재 요소의 값을 16 비트 부호있는 정수로 가져옵니다.
Get (int32_t & v)
현재 요소의 값을 부호있는 32 비트 정수로 가져옵니다.
Get (int64_t & v)
현재 요소의 값을 부호있는 64 비트 정수로 가져옵니다.
Get (uint8_t & v)
현재 요소의 값을 8 비트 부호없는 정수로 가져옵니다.
Get (uint16_t & v)
현재 요소의 값을 16 비트 부호없는 정수로 가져옵니다.
Get (uint32_t & v)
현재 요소의 값을 32 비트 부호없는 정수로 가져옵니다.
Get (uint64_t & v)
현재 요소의 값을 64 비트 부호없는 정수로 가져옵니다.
Get (float & v)
Get (double & v)
현재 요소의 값을 배정 밀도 부동 소수점 숫자로 가져옵니다.
GetBufHandle (void) const
uintptr_t
GetBytes (uint8_t *buf, uint32_t bufSize)
현재 바이트 또는 UTF8 문자열 요소의 값을 가져옵니다.
GetContainerType (void) const
한도 내에서 컨테이너의 종류를 돌려줍니다TLVReader가 현재 읽고됩니다.
GetControlByte (void) const
uint16_t
현재와 관련된 제어 바이트를 돌려 TLV의 요소를.
GetDataPtr (const uint8_t *& data)
a의 초기 인코딩 된 바이트에 대한 포인터를 가져 TLV의 바이트 또는 UTF8 문자열 요소를.
GetLength (void) const
uint32_t
현재와 연관된 데이터의 길이를 돌려줍니다 TLV의 요소를.
GetLengthRead (void) const
uint32_t
판독기가 초기화 된 이후 읽은 총 바이트 수를 반환합니다.
GetReadPoint (void) const
const uint8_t *
판독기의 현재 위치에 해당하는 기본 입력 버퍼의 지점을 가져옵니다.
GetRemainingLength (void) const
uint32_t
최대 읽기 길이에 도달 할 때까지 읽을 수있는 총 바이트 수를 리턴합니다.
GetString (char *buf, uint32_t bufSize)
현재 바이트 또는 UTF8 문자열 요소의 값을 null로 끝나는 문자열로 가져옵니다.
GetTag (void) const
uint64_t
현재와 관련된 태그를 돌려 TLV의 요소를.
GetType (void) const
현재의 형태를 돌려줍니다 TLV의 요소를.
Init (constTLVReader & aReader)
void
초기화TLVReader의 서로 오브젝트TLVReader의 개체를.
Init (const uint8_t *data, uint32_t dataLen)
void
초기화TLVReader의 단일 입력 버퍼로부터 판독하는 개체.
Init ( PacketBuffer *buf, uint32_t maxLen)
void
초기화TLVReader의 단일 PacketBuffer에서 읽을 수있는 개체를.
Init ( PacketBuffer *buf, uint32_t maxLen, bool allowDiscontiguousBuffers)
void
초기화TLVReader의 하나 또는 그 이상의 PacketBuffers에서 읽을 수있는 개체를.
Next (void)
진보는TLVReader의 다음에 객체 TLV의 요소를 읽을 수 있습니다.
Next ( TLVType expectedType, uint64_t expectedTag)
전진TLVReader의 다음에 객체 TLV의 요소는 새로운 요소의 종류와 태그를 주장, 읽을 수 있습니다.
OpenContainer (TLVReader & containerReader)
새로운 초기화TLVReader의 a의 멤버 읽기 위해 객체를 TLV의 컨테이너 요소를.
Skip (void)
진보TLVReader의 현재 직후에 개체 TLV의 요소를.
VerifyEndOfContainer (void)
확인하는 TVLReader 객체는 말에 있음을 TLV의 컨테이너입니다.

보호 된 기능

ClearElementState (void)
void
의 상태 취소TLVReader을 .
ElementType (void) const
TLVElementType
이것은 mControlByte에서 TLVElementType을 반환하는 개인 메서드입니다.
EnsureData ( WEAVE_ERROR noDataErr)
GetElementHeadLength (uint8_t & elemHeadBytes) const
이것은 길이를 계산하기 위해 사용 된 전용 방법 TLV의 소자 헤드.
IsContainerOpen (void) const
bool
ReadData (uint8_t *buf, uint32_t len)
ReadElement (void)
ReadTag (TLVTagControl tagControl, const uint8_t *& p)
uint64_t
SetContainerOpen (bool aContainerOpen)
void
SkipData (void)
현재 들어있는 데이터 스킵 TLV를 목적지 버퍼없이 위에 읽어.
SkipToEndOfContainer (void)
VerifyElement (void)

보호 된 정적 기능

FailGetNextBuffer (TLVReader & reader, uintptr_t & bufHandle, const uint8_t *& bufStart, uint32_t & bufLen)
GetNextPacketBuffer (TLVReader & reader, uintptr_t & bufHandle, const uint8_t *& bufStart, uint32_t & bufLen)

공개 유형

GetNextBufferFunct

WEAVE_ERROR(* GetNextBufferFunct)(TLVReader &reader, uintptr_t &bufHandle, const uint8_t *&bufStart, uint32_t &bufLen)

추가적인 검색하는 데 사용할 수있는 함수 TLV의 데이터를 분석한다.

이러한 타입의 함수는 피드에 입력 데이터로 사용된다TLVReader . 함수가 호출되면 판독기가 더 이상 데이터를 사용할 수 없음을 판독기에게 구문 분석하거나 신호를 보낼 수 있도록 추가 데이터를 생성해야합니다.

세부
매개 변수
[in] reader
받는 참조TLVReader의 입력 데이터를 요청하는 개체.
[in,out] bufHandle
함수가 호출간에 컨텍스트 데이터를 저장하는 데 사용할 수있는 uintptr_t 값에 대한 참조입니다. 이 값은 첫 번째 호출 전에 0으로 초기화됩니다.
[in,out] bufStart
데이터 포인터에 대한 참조입니다. 함수 입장에서 bufStart 마지막 바이트 초과 한 점 TLV의 데이터 바이트는 판독기에 의해 소모. 출구에서 bufStart 새로운의 첫 번째 바이트에 포인트로 예상된다 TLV의 구문 분석 할 수있는 데이터입니다. 새 포인터 값은 이전에 사용 된 데이터와 동일한 버퍼 내에 있거나 완전히 새로운 버퍼를 가리킬 수 있습니다.
[out] bufLen
함수의 값으로 설정해야하는 부호없는 정수의 참조 TLV의 데이터를 리턴되는 바이트 수. 입력의 단부 경우 TLV의 데이터 도달 한, 함수는이 값을 0으로 설정한다.
반환 값
WEAVE_NO_ERROR
함수가 성공적으로 생산하면보다 TLV에 도달 한 데이터 또는 입력 데이터의 끝 ( bufLen 이 경우 0으로 설정한다).
other
함수가 요청 된 데이터를 생성하지 못하게하는 오류가 발생했음을 나타내는 기타 Weave 또는 플랫폼 별 오류 코드입니다.

공용 속성

AppData

void * AppData

애플리케이션 별 데이터에 사용할 수있는 포인터 필드입니다.

GetNextBuffer

GetNextBufferFunct GetNextBuffer

위한 입력 데이터를 생성하는 함수 포인터TLVReader의 개체.

NULL (기본값)로 설정하면 리더는 더 이상 입력 데이터를 사용할 수 없다고 가정합니다.

GetNextBuffer는 애플리케이션에서 언제든지 설정할 수 있지만 일반적으로 판독기가 초기화 될 때 설정됩니다.

GetNextBuffer 함수 구현에 대한 추가 정보는 GetNextBufferFunct 유형 정의를 참조하십시오.

ImplicitProfileId

uint32_t ImplicitProfileId

암시 적 형식으로 인코딩 된 프로필 태그에 사용할 프로필 ID입니다.

독자가 암시 형태로 인코딩 된 프로파일 특정 태그를 만나면 값 사용 ImplicitProfileId 태그에 대한 가정 된 프로파일 ID 등의 속성.

기본적으로 ImplicitProfileId 속성은 kProfileIdNotSpecified로 설정됩니다. 디코딩 할 때 TLV 암시 적으로 인코딩 된 태그를 포함, 응용 프로그램을 설정해야합니다 ImplicitProfileId 이전에 어떤 읽는 TLV의 같은 태그를 가진 요소. 적절한 프로필 ID는 일반적으로 말하는 응용 프로그램 또는 프로토콜의 컨텍스트에 따라 다릅니다.

동안 암시 - 인코딩 된 태그가 발생하면 ImplicitProfileId kProfileIdNotSpecified로 설정되어, 독자는 반환 WEAVE_ERROR_UNKNOWN_IMPLICIT_TLV_TAG의 오류입니다.

보호 된 속성

mBufEnd

const uint8_t * mBufEnd

mBufHandle

uintptr_t mBufHandle

mContainerType

TLVType mContainerType

mControlByte

uint16_t mControlByte

mElemLenOrVal

uint64_t mElemLenOrVal

mElemTag

uint64_t mElemTag

mLenRead

uint32_t mLenRead

mMaxLen

uint32_t mMaxLen

mReadPoint

const uint8_t * mReadPoint

공공 기능

CloseContainer

WEAVE_ERROR CloseContainer(
  TLVReader & containerReader
)

a의 읽기 완료 TLV의 를 호출 한 후 컨테이너를 OpenContainer () .

CloseContainer () 메소드는 상위의 상태로 복원TLVReader의 호출 후에 개체 OpenContainer () . 모든 호출 들어 OpenContainer () 애플리케이션에 대응하는 호출해야 CloseContainer ()을 두 가지 방법으로 동일한 용기 리더에 대한 참조를 전달.

경우 CloseContainer () 반품 상위 리더가 용기를 다음의 첫 번째 요소의 직전에 배치된다. 이 시점에서 응용 프로그램이 사용할 수있는 다음 () 나머지 요소들을 사전에 방법.

응용 프로그램은 가까운 호출 할 수 있습니다 CloseContainer () 에 관계없이 기본 컨테이너의 모든 요소를 읽은 여부, 어느 시점에서 부모 판독기를. 후 CloseContainer ()가 호출 된 응용 프로그램은 '초기화 해제'하고 다시 초기화하지 않고 더를 사용해서는 안 컨테이너 리더를 고려해야합니다.

세부
매개 변수
[in] containerReader
받는 참조TLVReader의 에 공급 된 개체 OpenContainer () 방법.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_INCORRECT_STATE
경우 OpenContainer ()가 독자에 호출되지, 컨테이너 독자가 전달 된 하나와 일치하지 않는 경우, 또는 OpenContainer () 메소드를.
WEAVE_ERROR_TLV_UNDERRUN
기본 경우 TLV가 중간에 종료 인코딩입니다.
WEAVE_ERROR_INVALID_TLV_ELEMENT
독자가 유효하지 않거나 지원되지 않는가 발생한 경우 TLV의 요소 유형을.
WEAVE_ERROR_INVALID_TLV_TAG
독자가 발생한 경우 TLV의 유효하지 않은 상황에서 태그를.
other
구성된 의해 반환 된 다른 직물 또는 플랫폼 오류 코드 GetNextBuffer () 함수입니다. GetNextBuffer가 NULL이 아닌 경우에만 가능합니다.

DupBytes

WEAVE_ERROR DupBytes(
  uint8_t *& buf,
  uint32_t & dataLen
)

현재 바이트 또는 UTF8 문자열의 값을 포함하는 버퍼를 할당하고 반환합니다.

이 메서드는 현재 위치에서 바이트 또는 UTF-8 문자열 요소와 관련된 데이터의 복사본을 생성하고 반환합니다. 버퍼에 대한 메모리는 malloc ()으로 확보하고 더 이상 필요하지 않을 때 호출자가 free ()로 해제해야합니다.

세부
매개 변수
[out] buf
힙 할당 된 버퍼에 대한 포인터의 참조 dataLen 바이트 성공에 할당 될 것이다.
[out] dataLen
의 크기 (바이트)의 저장에 대한 참조, buf 성공.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV의 바이트 또는 UTF8 문자열 또는 리더 요소 상에 위치하지 않는다.
WEAVE_ERROR_NO_MEMORY
출력 버퍼에 메모리를 할당 할 수없는 경우.
WEAVE_ERROR_TLV_UNDERRUN
기본 경우 TLV가 중간에 종료 인코딩입니다.
WEAVE_ERROR_UNSUPPORTED_WEAVE_FEATURE
대상 플랫폼이 malloc () 및 free ()를 지원하지 않는 경우.
other
구성된 의해 반환 된 다른 직물 또는 플랫폼 오류 코드 GetNextBuffer () 함수입니다. GetNextBuffer가 NULL이 아닌 경우에만 가능합니다.

DupString

WEAVE_ERROR DupString(
  char *& buf
)

현재 바이트 또는 UTF8 문자열의 null로 끝나는 값을 포함하는 버퍼를 할당하고 반환합니다.

이 메서드는 버퍼를 만들고 현재 위치에서 바이트 또는 UTF-8 문자열 요소와 관련된 데이터의 null로 끝나는 복사본을 반환합니다. 버퍼에 대한 메모리는 malloc ()으로 확보하고 더 이상 필요하지 않을 때 호출자가 free ()로 해제해야합니다.

세부
매개 변수
[out] buf
성공시 힙 할당 버퍼가 할당 될 포인터에 대한 참조입니다.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV의 바이트 또는 UTF8 문자열 또는 리더 요소 상에 위치하지 않는다.
WEAVE_ERROR_NO_MEMORY
출력 버퍼에 메모리를 할당 할 수없는 경우.
WEAVE_ERROR_TLV_UNDERRUN
기본 경우 TLV가 중간에 종료 인코딩입니다.
WEAVE_ERROR_UNSUPPORTED_WEAVE_FEATURE
대상 플랫폼이 malloc () 및 free ()를 지원하지 않는 경우.
other
구성된 의해 반환 된 다른 직물 또는 플랫폼 오류 코드 GetNextBuffer () 함수입니다. GetNextBuffer가 NULL이 아닌 경우에만 가능합니다.

EnterContainer

WEAVE_ERROR EnterContainer(
  TLVType & outerContainerType
)

준비TLVReader의 의 구성원 읽기 위해 객체를 TLV의 컨테이너 요소를.

EnterContainer () 메소드는 현재 준비TLVReader의 (A)의 부재 요소 읽기 시작하는 개체 TLV의 용기 (a 구조 배열 또는 경로). 호출 할 때마다 들어 EnterContainer () 응용 프로그램에 해당하는 호출해야합니다 ExitContainer을 () .

경우 EnterContainer ()가 호출된다TLVReader의 컨테이너 요소 상에 위치해야 오브젝트 판독한다. 이 메서드는 컨테이너를 읽는 동안 판독기의 컨텍스트를 저장하는 데 사용되는 TLVType 값에 대한 참조를 인수로받습니다.

EnterContainer () 메소드가 복귀는, 리더는 용기의 제 1 부재의 직전에 배치된다. 반복적으로 호출 다음 () 단부가 독자 WEAVE_END_OF_TLV를 반환 그 점에서 도달 할 때까지 수집 부재를 통해 리더 진행한다.

응용 프로그램이 컨테이너를 읽고 완료되면 그것은 호출하여 컨테이너 후 요소를 계속해서 읽어 ExitContainer () 메소드를.

세부
매개 변수
[out] outerContainerType
판독기의 컨텍스트를 수신 할 TLVType 값에 대한 참조입니다.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_INCORRECT_STATE
현재 요소가 컨테이너 요소에 위치하지 않는 경우.

ExitContainer

WEAVE_ERROR ExitContainer(
  TLVType outerContainerType
)

a의 읽기 완료 TLV의 용기와 준비TLVReader의 컨테이너 후 요소를 읽을 수있는 개체를.

ExitContainer () 메소드가 상태 복원TLVReader의 호출 후에 개체 EnterContainer () . 모든 호출 들어 EnterContainer () 애플리케이션에 대응하는 호출해야 ExitContainer을 () 에 의해 리턴 된 값 컨텍스트 전달 EnterContainer () 방법.

경우 ExitContainer () 반품, 리더가 용기를 다음의 첫 번째 요소의 직전에 배치된다. 이 시점에서 응용 프로그램이 사용할 수있는 다음 () 나머지 요소들을 사전에 방법.

일단 EnterContainer ()가 호출 된 응용 프로그램은 호출 할 수 있습니다 ExitContainer () 에 관계없이 기본 컨테이너의 모든 요소를 읽은 여부, 어느 시점에서 독자에 있습니다.

세부
매개 변수
[in] outerContainerType
에 의해 리턴 된 값 TLVType EnterContainer () 방법.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_INCORRECT_STATE
경우 OpenContainer ()가 독자에 호출되지, 컨테이너 독자가 전달 된 하나와 일치하지 않는 경우, 또는 OpenContainer () 메소드를.
WEAVE_ERROR_TLV_UNDERRUN
기본 경우 TLV가 중간에 종료 인코딩입니다.
WEAVE_ERROR_INVALID_TLV_ELEMENT
독자가 유효하지 않거나 지원되지 않는가 발생한 경우 TLV의 요소 유형을.
WEAVE_ERROR_INVALID_TLV_TAG
독자가 발생한 경우 TLV의 유효하지 않은 상황에서 태그를.
other
구성된 의해 반환 된 다른 직물 또는 플랫폼 오류 코드 GetNextBuffer () 함수입니다. GetNextBuffer가 NULL이 아닌 경우에만 가능합니다.

가져 오기

WEAVE_ERROR Get(
  bool & v
)

현재 요소의 값을 bool 유형으로 가져옵니다.

세부
매개 변수
[out] v
전류와 연관된 값을 수신 TLV의 요소.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV 부울 타입 또는 리더의 요소 상에 위치하지 않는다.

가져 오기

WEAVE_ERROR Get(
  int8_t & v
)

현재 요소의 값을 8 비트 부호있는 정수로 가져옵니다.

인코딩 된 정수 값이 출력 데이터 유형보다 크면 결과 값이 잘립니다.

세부
매개 변수
[out] v
전류와 연관된 값을 수신 TLV의 요소.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV의 정수형 (부호가있는 또는 부호) 또는 리더의 요소 상에 위치하지 않는다.

가져 오기

WEAVE_ERROR Get(
  int16_t & v
)

현재 요소의 값을 16 비트 부호있는 정수로 가져옵니다.

인코딩 된 정수 값이 출력 데이터 유형보다 크면 결과 값이 잘립니다.

세부
매개 변수
[out] v
전류와 연관된 값을 수신 TLV의 요소.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV의 정수형 (부호가있는 또는 부호) 또는 리더의 요소 상에 위치하지 않는다.

가져 오기

WEAVE_ERROR Get(
  int32_t & v
)

현재 요소의 값을 부호있는 32 비트 정수로 가져옵니다.

인코딩 된 정수 값이 출력 데이터 유형보다 크면 결과 값이 잘립니다.

세부
매개 변수
[out] v
전류와 연관된 값을 수신 TLV의 요소.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV의 정수형 (부호가있는 또는 부호) 또는 리더의 요소 상에 위치하지 않는다.

가져 오기

WEAVE_ERROR Get(
  int64_t & v
)

현재 요소의 값을 부호있는 64 비트 정수로 가져옵니다.

인코딩 된 정수 값이 출력 데이터 유형보다 크면 결과 값이 잘립니다.

세부
매개 변수
[out] v
전류와 연관된 값을 수신 TLV의 요소.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV의 정수형 (부호가있는 또는 부호) 또는 리더의 요소 상에 위치하지 않는다.

가져 오기

WEAVE_ERROR Get(
  uint8_t & v
)

현재 요소의 값을 8 비트 부호없는 정수로 가져옵니다.

인코딩 된 정수 값이 출력 데이터 유형보다 크면 결과 값이 잘립니다. 마찬가지로 인코딩 된 정수 값이 음수이면 값이 부호없는 값으로 변환됩니다.

세부
매개 변수
[out] v
전류와 연관된 값을 수신 TLV의 요소.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV의 정수형 (부호가있는 또는 부호) 또는 리더의 요소 상에 위치하지 않는다.

가져 오기

WEAVE_ERROR Get(
  uint16_t & v
)

현재 요소의 값을 16 비트 부호없는 정수로 가져옵니다.

인코딩 된 정수 값이 출력 데이터 유형보다 크면 결과 값이 잘립니다. 마찬가지로 인코딩 된 정수 값이 음수이면 값이 부호없는 값으로 변환됩니다.

세부
매개 변수
[out] v
전류와 연관된 값을 수신 TLV의 요소.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV의 정수형 (부호가있는 또는 부호) 또는 리더의 요소 상에 위치하지 않는다.

가져 오기

WEAVE_ERROR Get(
  uint32_t & v
)

현재 요소의 값을 32 비트 부호없는 정수로 가져옵니다.

인코딩 된 정수 값이 출력 데이터 유형보다 크면 결과 값이 잘립니다. 마찬가지로 인코딩 된 정수 값이 음수이면 값은 부호없는 값으로 변환됩니다.

세부
매개 변수
[out] v
전류와 연관된 값을 수신 TLV의 요소.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV의 정수형 (부호가있는 또는 부호) 또는 리더의 요소 상에 위치하지 않는다.

가져 오기

WEAVE_ERROR Get(
  uint64_t & v
)

현재 요소의 값을 64 비트 부호없는 정수로 가져옵니다.

인코딩 된 정수 값이 음수이면 값은 부호없는 값으로 변환됩니다.

세부
매개 변수
[out] v
전류와 연관된 값을 수신 TLV의 요소.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV의 정수형 (부호가있는 또는 부호) 또는 리더의 요소 상에 위치하지 않는다.

가져 오기

WEAVE_ERROR Get(
  float & v
)

가져 오기

WEAVE_ERROR Get(
  double & v
)

현재 요소의 값을 배정 밀도 부동 소수점 숫자로 가져옵니다.

세부
매개 변수
[out] v
전류와 연관된 값을 수신 TLV의 요소.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV 부동 소수점 형, 또는 독자 요소 상에 위치하지 않는다.

GetBufHandle

uintptr_t GetBufHandle(
  void
) const 

GetBytes

WEAVE_ERROR GetBytes(
  uint8_t *buf,
  uint32_t bufSize
)

현재 바이트 또는 UTF8 문자열 요소의 값을 가져옵니다.

필요한 입력 버퍼 크기를 결정하기 위해 호출 GetLength () 를 호출하기 전에 방법 ()을 GetBytes .

세부
매개 변수
[in] buf
문자열 데이터를받을 버퍼에 대한 포인터입니다.
[in] bufSize
버퍼의 크기 (바이트)를 가리키는 buf .
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV의 바이트 또는 UTF8 문자열 또는 리더 요소 상에 위치하지 않는다.
WEAVE_ERROR_BUFFER_TOO_SMALL
제공된 버퍼가 너무 작아 현재 요소와 관련된 데이터를 보유 할 수없는 경우.
WEAVE_ERROR_TLV_UNDERRUN
기본 경우 TLV가 중간에 종료 인코딩입니다.
other
구성된 의해 반환 된 다른 직물 또는 플랫폼 오류 코드 GetNextBuffer () 함수입니다. GetNextBuffer가 NULL이 아닌 경우에만 가능합니다.

GetContainerType

TLVType GetContainerType(
  void
) const 

한도 내에서 컨테이너의 종류를 돌려줍니다TLVReader가 현재 읽고됩니다.

GetContainerType () 메소드는 반환 유형 TLV의 한도 내에서 컨테이너TLVReader가 판독된다. 경우]TLVReader는 (A)의 가장 바깥 레벨에 위치 TLV를 부호화 (즉, 이전에 또는 가장 바깥 후 TLV의 원소), 방법은 kTLVType_NotSpecified를 리턴한다.

세부
보고
상기 전류 용기 TLVType 또는 kTLVType_NotSpecified이 경우TLVReader는 컨테이너 내에 위치하지 않는다.

GetControlByte

uint16_t GetControlByte(
  void
) const 

현재와 관련된 제어 바이트를 돌려 TLV의 요소를.

이상적으로, 아무도 제어 바이트에 대해 알 필요가 없으며 단지의 내부 구현 TLV는 그것에 접근 할 수 있어야한다. 그러나, 그럼에도 불구하고, 제어 바이트 액세스를 갖는 의해 디버깅 목적 유용 TLV 디버그 유틸리티 (TRY 태그 제어 바이트를 디코딩하는 것을 꽤 인쇄시 TLV가 콘텐츠 버퍼).

세부
보고
현재와 연관된 제어 바이트의 부호없는 정수 포함한 TLV의 요소. 독자가 요소 상에 위치하지 않은 경우 kTLVControlByte_NotSpecified가 반환된다.

GetDataPtr

WEAVE_ERROR GetDataPtr(
  const uint8_t *& data
)

a의 초기 인코딩 된 바이트에 대한 포인터를 가져 TLV의 바이트 또는 UTF8 문자열 요소를.

이 메서드는 기본 입력 버퍼 내의 인코딩 된 문자열 값에 대한 직접 포인터를 반환합니다. 성공하려면 메서드에서 문자열 값 전체가 단일 버퍼에 있어야합니다. 그렇지 않으면 방법은 반환 WEAVE_ERROR_TLV_UNDERRUN는 . 이것은 여러 개의 불연속 버퍼에서 데이터를 읽을 때 제한된 사용 방법을 만듭니다.

세부
매개 변수
[out] data
기본 문자열 데이터에 대한 포인터를받을 const 포인터에 대한 참조입니다.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV의 바이트 또는 UTF8 문자열 또는 리더 요소 상에 위치하지 않는다.
WEAVE_ERROR_TLV_UNDERRUN
기본적인 경우 TLV은 조기 종료 또는 현재 부호화하는 문자열 요소의 값은 하나의 연속적인 버퍼에 포함되지 않는다.
other
구성된 의해 반환 된 다른 직물 또는 플랫폼 오류 코드 GetNextBuffer () 함수입니다. GetNextBuffer가 NULL이 아닌 경우에만 가능합니다.

GetLength

uint32_t GetLength(
  void
) const 

현재와 연관된 데이터의 길이를 돌려줍니다 TLV의 요소를.

데이터 길이는 UTF8 문자열 또는 바이트 문자열 유형의 요소에만 적용됩니다. UTF8 문자열의 경우 반환되는 값은 문자 수가 아니라 문자열의 바이트 수입니다.

세부
보고
현재와 연관된 데이터 (바이트) 길이 TLV의 현재 요소는 UTF8 스트링 또는 바이트 문자열이 아닌 경우, 또는 리더의 요소 상에 위치하지 않는 경우 소자 또는 0.

GetLengthRead

uint32_t GetLengthRead(
  void
) const 

판독기가 초기화 된 이후 읽은 총 바이트 수를 반환합니다.

세부
보고
판독기가 초기화 된 이후 읽은 총 바이트 수입니다.

GetReadPoint

const uint8_t * GetReadPoint(
  void
) const 

판독기의 현재 위치에 해당하는 기본 입력 버퍼의 지점을 가져옵니다.

세부
보고
판독기의 현재 위치에 해당하는 기본 입력 버퍼에 대한 포인터입니다.

GetRemainingLength

uint32_t GetRemainingLength(
  void
) const 

최대 읽기 길이에 도달 할 때까지 읽을 수있는 총 바이트 수를 리턴합니다.

세부
보고
최대 읽기 길이에 도달 할 때까지 읽을 수있는 총 바이트 수입니다.

GetString

WEAVE_ERROR GetString(
  char *buf,
  uint32_t bufSize
)

현재 바이트 또는 UTF8 문자열 요소의 값을 null로 끝나는 문자열로 가져옵니다.

필요한 입력 버퍼 크기를 결정하기 위해 호출 GetLength () 를 호출하기 전에 방법 ()을 GetBytes . 입력 버퍼는 널 문자를 수용하기 위해 문자열 길이보다 최소 1 바이트 더 커야합니다.

세부
매개 변수
[in] buf
바이트 문자열 데이터를 수신 할 버퍼에 대한 포인터입니다.
[in] bufSize
버퍼의 크기 (바이트)를 가리키는 buf .
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
현재의 구성 요소가 아닌 경우 TLV의 바이트 또는 UTF8 문자열 또는 리더 요소 상에 위치하지 않는다.
WEAVE_ERROR_BUFFER_TOO_SMALL
제공된 버퍼가 너무 작아서 현재 요소와 관련된 데이터를 보유 할 수없는 경우.
WEAVE_ERROR_TLV_UNDERRUN
기본 경우 TLV가 중간에 종료 인코딩입니다.
other
구성된 의해 반환 된 다른 직물 또는 플랫폼 오류 코드 GetNextBuffer () 함수입니다. GetNextBuffer가 NULL이 아닌 경우에만 가능합니다.

GetTag

uint64_t GetTag(
  void
) const 

현재와 관련된 태그를 돌려 TLV의 요소를.

돌려주는 값 GetTag의 ()가 태그 유틸리티 기능과 함께 사용할 수있다 ( IsProfileTag () , IsContextTag () , ProfileIdFromTag () 등)는 태그의 종류를 결정하고, 여러 태그 필드 값을 추출.

세부
보고
현재와 연관된 태그에 관한 정보를 포함하는 부호없는 정수 TLV의 요소.

GetType

TLVType GetType(
  void
) const 

현재의 형태를 돌려줍니다 TLV의 요소를.

세부
보고
현재의 데이터 형식을 설명하는 TLVType 값 TLV의 요소. 판독기는 위에 위치하지 않는 경우 TLV의 요소, 반환 값은 kTLVType_NotSpecified 것이다.

초기화

void Init(
  const TLVReader & aReader
)

초기화TLVReader의 서로 오브젝트TLVReader의 개체를.

세부
매개 변수
[in] aReader
받는 사람 읽기 전용 참조TLVReader은 이에서 초기화합니다.

초기화

void Init(
  const uint8_t *data,
  uint32_t dataLen
)

초기화TLVReader의 단일 입력 버퍼로부터 판독하는 개체.

세부
매개 변수
[in] data
포함하는 버퍼에 대한 포인터 TLV의 데이터를 분석한다.
[in] dataLen
의 길이는 TLV의 데이터를 분석한다.

초기화

void Init(
  PacketBuffer *buf,
  uint32_t maxLen
)

초기화TLVReader의 단일 PacketBuffer에서 읽을 수있는 개체를.

구문 분석은 버퍼의 시작 위치 (buf-> DataStart ())에서 시작하여 버퍼의 데이터 끝 (buf-> Datalen ()으로 표시) 또는 maxLen 바이트가 구문 분석 될 때까지 계속됩니다.

세부
매개 변수
[in] buf
함유 PacketBuffer 포인터 TLV의 데이터를 분석한다.
[in] maxLen
구문 분석 할 최대 바이트입니다. 기본값은 입력 버퍼의 데이터 양입니다.

초기화

void Init(
  PacketBuffer *buf,
  uint32_t maxLen,
  bool allowDiscontiguousBuffers
)

초기화TLVReader의 하나 또는 그 이상의 PacketBuffers에서 읽을 수있는 개체를.

파싱은 초기 버퍼의 시작 위치 (buf-> DataStart ())에서 시작됩니다. allowDiscontiguousBuffers가 참일 경우, 리더 자신에 의해 연결된 버퍼의 체인을 통해 진행한다 다음 () 포인터. 버퍼 체인의 모든 데이터가 소비되거나 (buf-> Datalen ()으로 표시) maxLen 바이트가 구문 분석 될 때까지 구문 분석이 계속됩니다.

세부
매개 변수
[in] buf
함유 PacketBuffer 포인터 TLV의 데이터를 분석한다.
[in] maxLen
구문 분석 할 최대 바이트입니다. 기본값은 입력 버퍼 체인의 총 데이터 양입니다.
[in] allowDiscontiguousBuffers
참이면 현재 버퍼의 모든 데이터가 사용 된 후 체인의 다음 버퍼로 이동합니다. false이면 초기 버퍼의 끝에서 구문 분석을 중지합니다.

다음

WEAVE_ERROR Next(
  void
)

진보는TLVReader의 다음에 객체 TLV의 요소를 읽을 수 있습니다.

다음 () 메소드를 위치시키는 다음 요소의 리더 객체 TLV 동일한 포함 컨텍스트에 그 부호화 상주. 특히, 리더는의 가장 바깥 레벨에 위치되는 경우 TLV의 호출 부호화 () 다음 다음, 최상위 요소에 리더를 진행한다. 독자가 내부에 위치되는 경우 TLV의 호출, 용기 부재 (구조, 배열 또는 경로) 다음에 ()를 상기 용기 부재의 다음 요소로 전진한다 리더.

이후 다음에 () 를 호출 현재 수용 문맥 판독 동작, 구속 다음 () 리더는 그것이 최초에 도달 할 때까지 멤버 요소 (및 내포 용기의 부재)를 건너 뛰고, 컨테이너를 통해 진행하는 컨테이너 요소에 위치 할 때 컨테이너 뒤의 요소.

특정 포함 컨텍스트 내에 상기 요소가 없을 경우, 다음 () 반환하며 방법 WEAVE_END_OF_TLV의 오류와 리더의 위치는 그대로 유지된다.

세부
반환 값
WEAVE_NO_ERROR
판독기가 새 요소에 성공적으로 배치 된 경우.
WEAVE_END_OF_TLV
사용 가능한 추가 요소가없는 경우.
WEAVE_ERROR_TLV_UNDERRUN
기본 경우 TLV가 중간에 종료 인코딩입니다.
WEAVE_ERROR_INVALID_TLV_ELEMENT
독자가 유효하지 않거나 지원되지 않는가 발생한 경우 TLV의 요소 유형을.
WEAVE_ERROR_INVALID_TLV_TAG
독자가 발생한 경우 TLV의 유효하지 않은 상황에서 태그를.
WEAVE_ERROR_UNKNOWN_IMPLICIT_TLV_TAG
독자는 내재적으로 부호화가 발생한 경우 TLV의 태그가있는 해당 프로파일 ID를 알 수있다.
other
구성된 의해 반환 된 다른 직물 또는 플랫폼 오류 코드 GetNextBuffer () 함수입니다. GetNextBuffer가 NULL이 아닌 경우에만 가능합니다.

다음

WEAVE_ERROR Next(
  TLVType expectedType,
  uint64_t expectedTag
)

전진TLVReader의 다음에 객체 TLV의 요소는 새로운 요소의 종류와 태그를 주장, 읽을 수 있습니다.

(expectedTag uint64_t TLVType있는 expectedType) 다음 방법은 간이 동일한 동작 갖는 방법 다음 () 뿐만 아니라, 새로운 타입의 태그 것을 검증 TLV의 요소 제공된 인수와 일치.

세부
매개 변수
[in] expectedType
다음 요소에 대해 예상되는 데이터 유형입니다.
[in] expectedTag
다음 요소의 예상 태그입니다.
반환 값
WEAVE_NO_ERROR
판독기가 새 요소에 성공적으로 배치 된 경우.
WEAVE_END_OF_TLV
사용 가능한 추가 요소가없는 경우.
WEAVE_ERROR_WRONG_TLV_TYPE
새 요소의 유형은의 값과 일치하지 않는 경우 expectedType 인수를.
WEAVE_ERROR_UNEXPECTED_TLV_ELEMENT
새로운 요소와 관련된 태그의 값과 일치하지 않는 경우 expectedTag 인수를.
WEAVE_ERROR_TLV_UNDERRUN
기본 경우 TLV가 중간에 종료 인코딩입니다.
WEAVE_ERROR_INVALID_TLV_ELEMENT
독자가 유효하지 않거나 지원되지 않는가 발생한 경우 TLV의 요소 유형을.
WEAVE_ERROR_INVALID_TLV_TAG
독자가 발생한 경우 TLV의 유효하지 않은 상황에서 태그를.
other
구성된 의해 반환 된 다른 직물 또는 플랫폼 오류 코드 GetNextBuffer () 함수입니다. GetNextBuffer가 NULL이 아닌 경우에만 가능합니다.

OpenContainer

WEAVE_ERROR OpenContainer(
  TLVReader & containerReader
)

새로운 초기화TLVReader의 a의 멤버 읽기 위해 객체를 TLV의 컨테이너 요소를.

OpenContainer () 메소드는 새로운 초기화TLVReader의 (a)의 요소 부재 판독 객체 TLV의 용기 (a 구조 배열 또는 경로). 경우 OpenContainer ()가 호출되어 현재TLVReader의 오브젝트가 컨테이너 요소 상에 위치해야 판독한다. 메서드는 컨테이너를 읽기 위해 초기화 될 새 판독기에 대한 참조를 유일한 인수로 사용합니다. 된 리더하면서 리더 용기 리더라고도 OpenContainer ()가 호출이 친 리더로 알려져있다.

OpenContainer () 메소드가 복귀는 용기 리더는 용기의 제 1 부재의 직전에 배치된다. 호출 다음 () 이 끝날 때까지 집합의 구성원을 통해 진행한다 용기 판독기 것은 독자 WEAVE_END_OF_TLV를 반환 그 시점에서 도달된다.

컨테이너 리더가 열려있는 동안 애플리케이션은 상위 리더의 상태를 호출하거나 변경해서는 안됩니다. 응용 프로그램이 컨테이너 판독기를 사용하여 완료되면 그것은 호출하여 닫아야합니다 CloseContainer () 인수로 컨테이너 판독기를 통과, 친 리더에 있습니다. 애플리케이션은 기본 컨테이너에 포함 된 모든 요소를 ​​읽거나 읽지 않고 언제든지 컨테이너 판독기를 닫을 수 있습니다. 컨테이너 리더가 닫히면 애플리케이션은 상위 리더를 계속 사용할 수 있습니다.

컨테이너 리더는 상위 리더의 다양한 구성 속성을 상속합니다. 이것들은:

  • 암시 적 프로필 ID (ImplicitProfileId)
  • 애플리케이션 데이터 포인터 (AppData)
  • GetNextBuffer 함수 포인터

세부
매개 변수
[out] containerReader
(A)에 대한 참조TLVReader의 현재 컨테이너 요소의 부재를 판독 초기화 될 개체. 제공된 개체와 관련된 모든 데이터를 덮어 씁니다.
반환 값
WEAVE_NO_ERROR
방법이 성공한 경우.
WEAVE_ERROR_INCORRECT_STATE
현재 요소가 컨테이너 요소에 위치하지 않는 경우.

건너 뛰기

WEAVE_ERROR Skip(
  void
)

진보TLVReader의 현재 직후에 개체 TLV의 요소를.

스킵 () 에있어서의 위치는 리더 객체 바로 후에 현재 TLV의 요소에 대한 후속 호출되도록 다음 () 은 다음 요소에 리더를 진행한다. 마찬가지로 다음 () 리더는 통화시의 컨테이너 요소에 배치되는 경우, 용기의 부재는 생략 될 것이다. 판독기가 어떤 요소에도 배치되지 않은 경우 해당 위치는 변경되지 않습니다.

세부
반환 값
WEAVE_NO_ERROR
판독기가 새 요소에 성공적으로 배치 된 경우.
WEAVE_END_OF_TLV
사용 가능한 추가 요소가없는 경우.
WEAVE_ERROR_TLV_UNDERRUN
기본 경우 TLV가 중간에 종료 인코딩입니다.
WEAVE_ERROR_INVALID_TLV_ELEMENT
독자가 유효하지 않거나 지원되지 않는가 발생한 경우 TLV의 요소 유형을.
WEAVE_ERROR_INVALID_TLV_TAG
독자가 발생한 경우 TLV의 유효하지 않은 상황에서 태그를.
other
구성된 의해 반환 된 다른 직물 또는 플랫폼 오류 코드 GetNextBuffer () 함수입니다. GetNextBuffer가 NULL이 아닌 경우에만 가능합니다.

VerifyEndOfContainer

WEAVE_ERROR VerifyEndOfContainer(
  void
)

확인하는 TVLReader 객체는 말에 있음을 TLV의 컨테이너입니다.

VerifyEndOfContainer () 메소드를 검증 더 없는지 TLV의 전류 내에 판독 될 요소 TLV의 용기. This is a convenience method that is equivalent to calling Next() and checking for a return value of WEAVE_END_OF_TLV.

세부
반환 값
WEAVE_NO_ERROR
If there are no further TLV elements to be read.
WEAVE_ERROR_UNEXPECTED_TLV_ELEMENT
If another TLV element was found in the collection.
WEAVE_ERROR_TLV_UNDERRUN
If the underlying TLV encoding ended prematurely.
WEAVE_ERROR_INVALID_TLV_ELEMENT
If the reader encountered an invalid or unsupported TLV element type.
WEAVE_ERROR_INVALID_TLV_TAG
If the reader encountered a TLV tag in an invalid context.
other
Other Weave or platform error codes returned by the configured GetNextBuffer() function. Only possible when GetNextBuffer is non-NULL.

보호 된 기능

ClearElementState

void ClearElementState(
  void
)

Clear the state of theTLVReader .

This method is used to position the reader before the first TLV , between TLVs or after the last TLV .

ElementType

TLVElementType ElementType(
  void
) const 

This is a private method that returns the TLVElementType from mControlByte.

EnsureData

WEAVE_ERROR EnsureData(
  WEAVE_ERROR noDataErr
)

GetElementHeadLength

WEAVE_ERROR GetElementHeadLength(
  uint8_t & elemHeadBytes
) const 

This is a private method used to compute the length of a TLV element head.

IsContainerOpen

bool IsContainerOpen(
  void
) const 

ReadData

WEAVE_ERROR ReadData(
  uint8_t *buf,
  uint32_t len
)

ReadElement

WEAVE_ERROR ReadElement(
  void
)

ReadTag

uint64_t ReadTag(
  TLVTagControl tagControl,
  const uint8_t *& p
)

SetContainerOpen

void SetContainerOpen(
  bool aContainerOpen
)

SkipData

WEAVE_ERROR SkipData(
  void
)

Skip any data contained in the current TLV by reading over it without a destination buffer.

세부
반환 값
WEAVE_NO_ERROR
If the reader was successfully positioned at the end of the data.
other
Other Weave or platform error codes returned by the configured GetNextBuffer() function. Only possible when GetNextBuffer is non-NULL.

SkipToEndOfContainer

WEAVE_ERROR SkipToEndOfContainer(
  void
)

VerifyElement

WEAVE_ERROR VerifyElement(
  void
)

Protected static functions

FailGetNextBuffer

WEAVE_ERROR FailGetNextBuffer(
  TLVReader & reader,
  uintptr_t & bufHandle,
  const uint8_t *& bufStart,
  uint32_t & bufLen
)

GetNextPacketBuffer

WEAVE_ERROR GetNextPacketBuffer(
  TLVReader & reader,
  uintptr_t & bufHandle,
  const uint8_t *& bufStart,
  uint32_t & bufLen
)