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

nl::Weave::프로필::ReferencedTLVData

#include <src/lib/profiles/common/WeaveMessage.h>

마찬가지로 TLV 데이터의 대규모 이전 blob을 나타낼 수 있어야 합니다.

요약

상속

상속 위치: nl::Weave::Profiles::RetainedPacketBuffer

생성자 및 소멸자

ReferencedTLVData(void)
--T----------의 TLV 데이터 정의 --------------

공개 유형

TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState) typedef
void(*

공개 속성

theData
uint8_t *
theLength
uint16_t
theMaxLength
uint16_t

공개 함수

free(void)
void
ReferencedTLVData 객체를 해제합니다. 즉, 이를 정의 해제합니다.
init(System::PacketBuffer *aBuffer)
PacketBuffer가 제공되는 ReferencedTLVData 객체를 초기화합니다.
init(MessageIterator & i)
MessageIterator가 지정된 ReferencedTLVData 객체를 초기화합니다.
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
바이트 문자열이 지정된 ReferencedTLVObject를 초기화합니다.
init(TLVWriteCallback aWriteCallback, void *anAppState)
콜백 함수가 지정된 RefererencedTLVData 객체를 초기화합니다.
isEmpty(void)
bool
ReferencedTLVData 객체에 아무것도 없는지 확인합니다.
isFree(void)
bool
ReferencedTLVData 객체가 "free"인지 확인합니다.
operator==(const ReferencedTLVData &) const
bool
ReferencedTLVData 객체를 서로 비교하여 동등성을 확인합니다.
pack(System::PacketBuffer *buff)
ReferencedTLVData 객체를 PacketBuffer로 직접 패킹합니다.
pack(MessageIterator & i, uint32_t maxLen)
packedLength(void)
uint16_t
객체가 버퍼에 패키징되었다고 가정하고 데이터 길이를 반환합니다.

공개 정적 함수

parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
제공된 PacketBuffer에서 ReferencedTLVData 객체를 파싱합니다.
parse(MessageIterator & i, ReferencedTLVData & aTarget)
제공된 MessageIterator에서 ReferencedTLVData 객체를 파싱합니다.

공개 유형

TLVWriteCallback

void(* TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)

공개 속성

데이터

uint8_t * theData

길이

uint16_t theLength

최대 길이

uint16_t theMaxLength

공개 함수

참조된 LVLV

 ReferencedTLVData(
  void
)

--T----------의 TLV 데이터 정의 --------------

TLV 데이터의 인수가 없는 생성자 유용한 init() 메서드 중 하나를 적용해야 하는 무료/초기화되지 않은 객체를 전달합니다.

무료

void free(
  void
)

ReferencedTLVData 객체를 해제합니다. 즉, 이를 정의 해제합니다.

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

PacketBuffer가 제공되는 ReferencedTLVData 객체를 초기화합니다.

버퍼가 TLV로 가득 찬 경우 ReferencedTLVData 객체를 초기화합니다. 이때 버퍼에는 TLV만 포함되어 있다고 가정합니다.

세부정보
매개변수
[in] aBuffer
TLV가 있는 메시지 버퍼.
반환 값
WEAVE_NO_ERROR
무조건

init

WEAVE_ERROR init(
  MessageIterator & i
)

MessageIterator가 지정된 ReferencedTLVData 객체를 초기화합니다.

MessageIterator가 지정된 ReferencedTLVData 객체를 초기화합니다. 이 경우 TLV는 버퍼의 마지막 부분이며, 버퍼를 가리키는 메시지 반복자를 전달합니다.

세부정보
매개변수
[in] i
추출할 TLV를 가리키는 메시지 반복자.
반환 값
WEAVE_NO_ERROR
무조건

init

WEAVE_ERROR init(
  uint16_t aLength,
  uint16_t aMaxLength,
  uint8_t *aByteString
)

바이트 문자열이 지정된 ReferencedTLVObject를 초기화합니다.

TLV가 포함된 바이트 문자열을 사용하여 ReferencedTLVData 객체를 초기화합니다. 이 이니셜라이저가 PacketrBuffer가 없는 경우 사용하는 메서드입니다. 이 중 하나를 패키징하여 전송할 수 있기 때문입니다.

세부정보
매개변수
[in] aLength
TLV 데이터의 길이
[in] aMaxLength
버퍼의 총 길이
[in] aByteString
문자열 데이터 포인터
반환 값
WEAVE_NO_ERROR
무조건

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

콜백 함수가 지정된 RefererencedTLVData 객체를 초기화합니다.

ReferencedTLVData 객체를 초기화합니다. 이 버전은 데이터를 명시적으로 제공하는 대신 참조된 데이터를 패키징하고 전송해야 하는 경우 TLVAuthor 객체와 함께 전달되는 함수, 쓰기 콜백, 참조 객체를 제공합니다. 이 콜백의 서명은 다음과 같습니다.

typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);

세부정보
매개변수
[in] aWriteCallback
TLV를 작성할 때 호출되는 함수입니다.
[in] anAppState
작성기와 함께 콜백에 전달할 애플리케이션 상태 객체입니다.
반환 값
WEAVE_NO_ERROR
성공했습니다.
WEAVE_ERROR_INVALID_ARGUMENT
쓰기 콜백이 제공되지 않은 경우

isEmpty

bool isEmpty(
  void
)

ReferencedTLVData 객체에 아무것도 없는지 확인합니다.

다음 두 가지 방법으로 해당 객체를 만들 수 있습니다. 길이가 0이거나 쓰기 콜백이 없을 수 있습니다.

세부정보
반환
데이터 세트의 길이가 0이거나 true에 없는 경우 true를, 그렇지 않으면 false를 전달합니다.

isFree

bool isFree(
  void
)

ReferencedTLVData 객체가 "free"인지 확인합니다.

정의되지 않았습니다.

세부정보
반환
객체가 정의되지 않은 경우 true, 그렇지 않은 경우 false입니다.

연산자==

bool operator==(
  const ReferencedTLVData &
) const 

ReferencedTLVData 객체를 서로 비교하여 동등성을 확인합니다.

이는 버퍼나 문자열로 지원되는 실제 데이터가 있는 두 객체의 경우에만 의미가 있습니다.

세부정보
매개변수
[in] Another
확인할 객체
반환 값
true
객체는 동일합니다.
false
객체 문자열은 같지 않습니다.

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

ReferencedTLVData 객체를 PacketBuffer로 직접 패킹합니다.

세부정보
매개변수
[in] buff
버퍼를 채웁니다.
반환
기본 팩 호출의 성공이 반영된 WEAVE_ERROR입니다.

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

packLength:

uint16_t packedLength(
  void
)

객체가 버퍼에 패키징되었다고 가정하고 데이터 길이를 반환합니다.

세부정보
반환
채워진 데이터의 정수 길이

공개 정적 함수

파싱

WEAVE_ERROR parse(
  System::PacketBuffer *buff,
  ReferencedTLVData & aTarget
)

제공된 PacketBuffer에서 ReferencedTLVData 객체를 파싱합니다.

TLV만 포함되어 있다고 가정하고 식성 버퍼에서 ReferencedTLVData 객체를 파싱합니다.

세부정보
매개변수
[in] buff
판독할 버퍼입니다.
[out] aTarget
"fill"에 대한 ReferencedTLVData 객체를 결과와 함께 추가합니다.
반환
기본 파싱 호출의 성공이 반영된 WEAVE_ERROR입니다.

파싱

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

제공된 MessageIterator에서 ReferencedTLVData 객체를 파싱합니다.

메시지의 TLV 부분을 가리키는 것으로 가정되는 MessageIterator 객체에서 ReferenceTLVData 객체를 파싱합니다.

여기서 TLV는 버퍼에 남아 있고 조작되지 않으므로 여기서 실제 '파싱'은 실행되지 않습니다. 이 메서드는 나중에 사용할 수 있도록 ReferencedTLVData 구조를 주로 설정합니다.

세부정보
매개변수
[in] i
파싱되는 메시지에 대한 반복자입니다.
[out] aTarget
파싱 결과를 배치할 장소
반환 값
WEAVE_NO_ERROR
무조건