нл:: Переплетение:: Профили:: DataManagement_Current:: ЦиркулярСобытиеБуфер

#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

мфирстевентид

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

Идентификатор первого события, сохраненного в подсистеме журналирования для этой важности.

мфирстевенттиместамп

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

Временная метка первого события в этом буфере.

mFirstEventUTCTimestamp

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

Метка времени в формате UTC первого события в этом буфере.

mВажность

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

Буфер — это последнее хранилище для событий такой важности.

События меньшей важности удаляются, когда они выбрасываются из этого буфера.

мластевентид

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

Идентификатор последнего события, предоставленного для этой важности.

мластевенттиместамп

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

Временная метка последнего события в этом буфере.

mLastEventUTCTimestamp

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

Метка времени в формате UTC последнего события в этом буфере.

mСледующий

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

Указатель CircularEventBuffer хранит более важные события.

mNonPersistedCounter

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

мПредыдущий

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

Указатель CircularEventBuffer, хранящий менее важные события.

mUTCIинициализированный

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
)

Учитывая временную метку события, вычислите разницу времени в формате 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
)

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
)