NL::编织::简介::数据管理_当前::循环事件缓冲区
#include <src/lib/profiles/data-management/Current/LoggingManagement.h>
内部事件缓冲器,围绕建NL ::纺织品:: 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 给定事件的时间戳,计算 delta 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) |
公共属性
缓冲区
nl::Weave::TLV::WeaveCircularTLVBuffer nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mBuffer
事件编号计数器
nl::Weave::MonotonicallyIncreasingCounter * nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mEventIdCounter
mFirstEventID
event_id_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mFirstEventID
为此重要性存储在日志子系统中的第一个事件 ID。
mFirstEvent时间戳
timestamp_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mFirstEventTimestamp
此缓冲区中第一个事件的时间戳。
mFirstEventUTC时间戳
utc_timestamp_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mFirstEventUTCTimestamp
此缓冲区中第一个事件的 UTC 时间戳。
重要性
ImportanceType nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mImportance
缓冲区是这种重要事件的最后一个存储桶。
当它们被撞出这个缓冲区时,不太重要的事件会被丢弃
上次事件ID
event_id_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mLastEventID
为这一重要性提供的最后一个事件 ID。
mLastEventTimestamp
timestamp_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mLastEventTimestamp
此缓冲区中最后一个事件的时间戳。
mLastEventUTC时间戳
utc_timestamp_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mLastEventUTCTimestamp
此缓冲区中最后一个事件的 UTC 时间戳。
下一个
CircularEventBuffer * nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mNext
指针CircularEventBuffer存储事件更重要的事件。
非持久计数器
nl::Weave::MonotonicallyIncreasingCounter nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mNonPersistedCounter
上一个
CircularEventBuffer * nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mPrev
指针CircularEventBuffer存储事件不太重要的事件。
mUTC初始化
bool nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mUTCInitialized
指示是否在此缓冲区中初始化 UTC 时间戳。
公共职能
添加事件
void nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::AddEvent( timestamp_t inEventTimestamp )
给定事件的时间戳,计算要存储在日志中的增量时间。
细节 | |||
---|---|---|---|
参数 |
| ||
退货 | int32_t 为事件编码的时间增量。 |
添加事件UTC
void nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::AddEventUTC( utc_timestamp_t inEventTimestamp )
给定事件的时间戳,计算 delta utc 时间以存储在日志中。
细节 | |||
---|---|---|---|
参数 |
| ||
退货 | int64_t 为事件编码的时间增量。 |
循环事件缓冲区
nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::CircularEventBuffer( uint8_t *inBuffer, size_t inBufferLength, CircularEventBuffer *inPrev, CircularEventBuffer *inNext )
一种用于构造CircularEventBuffer (内部API)。
细节 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
| ||||||||
退货 |
是重要的最终目的地
bool nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::IsFinalDestinationForImportance( ImportanceType inImportance ) const
一个辅助函数,用于确定是否从此缓冲区中删除指定重要性的事件。
细节 | |||||
---|---|---|---|---|---|
参数 |
| ||||
返回值 |
|
加载事件
WEAVE_ERROR nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::LoadEvents( TLVReader & reader )
移除事件
void nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::RemoveEvent( size_t aNumEvents )
序列化事件
WEAVE_ERROR nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::SerializeEvents( TLVWriter & writer )
销售事件ID
event_id_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::VendEventID( void )
根据事件重要性分配一个新的事件 ID,如果有,则推进计数器。
细节 | |
---|---|
退货 | event_id_t 此重要性的事件 ID。 |
公共静态函数
获取下一个缓冲区函数
WEAVE_ERROR nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::GetNextBufferFunct( nl::Weave::TLV::TLVReader & ioReader, uintptr_t & inBufHandle, const uint8_t *& outBufStart, uint32_t & outBufLen )