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
)