nl::Weave::Profiles::MessageIterator

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

메시지 버퍼를 현명하게 사용하기 위해 경계 등을 추적하는 데 사용할 수 있는 이 반복자를 정의합니다.

요약

상속

상속 대상: nl::Weave::Profiles::RetainedPacketBuffer

생성자 및 소멸자

MessageIterator(System::PacketBuffer *)
생성자 메서드입니다.

공개 속성

thePoint
uint8_t *

공개 함수

append(void)
void
현재 버퍼에 있는 모든 데이터 뒤의 포인트를 설정합니다.
finishWriting(void)
void
쓰기 후 버퍼를 조정합니다.
hasData(uint16_t)
bool
hasRoom(uint16_t)
bool
operator!=(const MessageIterator &)
bool
operator*(void)
uint8_t &
operator+(uint16_t)
operator++(void)
공간이 있는 경우 메시지 반복자를 1씩 늘립니다.
operator-(uint16_t)
operator==(const MessageIterator &)
bool
read16(uint16_t *)
read32(uint32_t *)
read64(uint64_t *)
readByte(uint8_t *)
readBytes(uint16_t, uint8_t *)
readString(uint16_t, char *)
write16(uint16_t)
write32(uint32_t)
write64(uint64_t)
writeByte(uint8_t)
writeBytes(uint16_t, uint8_t *)
writeString(uint16_t, char *)

공개 속성

thePoint

uint8_t * thePoint

공개 함수

MessageIterator

 MessageIterator(
  System::PacketBuffer *
)

생성자 메서드입니다.

세부정보
매개변수
aBuffer
반복할 메시지 버퍼.

append

void append(
  void
)

현재 버퍼에 있는 모든 데이터 뒤의 포인트를 설정합니다.

finishWriting

void finishWriting(
  void
)

쓰기 후 버퍼를 조정합니다.

hasData

bool hasData(
  uint16_t
)

세부정보
매개변수
inc
버퍼에서 읽을 수 있는 정수 크기입니다.
반환 값
true
버퍼의 현재 데이터 길이가 지정된 증분 단위보다 크거나 같습니다.
false
그렇지 않은 경우

hasRoom

bool hasRoom(
  uint16_t
)

세부정보
매개변수
inc
버퍼에 쓸 수 있는 정수 양입니다.
반환 값
true
버퍼의 현재 데이터 길이와 허용 가능한 최대 데이터 길이(사용 가능한 데이터 길이) 간의 차이가 지정된 증분보다 작거나 같습니다.
false
그렇지 않은 경우

연산자!=

bool operator!=(
  const MessageIterator &
)

세부정보
매개변수
aMessageIterator
비교할 또 다른 메시지 반복자입니다.

연산자*

uint8_t & operator*(
  void
)

세부정보
반환
버퍼에서 확인하는 내용

연산자+

MessageIterator & operator+(
  uint16_t
)

세부정보
매개변수
inc
메시지 반복자에 적용할 증분입니다.
반환
반복자가 여유 공간이 있으면 지정된 값만큼 증분되고 공간이 없으면 끝에서 바로 슬램핑됩니다.

연산자++

MessageIterator & operator++(
  void
)

공간이 있는 경우 메시지 반복자를 1씩 늘립니다.

operator-

MessageIterator & operator-(
  uint16_t
)

세부정보
매개변수
dec
메시지 반복자에 적용할 감소입니다.
반환
반복자는 공간이 있는 경우 지정된 값만큼 감소하고, 공간이 없으면 시작점부터 곧바로 시작합니다.

연산자==

bool operator==(
  const MessageIterator &
)

세부정보
매개변수
aMessageIterator
비교할 또 다른 메시지 반복자입니다.

read16

WEAVE_ERROR read16(
  uint16_t *
)

세부정보
매개변수
aDestination
버퍼에서 짧은 읽기를 배치하는 위치입니다.
반환 값
WEAVE_NO_ERROR
별 이상이라면
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼의 끝을 넘어서 실행 중인 경우.

read32

WEAVE_ERROR read32(
  uint32_t *
)

세부정보
매개변수
aDestination
버퍼에서 32비트 값을 읽는 위치입니다.
반환 값
WEAVE_NO_ERROR
별 이상이라면
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼의 끝을 넘어서 실행 중인 경우.

read64

WEAVE_ERROR read64(
  uint64_t *
)

세부정보
매개변수
aDestination
버퍼에서 64비트 값을 읽는 위치입니다.
반환 값
WEAVE_NO_ERROR
별 이상이라면
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼의 끝을 넘어서 실행 중인 경우.

readByte

WEAVE_ERROR readByte(
  uint8_t *
)

세부정보
매개변수
aDestination
버퍼에서 바이트 읽기를 배치할 위치입니다.
반환 값
WEAVE_NO_ERROR
별 이상이라면
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼의 끝을 넘어서 실행 중인 경우.

readBytes

WEAVE_ERROR readBytes(
  uint16_t,
  uint8_t *
)

세부정보
매개변수
aLength
읽을 바이트 문자열의 길이입니다.
aByteString
바이트를 배치할 위치입니다.
반환 값
WEAVE_NO_ERROR
별 이상이라면
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼의 끝을 넘어서 실행 중인 경우.

readString

WEAVE_ERROR readString(
  uint16_t,
  char *
)

세부정보
매개변수
aLength
읽을 문자열의 길이입니다.
aString
문자열을 넣을 위치입니다.
반환 값
WEAVE_NO_ERROR
별 이상이라면
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼의 끝을 넘어서 실행 중인 경우.

write16

WEAVE_ERROR write16(
  uint16_t
)

세부정보
매개변수
aValue
작성할 짧은 값입니다.
반환 값
WEAVE_NO_ERROR
별 이상이라면
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼의 끝을 넘어서 실행 중인 경우.

write32

WEAVE_ERROR write32(
  uint32_t
)

세부정보
매개변수
aValue
쓸 32비트 값.
반환 값
WEAVE_NO_ERROR
별 이상이라면
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼의 끝을 넘어서 실행 중인 경우.

write64

WEAVE_ERROR write64(
  uint64_t
)

세부정보
매개변수
aValue
쓸 64비트 값.
반환 값
WEAVE_NO_ERROR
별 이상이라면
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼의 끝을 넘어서 실행 중인 경우.

writeByte

WEAVE_ERROR writeByte(
  uint8_t
)

세부정보
매개변수
aValue
작성할 바이트 값입니다.
반환 값
WEAVE_NO_ERROR
별 이상이라면
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼의 끝을 넘어서 실행 중인 경우.

writeBytes

WEAVE_ERROR writeBytes(
  uint16_t,
  uint8_t *
)

세부정보
매개변수
aLength
쓸 바이트 문자열의 길이입니다.
aString
바이트 문자열 자체.
반환 값
WEAVE_NO_ERROR
별 이상이라면
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼의 끝을 넘어서 실행 중인 경우.

writeString

WEAVE_ERROR writeString(
  uint16_t,
  char *
)

세부정보
매개변수
aLength
쓸 문자열의 길이입니다.
aString
문자열 자체입니다.
반환 값
WEAVE_NO_ERROR
별 이상이라면
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼의 끝을 넘어서 실행 중인 경우.