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
底层TLV缓冲存储在事件TLV表示。
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

底层TLV缓冲存储在事件TLV表示。

事件编号计数器

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
)

给定事件的时间戳,计算要存储在日志中的增量时间。

细节
参数
inEventTimestamp
事件时间戳。
退货
int32_t 为事件编码的时间增量。

添加事件UTC

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

给定事件的时间戳,计算 delta utc 时间以存储在日志中。

细节
参数
inEventTimestamp
事件的 UTC 时间戳
退货
int64_t 为事件编码的时间增量。

循环事件缓冲区

 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存储较高优先级的事件。
退货

是重要的最终目的地

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

一个辅助函数,用于确定是否从此缓冲区中删除指定重要性的事件。

细节
参数
[in] inImportance
事件的重要性。
返回值
true
由于队列溢出,该事件将从该缓冲区中删除。
false
该事件将被撞到下一个队列。

加载事件

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
)