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

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

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

Resumen

Constructores y destructores

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

Atributos públicos

mBuffer
El búfer de 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
Es la marca de tiempo del primer evento en este búfer.
mFirstEventUTCTimestamp
Es la marca de tiempo UTC del primer evento en este búfer.
mImportance
El búfer es el bucket final para los eventos de esta importancia.
mLastEventID
Es el ID del último evento vendido para esta importancia.
mLastEventTimestamp
Es la marca de tiempo del último evento en este búfer.
mLastEventUTCTimestamp
Es la marca de tiempo UTC del último evento en este búfer.
mNext
Un puntero CircularEventBuffer que almacena 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
Dada una marca de tiempo de un evento, calcula el tiempo delta para almacenar en el registro.
AddEventUTC(utc_timestamp_t inEventTimestamp)
void
Dada la marca de tiempo de un evento, calcula el tiempo delta utc para almacenar en el registro.
IsFinalDestinationForImportance(ImportanceType inImportance) const
bool
Una función auxiliar que determina si el evento de importancia especificada se descarta de este búfer.
LoadEvents(TLVReader & reader)
RemoveEvent(size_t aNumEvents)
void
SerializeEvents(TLVWriter & writer)
VendEventID(void)
Asigna un nuevo ID de evento según la importancia del evento y, si lo tenemos, avanza el contador.

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 de 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

Es 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 en este búfer.

mImportance

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

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

Los eventos de menor importancia se descartan cuando salen de este margen

mLastEventID

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

Es el ID del último evento vendido para esta importancia.

mLastEventTimestamp

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

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

mLastEventUTCTimestamp

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

Es 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 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
)

Dada una marca de tiempo de un evento, calcula el tiempo delta para almacenar en el registro.

Detalles
Parámetros
inEventTimestamp
La marca de tiempo del evento
Qué muestra
int32_t Time delta para codificar el evento

AddEventUTC

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

Dada 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 de utc del evento
Qué muestra
int64_t Time delta para codificar el evento

CircularEventBuffer

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

Un constructor para CircularEventBuffer (API interna).

Detalles
Parámetros
[in] inBuffer
El almacenamiento real que se utilizará para almacenar eventos.
[in] inBufferLength
Es la longitud de inBuffer, expresada en bytes.
[in] inPrev
El puntero a CircularEventBuffer, en el que se almacenan eventos de menor prioridad.
[in] inNext
El puntero a CircularEventBuffer, en el que se almacenan eventos de mayor prioridad.
Qué muestra

IsFinalDestinationForImportance

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

Una función auxiliar que determina si el evento de importancia especificada se descarta de este búfer.

Detalles
Parámetros
[in] inImportance
Importancia del evento
Valores que se muestran
true
El evento se descartará de este búfer como resultado de un desbordamiento de cola.
false
El evento se transmitirá 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
)

Asigna un nuevo ID de evento según la importancia del evento y, si lo tenemos, avanza el contador.

Detalles
Qué muestra
event_id_t Es el ID de 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
)