nl :: Tejido:: Perfiles: DataManagement_Current :: CircularEventBuffer

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

Memoria de eventos internos, construido alrededor del nl :: Armadura :: :: TLV WeaveCircularTLVBuffer .

Resumen

Constructores y Destructores

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

Atributos públicos

mBuffer
El subyacente TLV memoria intermedia que almacena los eventos en un TLV representación.
mEventIdCounter
mFirstEventID
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
La marca de tiempo UTC del primer evento en este búfer.
mImportance
El búfer es el depósito final para eventos de esta importancia.
mLastEventID
Último ID de evento vendido 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 almacenar eventos eventos más importantes.
mNonPersistedCounter
mPrev
Un puntero CircularEventBuffer almacenar eventos eventos menos importantes.
mUTCInitialized
bool
Indica si las marcas de tiempo UTC se inicializan en este búfer.

Funciones publicas

AddEvent ( timestamp_t inEventTimestamp)
void
Dada una marca de tiempo de un evento, calcule el tiempo delta para almacenar en el registro.
AddEventUTC ( utc_timestamp_t inEventTimestamp)
void
Dada una marca de tiempo de un evento, calcule 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 elimina de este búfer.
LoadEvents (TLVReader & reader)
RemoveEvent (size_t aNumEvents)
void
SerializeEvents (TLVWriter & writer)
VendEventID (void)
Asigne un nuevo ID de evento en función de la importancia del evento y avance 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 subyacente TLV memoria intermedia que almacena los eventos en un TLV representación.

mEventIdCounter

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

mFirstEventID

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

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

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

mimportancia

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

El búfer es el depósito final para eventos de esta importancia.

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

mLastEventID

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

Último ID de evento vendido 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.

mSiguiente

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

Un puntero CircularEventBuffer almacenar eventos 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 almacenar eventos 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 publicas

Añadir evento

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

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

Detalles
Parámetros
inEventTimestamp
La marca de tiempo del evento.
Devoluciones
int32_t Delta de tiempo para codificar el evento.

AddEventUTC

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

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

Detalles
Parámetros
inEventTimestamp
La marca de tiempo utc del evento
Devoluciones
int64_t Delta de tiempo 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 la CircularEventBuffer (API interna).

Detalles
Parámetros
[in] inBuffer
El almacenamiento real que se utilizará para el almacenamiento de eventos.
[in] inBufferLength
La longitud de la inBuffer en bytes.
[in] inPrev
El puntero a CircularEventBuffer almacenar eventos de menor prioridad.
[in] inNext
El puntero a CircularEventBuffer almacenar eventos de mayor prioridad.
Devoluciones

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 elimina de este búfer.

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

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
)

Asigne un nuevo ID de evento en función de la importancia del evento y avance el contador si tenemos uno.

Detalles
Devoluciones
event_id_t 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
)