NL::編織::簡介::消息迭代器

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

為了明智地使用消息緩衝區,我們定義了這個迭代器,它可以用來跟踪邊界等。

概括

遺產

:從繼承NL ::紡織品::簡介:: 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 *)

公共屬性

uint8_t * thePoint

公共職能

消息迭代器

 MessageIterator(
  System::PacketBuffer *
)

構造方法。

細節
參數
aBuffer
要迭代的消息緩衝區。

附加

void append(
  void
)

將點設置為當前緩衝區中的任何數據之後。

寫完

void finishWriting(
  void
)

寫入後調整緩衝區。

有數據

bool hasData(
  uint16_t
)

細節
參數
inc
可以從緩衝區讀取的整數數量。
返回值
true
緩衝區的當前數據長度大於或等於給定的增量。
false
除此以外。

有房間

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。

操作員-

MessageIterator & operator-(
  uint16_t
)

細節
參數
dec
應用於消息迭代器的遞減量。
退貨
如果有空間,迭代器將遞減給定的值,否則,如果沒有,則直接撞到開頭。

運算符==

bool operator==(
  const MessageIterator &
)

細節
參數
aMessageIterator
另一個要比較的消息迭代器。

讀16

WEAVE_ERROR read16(
  uint16_t *
)

細節
參數
aDestination
一個可以從緩衝區中讀取簡短內容的地方。
返回值
WEAVE_NO_ERROR
如果一切正常。
WEAVE_ERROR_BUFFER_TOO_SMALL
如果我們跑過緩衝區的末尾。

讀32

WEAVE_ERROR read32(
  uint32_t *
)

細節
參數
aDestination
放置從緩衝區讀取的 32 位值的位置。
返回值
WEAVE_NO_ERROR
如果一切正常。
WEAVE_ERROR_BUFFER_TOO_SMALL
如果我們跑過緩衝區的末尾。

讀64

WEAVE_ERROR read64(
  uint64_t *
)

細節
參數
aDestination
放置從緩衝區讀取的 64 位值的位置。
返回值
WEAVE_NO_ERROR
如果一切正常。
WEAVE_ERROR_BUFFER_TOO_SMALL
如果我們跑過緩衝區的末尾。

讀取字節

WEAVE_ERROR readByte(
  uint8_t *
)

細節
參數
aDestination
放置從緩衝區讀取的字節的地方。
返回值
WEAVE_NO_ERROR
如果一切正常。
WEAVE_ERROR_BUFFER_TOO_SMALL
如果我們跑過緩衝區的末尾。

讀取字節數

WEAVE_ERROR readBytes(
  uint16_t,
  uint8_t *
)

細節
參數
aLength
要讀取的字節字符串的長度。
aByteString
放置字節的地方。
返回值
WEAVE_NO_ERROR
如果一切正常。
WEAVE_ERROR_BUFFER_TOO_SMALL
如果我們跑過緩衝區的末尾。

讀取字符串

WEAVE_ERROR readString(
  uint16_t,
  char *
)

細節
參數
aLength
要讀取的字符串的長度。
aString
放繩子的地方。
返回值
WEAVE_NO_ERROR
如果一切正常。
WEAVE_ERROR_BUFFER_TOO_SMALL
如果我們跑過緩衝區的末尾。

寫16

WEAVE_ERROR write16(
  uint16_t
)

細節
參數
aValue
要寫出的短值。
返回值
WEAVE_NO_ERROR
如果一切正常。
WEAVE_ERROR_BUFFER_TOO_SMALL
如果我們跑過緩衝區的末尾。

寫32

WEAVE_ERROR write32(
  uint32_t
)

細節
參數
aValue
要寫出的 32 位值。
返回值
WEAVE_NO_ERROR
如果一切正常。
WEAVE_ERROR_BUFFER_TOO_SMALL
如果我們跑過緩衝區的末尾。

寫64

WEAVE_ERROR write64(
  uint64_t
)

細節
參數
aValue
要寫出的 64 位值。
返回值
WEAVE_NO_ERROR
如果一切正常。
WEAVE_ERROR_BUFFER_TOO_SMALL
如果我們跑過緩衝區的末尾。

寫字節

WEAVE_ERROR writeByte(
  uint8_t
)

細節
參數
aValue
要寫出的字節值。
返回值
WEAVE_NO_ERROR
如果一切正常。
WEAVE_ERROR_BUFFER_TOO_SMALL
如果我們跑過緩衝區的末尾。

寫字節數

WEAVE_ERROR writeBytes(
  uint16_t,
  uint8_t *
)

細節
參數
aLength
要寫入的字節字符串的長度。
aString
字節串本身。
返回值
WEAVE_NO_ERROR
如果一切正常。
WEAVE_ERROR_BUFFER_TOO_SMALL
如果我們跑過緩衝區的末尾。

寫字符串

WEAVE_ERROR writeString(
  uint16_t,
  char *
)

細節
參數
aLength
要寫入的字符串的長度。
aString
字符串本身。
返回值
WEAVE_NO_ERROR
如果一切正常。
WEAVE_ERROR_BUFFER_TOO_SMALL
如果我們跑過緩衝區的末尾。