nl :: Dệt :: Hồ sơ :: DataManagement_Current :: CircularEventBuffer

#include <src/lib/profiles/data-management/Current/LoggingManagement.h>

Đệm sự kiện nội bộ, xây dựng xung quanh các nl :: Weave :: TLV :: WeaveCircularTLVBuffer .

Tóm lược

Người xây dựng và Người phá hủy

CircularEventBuffer (uint8_t *inBuffer, size_t inBufferLength, CircularEventBuffer *inPrev, CircularEventBuffer *inNext)
Một constructor cho CircularEventBuffer (API nội bộ).

Thuộc tính công cộng

mBuffer
Các cơ bản TLV đệm lưu trữ các sự kiện trong một TLV đại diện.
mEventIdCounter
mFirstEventID
ID sự kiện đầu tiên được lưu trữ trong hệ thống con ghi nhật ký cho tầm quan trọng này.
mFirstEventTimestamp
Dấu thời gian của sự kiện đầu tiên trong bộ đệm này.
mFirstEventUTCTimestamp
Dấu thời gian UTC của sự kiện đầu tiên trong vùng đệm này.
mImportance
Bộ đệm là thùng cuối cùng cho các sự kiện có tầm quan trọng này.
mLastEventID
ID sự kiện cuối cùng được đặt tự động cho tầm quan trọng này.
mLastEventTimestamp
Dấu thời gian của sự kiện cuối cùng trong bộ đệm này.
mLastEventUTCTimestamp
Dấu thời gian UTC của sự kiện cuối cùng trong vùng đệm này.
mNext
Một con trỏ CircularEventBuffer lưu trữ các sự kiện sự kiện quan trọng hơn.
mNonPersistedCounter
mPrev
Một con trỏ CircularEventBuffer lưu trữ các sự kiện sự kiện kém phần quan trọng.
mUTCInitialized
bool
Cho biết liệu dấu thời gian UTC có được khởi tạo trong bộ đệm này hay không.

Chức năng công cộng

AddEvent ( timestamp_t inEventTimestamp)
void
Cho một dấu thời gian của một sự kiện, tính toán thời gian delta để lưu trữ trong nhật ký.
AddEventUTC ( utc_timestamp_t inEventTimestamp)
void
Đưa ra dấu thời gian của một sự kiện, hãy tính thời gian delta utc để lưu trữ trong nhật ký.
IsFinalDestinationForImportance ( ImportanceType inImportance) const
bool
Một chức năng trợ giúp xác định xem sự kiện có tầm quan trọng được chỉ định có bị loại bỏ khỏi bộ đệm này hay không.
LoadEvents (TLVReader & reader)
RemoveEvent (size_t aNumEvents)
void
SerializeEvents (TLVWriter & writer)
VendEventID (void)
Phân bổ ID sự kiện mới dựa trên mức độ quan trọng của sự kiện và chuyển tiếp bộ đếm nếu chúng tôi có.

Các chức năng tĩnh công khai

GetNextBufferFunct (nl::Weave::TLV::TLVReader & ioReader, uintptr_t & inBufHandle, const uint8_t *& outBufStart, uint32_t & outBufLen)

Thuộc tính công cộng

mBuffer

nl::Weave::TLV::WeaveCircularTLVBuffer nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mBuffer

Các cơ bản TLV đệm lưu trữ các sự kiện trong một TLV đại diện.

mEventIdCounter

nl::Weave::MonotonicallyIncreasingCounter * nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mEventIdCounter

mFirstEventID

event_id_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mFirstEventID

ID sự kiện đầu tiên được lưu trữ trong hệ thống con ghi nhật ký cho tầm quan trọng này.

mFirstEventTimestamp

timestamp_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mFirstEventTimestamp

Dấu thời gian của sự kiện đầu tiên trong bộ đệm này.

mFirstEventUTCTimestamp

utc_timestamp_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mFirstEventUTCTimestamp

Dấu thời gian UTC của sự kiện đầu tiên trong vùng đệm này.

mImportance

ImportanceType nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mImportance

Bộ đệm là thùng cuối cùng cho các sự kiện có tầm quan trọng này.

Các sự kiện ít quan trọng hơn sẽ bị loại bỏ khi chúng bị đẩy ra khỏi vùng đệm này

mLastEventID

event_id_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mLastEventID

ID sự kiện cuối cùng đã tự động cho tầm quan trọng này.

mLastEventTimestamp

timestamp_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mLastEventTimestamp

Dấu thời gian của sự kiện cuối cùng trong bộ đệm này.

mLastEventUTCTimestamp

utc_timestamp_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mLastEventUTCTimestamp

Dấu thời gian UTC của sự kiện cuối cùng trong vùng đệm này.

mNext

CircularEventBuffer * nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mNext

Một con trỏ CircularEventBuffer lưu trữ các sự kiện sự kiện quan trọng hơn.

mNonPersistedCounter

nl::Weave::MonotonicallyIncreasingCounter nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mNonPersistedCounter

mPrev

CircularEventBuffer * nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mPrev

Một con trỏ CircularEventBuffer lưu trữ các sự kiện sự kiện kém phần quan trọng.

mUTCInitialized

bool nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mUTCInitialized

Cho biết liệu dấu thời gian UTC có được khởi tạo trong vùng đệm này hay không.

Chức năng công cộng

Thêm sự kiện

void nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::AddEvent(
  timestamp_t inEventTimestamp
)

Cho một dấu thời gian của một sự kiện, tính toán thời gian delta để lưu trữ trong nhật ký.

Chi tiết
Thông số
inEventTimestamp
Dấu thời gian của sự kiện.
Lợi nhuận
int32_t Đồng bằng thời gian để mã hóa cho sự kiện.

AddEventUTC

void nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::AddEventUTC(
  utc_timestamp_t inEventTimestamp
)

Cho một dấu thời gian của một sự kiện, hãy tính thời gian delta utc để lưu trữ trong nhật ký.

Chi tiết
Thông số
inEventTimestamp
Dấu thời gian utc của sự kiện
Lợi nhuận
int64_t Đồng bằng thời gian để mã hóa cho sự kiện.

CircularEventBuffer

 nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::CircularEventBuffer(
  uint8_t *inBuffer,
  size_t inBufferLength,
  CircularEventBuffer *inPrev,
  CircularEventBuffer *inNext
)

Một constructor cho CircularEventBuffer (API nội bộ).

Chi tiết
Thông số
[in] inBuffer
Bộ nhớ thực tế để sử dụng cho bộ nhớ sự kiện.
[in] inBufferLength
Chiều dài của inBuffer theo byte.
[in] inPrev
Con trỏ để CircularEventBuffer lưu trữ sự kiện ưu tiên thấp hơn.
[in] inNext
Con trỏ để CircularEventBuffer lưu trữ sự kiện ưu tiên lớn hơn.
Lợi nhuận

IsFinalDestinationForImportance

bool nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::IsFinalDestinationForImportance(
  ImportanceType inImportance
) const 

Một chức năng trợ giúp xác định xem sự kiện có tầm quan trọng được chỉ định có bị loại bỏ khỏi bộ đệm này hay không.

Chi tiết
Thông số
[in] inImportance
Tầm quan trọng của sự kiện.
Giá trị trả lại
true
Sự kiện sẽ bị xóa khỏi bộ đệm này do tràn hàng đợi.
false
Sự kiện sẽ được chuyển sang hàng đợi tiếp theo.

LoadEvents

WEAVE_ERROR nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::LoadEvents(
  TLVReader & reader
)

RemoveEvent

void nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::RemoveEvent(
  size_t aNumEvents
)

SerializeEvents

WEAVE_ERROR nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::SerializeEvents(
  TLVWriter & writer
)

VendEventID

event_id_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::VendEventID(
  void
)

Phân bổ ID sự kiện mới dựa trên mức độ quan trọng của sự kiện và chuyển tiếp bộ đếm nếu chúng tôi có.

Chi tiết
Lợi nhuận
event_id_t ID sự kiện cho tầm quan trọng này.

Các chức năng tĩnh công khai

GetNextBufferFunct

WEAVE_ERROR nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::GetNextBufferFunct(
  nl::Weave::TLV::TLVReader & ioReader,
  uintptr_t & inBufHandle,
  const uint8_t *& outBufStart,
  uint32_t & outBufLen
)