nl::Weave::Profiles::MessageIterator

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

Để sử dụng vùng đệm thông báo một cách hợp lý, chúng ta sẽ xác định phương thức lặp lại (iterator) này, có thể dùng để theo dõi các ranh giới, v.v.

Tóm tắt

Tính kế thừa

Kế thừa từ: nl::Weave::Profiles::RetainedPacketBuffer

Hàm khởi tạo và hàm phá

MessageIterator(System::PacketBuffer *)
Phương thức hàm khởi tạo.

Thuộc tính công khai

thePoint
uint8_t *

Hàm công khai

append(void)
void
Đặt điểm đến sau bất kỳ dữ liệu nào hiện có trong vùng đệm.
finishWriting(void)
void
Điều chỉnh vùng đệm sau khi ghi.
hasData(uint16_t)
bool
hasRoom(uint16_t)
bool
operator!=(const MessageIterator &)
bool
operator*(void)
uint8_t &
operator+(uint16_t)
operator++(void)
Tăng trình lặp lại tin nhắn lên 1 nếu còn chỗ.
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 *)

Thuộc tính công khai

thePoint

uint8_t * thePoint

Hàm công khai

MessageIterator

 MessageIterator(
  System::PacketBuffer *
)

Phương thức hàm khởi tạo.

Thông tin chi tiết
Các tham số
aBuffer
Vùng đệm thông báo để lặp lại.

append

void append(
  void
)

Đặt điểm đến sau bất kỳ dữ liệu nào hiện có trong vùng đệm.

finishWriting

void finishWriting(
  void
)

Điều chỉnh vùng đệm sau khi ghi.

hasData

bool hasData(
  uint16_t
)

Thông tin chi tiết
Các tham số
inc
Số nguyên có thể đọc được từ vùng đệm.
Giá trị trả về
true
Độ dài dữ liệu hiện tại của vùng đệm lớn hơn hoặc bằng giá trị gia số cho trước.
false
Nếu không.

hasRoom

bool hasRoom(
  uint16_t
)

Thông tin chi tiết
Các tham số
inc
Một số nguyên có thể được ghi vào vùng đệm.
Giá trị trả về
true
Chênh lệch giữa độ dài dữ liệu hiện tại và độ dài dữ liệu tối đa cho phép của vùng đệm (độ dài dữ liệu có sẵn của vùng đệm) nhỏ hơn hoặc bằng mức tăng đã cho.
false
Nếu không.

toán tử!=

bool operator!=(
  const MessageIterator &
)

Thông tin chi tiết
Các tham số
aMessageIterator
Một trình lặp thông báo khác để so sánh.

toán tử*

uint8_t & operator*(
  void
)

Thông tin chi tiết
Trả về
Những gì chúng ta đang xem xét trong vùng đệm.

toán tử+

MessageIterator & operator+(
  uint16_t
)

Thông tin chi tiết
Các tham số
inc
Một mức tăng để áp dụng cho trình lặp thông báo.
Trả về
Trình lặp được tăng theo giá trị đã cho nếu còn chỗ hoặc nếu không có chỗ trống, thì trình lặp sẽ đẩy thẳng lên phía cuối nếu không còn chỗ.

toán tử ++

MessageIterator & operator++(
  void
)

Tăng trình lặp lại tin nhắn lên 1 nếu còn chỗ.

operator-

MessageIterator & operator-(
  uint16_t
)

Thông tin chi tiết
Các tham số
dec
Một mức giảm áp dụng cho trình lặp thông báo.
Trả về
Trình lặp được giảm dần theo giá trị đã cho nếu còn chỗ hoặc sẽ chồng lên ngay so với phần đầu nếu không có chỗ.

toán tử==

bool operator==(
  const MessageIterator &
)

Thông tin chi tiết
Các tham số
aMessageIterator
Một trình lặp thông báo khác để so sánh.

read16

WEAVE_ERROR read16(
  uint16_t *
)

Thông tin chi tiết
Các tham số
aDestination
Nơi để đưa một nội dung đọc ngắn ra khỏi vùng đệm.
Giá trị trả về
WEAVE_NO_ERROR
Nếu mọi thứ đều ổn.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu chúng tôi đang vượt quá cuối vùng đệm.

read32

WEAVE_ERROR read32(
  uint32_t *
)

Thông tin chi tiết
Các tham số
aDestination
Một nơi để đặt giá trị 32 bit được đọc từ vùng đệm.
Giá trị trả về
WEAVE_NO_ERROR
Nếu mọi thứ đều ổn.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu chúng tôi đang vượt quá cuối vùng đệm.

read64

WEAVE_ERROR read64(
  uint64_t *
)

Thông tin chi tiết
Các tham số
aDestination
Nơi để đặt giá trị 64 bit được đọc từ vùng đệm.
Giá trị trả về
WEAVE_NO_ERROR
Nếu mọi thứ đều ổn.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu chúng tôi đang vượt quá cuối vùng đệm.

readByte

WEAVE_ERROR readByte(
  uint8_t *
)

Thông tin chi tiết
Các tham số
aDestination
Nơi để đọc byte ra khỏi vùng đệm.
Giá trị trả về
WEAVE_NO_ERROR
Nếu mọi thứ đều ổn.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu chúng tôi đang vượt quá cuối vùng đệm.

readBytes

WEAVE_ERROR readBytes(
  uint16_t,
  uint8_t *
)

Thông tin chi tiết
Các tham số
aLength
Độ dài của chuỗi byte cần đọc.
aByteString
Vị trí để đặt các byte.
Giá trị trả về
WEAVE_NO_ERROR
Nếu mọi thứ đều ổn.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu chúng tôi đang vượt quá cuối vùng đệm.

readString

WEAVE_ERROR readString(
  uint16_t,
  char *
)

Thông tin chi tiết
Các tham số
aLength
Độ dài của chuỗi cần đọc.
aString
Vị trí để đặt chuỗi.
Giá trị trả về
WEAVE_NO_ERROR
Nếu mọi thứ đều ổn.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu chúng tôi đang vượt quá cuối vùng đệm.

write16

WEAVE_ERROR write16(
  uint16_t
)

Thông tin chi tiết
Các tham số
aValue
Một giá trị ngắn cần ghi ra.
Giá trị trả về
WEAVE_NO_ERROR
Nếu mọi thứ đều ổn.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu chúng tôi đang vượt quá cuối vùng đệm.

write32

WEAVE_ERROR write32(
  uint32_t
)

Thông tin chi tiết
Các tham số
aValue
Một giá trị 32 bit để ghi.
Giá trị trả về
WEAVE_NO_ERROR
Nếu mọi thứ đều ổn.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu chúng tôi đang vượt quá cuối vùng đệm.

write64

WEAVE_ERROR write64(
  uint64_t
)

Thông tin chi tiết
Các tham số
aValue
Một giá trị 64 bit để ghi.
Giá trị trả về
WEAVE_NO_ERROR
Nếu mọi thứ đều ổn.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu chúng tôi đang vượt quá cuối vùng đệm.

writeByte

WEAVE_ERROR writeByte(
  uint8_t
)

Thông tin chi tiết
Các tham số
aValue
Một giá trị byte để ghi.
Giá trị trả về
WEAVE_NO_ERROR
Nếu mọi thứ đều ổn.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu chúng tôi đang vượt quá cuối vùng đệm.

writeBytes

WEAVE_ERROR writeBytes(
  uint16_t,
  uint8_t *
)

Thông tin chi tiết
Các tham số
aLength
Độ dài của chuỗi byte cần ghi.
aString
Chính chuỗi byte.
Giá trị trả về
WEAVE_NO_ERROR
Nếu mọi thứ đều ổn.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu chúng tôi đang vượt quá cuối vùng đệm.

writeString

WEAVE_ERROR writeString(
  uint16_t,
  char *
)

Thông tin chi tiết
Các tham số
aLength
Độ dài của chuỗi cần ghi.
aString
Chính chuỗi đó.
Giá trị trả về
WEAVE_NO_ERROR
Nếu mọi thứ đều ổn.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu chúng tôi đang vượt quá cuối vùng đệm.