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
|
|
mEventIdCounter
|
|
mFirstEventID
|
为此重要性在日志记录子系统中存储的第一个事件 ID。
|
mFirstEventTimestamp
|
此缓冲区中第一个事件的时间戳。
|
mFirstEventUTCTimestamp
|
此缓冲区中第一个事件的世界协调时间 (UTC) 时间戳。
|
mImportance
|
缓冲区是此重要性事件的最后一个分桶。
|
mLastEventID
|
为此重要性添加的最后一个事件 ID。
|
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)
|
根据事件重要性分配新的事件 ID,并将计数器往前推进(如果有)。
|
公共静态函数 |
|
---|---|
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
mEventIdCounter
nl::Weave::MonotonicallyIncreasingCounter * nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mEventIdCounter
mFirstEventID
event_id_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mFirstEventID
为此重要性在日志记录子系统中存储的第一个事件 ID。
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
为此重要性添加的最后一个事件 ID。
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 )
在给定事件的时间戳后,计算要存储在日志中的增量时间。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
int32_t 要为事件编码的时间增量。
|
AddEventUTC
void nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::AddEventUTC( utc_timestamp_t inEventTimestamp )
在给定事件的时间戳后,计算要存储在日志中的增量 utc 时间。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
int64_t 要为事件编码的时间增量。
|
CircularEventBuffer
nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::CircularEventBuffer( uint8_t *inBuffer, size_t inBufferLength, CircularEventBuffer *inPrev, CircularEventBuffer *inNext )
CircularEventBuffer(内部 API)的构造函数。
详细信息 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
IsFinalDestinationForImportance
bool nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::IsFinalDestinationForImportance( ImportanceType inImportance ) const
一个辅助函数,用于确定指定重要性的事件是否从此缓冲区中删除。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
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 )
根据事件重要性分配新的事件 ID,并将计数器往前推进(如果有)。
详细信息 | |
---|---|
返回值 |
此重要性对应的 event_id_t 事件 ID。
|
公共静态函数
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 )