nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer

#include <src/lib/profiles/data-management/Current/LoggingManagement.h>

Búfer de eventos interno, compilado en torno a nl::Weave::TLV::WeaveCircularTLVBuffer.

Resumen

Constructores y destructores

CircularEventBuffer(uint8_t *inBuffer, size_t inBufferLength, CircularEventBuffer *inPrev, CircularEventBuffer *inNext)
Es un constructor para CircularEventBuffer (API interna).

Atributos públicos

mBuffer
El búfer TLV subyacente que almacena los eventos en una representación de TLV
mEventIdCounter
mFirstEventID
El primer ID de evento almacenado en el subsistema de registro para esta importancia.
mFirstEventTimestamp
La marca de tiempo del primer evento en este búfer.
mFirstEventUTCTimestamp
Es la marca de tiempo UTC del primer evento de este búfer.
mImportance
El búfer es el último bucket para los eventos de esta importancia.
mLastEventID
Es el ID del último evento que se vendió para esta importancia.
mLastEventTimestamp
La marca de tiempo del último evento en este búfer.
mLastEventUTCTimestamp
La marca de tiempo UTC del último evento en este búfer.
mNext
Un puntero CircularEventBuffer que almacena eventos y eventos más importantes.
mNonPersistedCounter
mPrev
Un puntero CircularEventBuffer que almacena eventos menos importantes.
mUTCInitialized
bool
Indica si las marcas de tiempo UTC se inicializan en este búfer.

Funciones públicas

AddEvent(timestamp_t inEventTimestamp)
void
Si tienes la marca de tiempo de un evento, calcula el tiempo delta que se almacenará en el registro.
AddEventUTC(utc_timestamp_t inEventTimestamp)
void
Con la marca de tiempo de un evento, calcula el tiempo delta utc para almacenar en el registro.
IsFinalDestinationForImportance(ImportanceType inImportance) const
bool
Función auxiliar que determina si el evento de importancia especificada se elimina de este búfer.
LoadEvents(TLVReader & reader)
RemoveEvent(size_t aNumEvents)
void
SerializeEvents(TLVWriter & writer)
VendEventID(void)
Asignar un nuevo ID de evento según la importancia del evento y avanzar en el contador si tenemos uno

Funciones estáticas públicas

GetNextBufferFunct(nl::Weave::TLV::TLVReader & ioReader, uintptr_t & inBufHandle, const uint8_t *& outBufStart, uint32_t & outBufLen)

Atributos públicos

mBuffer

nl::Weave::TLV::WeaveCircularTLVBuffer nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mBuffer

El búfer TLV subyacente que almacena los eventos en una representación de TLV

mEventIdCounter

nl::Weave::MonotonicallyIncreasingCounter * nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mEventIdCounter

mFirstEventID

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

El primer ID de evento almacenado en el subsistema de registro para esta importancia.

mFirstEventTimestamp

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

La marca de tiempo del primer evento en este búfer.

mFirstEventUTCTimestamp

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

Es la marca de tiempo UTC del primer evento de este búfer.

mImportance

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

El búfer es el último bucket para los eventos de esta importancia.

Los eventos de menor importancia se descartan cuando se eliminan de este búfer

mLastEventID

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

Es el ID del último evento que se vendió para esta importancia.

mLastEventTimestamp

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

La marca de tiempo del último evento en este búfer.

mLastEventUTCTimestamp

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

La marca de tiempo UTC del último evento en este búfer.

mNext

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

Un puntero CircularEventBuffer que almacena eventos y eventos más importantes.

mNonPersistedCounter

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

mPrev

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

Un puntero CircularEventBuffer que almacena eventos menos importantes.

mUTCInitialized

bool nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mUTCInitialized

Indica si las marcas de tiempo UTC se inicializan en este búfer.

Funciones públicas

AddEvent

void nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::AddEvent(
  timestamp_t inEventTimestamp
)

Si tienes la marca de tiempo de un evento, calcula el tiempo delta que se almacenará en el registro.

Detalles
Parámetros
inEventTimestamp
Es la marca de tiempo del evento.
Resultado que se muestra
int32_t Hora del delta para codificar el evento.

AddEventUTC

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

Con la marca de tiempo de un evento, calcula el tiempo delta utc para almacenar en el registro.

Detalles
Parámetros
inEventTimestamp
La marca de tiempo utc del evento
Resultado que se muestra
int64_t Hora del delta para codificar el evento.

CircularEventBuffer

 nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::CircularEventBuffer(
  uint8_t *inBuffer,
  size_t inBufferLength,
  CircularEventBuffer *inPrev,
  CircularEventBuffer *inNext
)

Es un constructor para CircularEventBuffer (API interna).

Detalles
Parámetros
[in] inBuffer
El almacenamiento real que se usará para el almacenamiento de eventos.
[in] inBufferLength
La longitud de inBuffer en bytes.
[in] inPrev
Es el puntero para CircularEventBuffer, que almacena eventos de menor prioridad.
[in] inNext
Es el puntero para CircularEventBuffer, que almacena eventos de mayor prioridad.
Resultado que se muestra

IsFinalDestinationForImportance

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

Función auxiliar que determina si el evento de importancia especificada se elimina de este búfer.

Detalles
Parámetros
[in] inImportance
Importancia del evento
Valores de retorno
true
El evento se descartará de este búfer como resultado del desbordamiento de cola.
false
El evento pasará a la siguiente fila.

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
)

Asignar un nuevo ID de evento según la importancia del evento y avanzar en el contador si tenemos uno

Detalles
Resultado que se muestra
event_id_t: Es el ID del evento para esta importancia.

Funciones estáticas públicas

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
)