nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer

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

บัฟเฟอร์เหตุการณ์ภายในที่สร้างขึ้นรอบ nl::Weave::TLV::WeaveCircularTLVBuffer

สรุป

ผู้ผลิตและผู้ทำลาย

CircularEventBuffer(uint8_t *inBuffer, size_t inBufferLength, CircularEventBuffer *inPrev, CircularEventBuffer *inNext)
เครื่องมือสร้างสำหรับ CircularEventBuffer (API ภายใน)

แอตทริบิวต์สาธารณะ

mBuffer
บัฟเฟอร์ TLV ที่สำคัญซึ่งจัดเก็บเหตุการณ์ในรูปแบบ TLV
mEventIdCounter
mFirstEventID
รหัสเหตุการณ์แรกที่จัดเก็บไว้ในระบบย่อยของการบันทึกสำหรับความสำคัญนี้
mFirstEventTimestamp
การประทับเวลาของเหตุการณ์แรกในบัฟเฟอร์นี้
mFirstEventUTCTimestamp
การประทับเวลา UTC ของเหตุการณ์แรกในบัฟเฟอร์นี้
mImportance
บัฟเฟอร์คือที่เก็บข้อมูลสุดท้ายสำหรับเหตุการณ์ที่มีความสำคัญนี้
mLastEventID
รหัสเหตุการณ์ล่าสุดที่ใช้กับความสำคัญนี้
mLastEventTimestamp
การประทับเวลาของเหตุการณ์สุดท้ายในบัฟเฟอร์นี้
mLastEventUTCTimestamp
การประทับเวลา UTC ของเหตุการณ์สุดท้ายในบัฟเฟอร์นี้
mNext
ตัวชี้ CircularEventBuffer เพื่อจัดเก็บเหตุการณ์ที่สำคัญกว่า
mNonPersistedCounter
mPrev
ตัวชี้ CircularEventBuffer จัดเก็บเหตุการณ์ที่ไม่สำคัญ
mUTCInitialized
bool
ระบุว่ามีการเริ่มต้นการประทับเวลา UTC ในบัฟเฟอร์นี้หรือไม่

ฟังก์ชันสาธารณะ

AddEvent(timestamp_t inEventTimestamp)
void
คำนวณเวลาเดลต้าที่จะจัดเก็บในบันทึก หากมีการประทับเวลาของเหตุการณ์
AddEventUTC(utc_timestamp_t inEventTimestamp)
void
หากกำหนดการประทับเวลาของเหตุการณ์ ให้คำนวณเวลา utc เดลต้าเพื่อจัดเก็บไว้ในบันทึก
IsFinalDestinationForImportance(ImportanceType inImportance) const
bool
ฟังก์ชันตัวช่วยที่จะกำหนดว่าเหตุการณ์ที่มีความสำคัญที่ระบุถูกตัดออกจากบัฟเฟอร์นี้หรือไม่
LoadEvents(TLVReader & reader)
RemoveEvent(size_t aNumEvents)
void
SerializeEvents(TLVWriter & writer)
VendEventID(void)
จัดสรรรหัสเหตุการณ์ใหม่ตามความสำคัญของเหตุการณ์ และดำเนินการนับถอยหลังหากมี

ฟังก์ชันสาธารณะแบบคงที่

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

แอตทริบิวต์สาธารณะ

mBuffer

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

บัฟเฟอร์ TLV ที่สำคัญซึ่งจัดเก็บเหตุการณ์ในรูปแบบ TLV

mEventIdCounter

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

mFirstEventID

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

รหัสเหตุการณ์แรกที่จัดเก็บไว้ในระบบย่อยของการบันทึกสำหรับความสำคัญนี้

mFirstEventTimestamp

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

การประทับเวลาของเหตุการณ์แรกในบัฟเฟอร์นี้

mFirstEventUTCTimestamp

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

การประทับเวลา UTC ของเหตุการณ์แรกในบัฟเฟอร์นี้

mImportance

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

บัฟเฟอร์คือที่เก็บข้อมูลสุดท้ายสำหรับเหตุการณ์ที่มีความสำคัญนี้

เหตุการณ์ที่ไม่สําคัญกว่าจะถูกตัดออกเมื่อหลุดออกจากบัฟเฟอร์นี้

mLastEventID

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

รหัสเหตุการณ์ล่าสุดที่ใช้กับความสำคัญนี้

mLastEventTimestamp

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

การประทับเวลาของเหตุการณ์สุดท้ายในบัฟเฟอร์นี้

mLastEventUTCTimestamp

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

การประทับเวลา UTC ของเหตุการณ์สุดท้ายในบัฟเฟอร์นี้

mNext

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

ตัวชี้ CircularEventBuffer เพื่อจัดเก็บเหตุการณ์ที่สำคัญกว่า

mNonPersistedCounter

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

mPrev

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

ตัวชี้ CircularEventBuffer จัดเก็บเหตุการณ์ที่ไม่สำคัญ

mUTCInitialized

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

ระบุว่ามีการเริ่มต้นการประทับเวลา UTC ในบัฟเฟอร์นี้หรือไม่

ฟังก์ชันสาธารณะ

AddEvent

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

คำนวณเวลาเดลต้าที่จะจัดเก็บในบันทึก หากมีการประทับเวลาของเหตุการณ์

รายละเอียด
พารามิเตอร์
inEventTimestamp
การประทับเวลาเหตุการณ์
การคืนสินค้า
int32_t เดลต้าเวลาที่จะเข้ารหัสสำหรับเหตุการณ์

AddEventUTC

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

หากกำหนดการประทับเวลาของเหตุการณ์ ให้คำนวณเวลา utc เดลต้าเพื่อจัดเก็บไว้ในบันทึก

รายละเอียด
พารามิเตอร์
inEventTimestamp
การประทับเวลา utc ของเหตุการณ์
การคืนสินค้า
int64_t เดลต้าเวลาที่จะเข้ารหัสสำหรับเหตุการณ์

CircularEventBuffer

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

เครื่องมือสร้างสำหรับ CircularEventBuffer (API ภายใน)

รายละเอียด
พารามิเตอร์
[in] inBuffer
พื้นที่เก็บข้อมูลจริงสำหรับใช้เป็นพื้นที่เก็บข้อมูลเหตุการณ์
[in] inBufferLength
ความยาวของ inBuffer ในหน่วยไบต์
[in] inPrev
ตัวชี้ไปยัง CircularEventBuffer ซึ่งจัดเก็บเหตุการณ์ที่มีลำดับความสำคัญน้อยกว่า
[in] inNext
ตัวชี้ไปยัง CircularEventBuffer ซึ่งจัดเก็บเหตุการณ์ที่มีลําดับความสําคัญมากกว่า
การคืนสินค้า

IsFinalDestinationForImportance

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

ฟังก์ชันตัวช่วยที่จะกำหนดว่าเหตุการณ์ที่มีความสำคัญที่ระบุถูกตัดออกจากบัฟเฟอร์นี้หรือไม่

รายละเอียด
พารามิเตอร์
[in] inImportance
ความสำคัญของเหตุการณ์
ผลลัพธ์
true
เหตุการณ์จะถูกตัดออกจากบัฟเฟอร์นี้เนื่องจากมีการต่อคิวมากเกินไป
false
ระบบจะย้ายกิจกรรมไปยังคิวถัดไป

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
)

จัดสรรรหัสเหตุการณ์ใหม่ตามความสำคัญของเหตุการณ์ และดำเนินการนับถอยหลังหากมี

รายละเอียด
การคืนสินค้า
event_id_t รหัสเหตุการณ์สำหรับความสำคัญนี้

ฟังก์ชันสาธารณะแบบคงที่

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
)