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

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

Buffer interno degli eventi, basato su nl::Weave::TLV::WeaveCircularTLVBuffer.

Riepilogo

Costruttori e distruttori

CircularEventBuffer(uint8_t *inBuffer, size_t inBufferLength, CircularEventBuffer *inPrev, CircularEventBuffer *inNext)
Un costruttore per CircularEventBuffer (API interna).

Attributi pubblici

mBuffer
Il buffer TLV sottostante che memorizza gli eventi in una rappresentazione TLV.
mEventIdCounter
mFirstEventID
Primo ID evento archiviato nel sottosistema di logging per questa importanza.
mFirstEventTimestamp
Il timestamp del primo evento in questo buffer.
mFirstEventUTCTimestamp
Il timestamp UTC del primo evento in questo buffer.
mImportance
Il buffer è il bucket finale per gli eventi di questa importanza.
mLastEventID
Ultimo ID evento fornito per questa importanza.
mLastEventTimestamp
Il timestamp dell'ultimo evento nel buffer.
mLastEventUTCTimestamp
Il timestamp UTC dell'ultimo evento nel buffer.
mNext
Un puntatore CircularEventBuffer in cui sono archiviati eventi più importanti.
mNonPersistedCounter
mPrev
Un puntatore CircularEventBuffer in cui sono memorizzati eventi meno importanti.
mUTCInitialized
bool
Indica se i timestamp UTC sono inizializzati in questo buffer.

Funzioni pubbliche

AddEvent(timestamp_t inEventTimestamp)
void
Dato il timestamp di un evento, calcola il tempo delta da archiviare nel log.
AddEventUTC(utc_timestamp_t inEventTimestamp)
void
Dato il timestamp di un evento, calcola il tempo utc delta da archiviare nel log.
IsFinalDestinationForImportance(ImportanceType inImportance) const
bool
Una funzione helper che determina se l'evento di importanza specificata viene eliminato da questo buffer.
LoadEvents(TLVReader & reader)
RemoveEvent(size_t aNumEvents)
void
SerializeEvents(TLVWriter & writer)
VendEventID(void)
Assegna un nuovo ID evento in base all'importanza dell'evento e fai avanzare il contatore, se disponibile.

Funzioni statiche pubbliche

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

Attributi pubblici

mBuffer

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

Il buffer TLV sottostante che memorizza gli eventi in una rappresentazione TLV.

mEventIdCounter

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

mFirstEventID

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

Primo ID evento archiviato nel sottosistema di logging per questa importanza.

mFirstEventTimestamp

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

Il timestamp del primo evento in questo buffer.

mFirstEventUTCTimestamp

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

Il timestamp UTC del primo evento in questo buffer.

mImportance

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

Il buffer è il bucket finale per gli eventi di questa importanza.

Gli eventi di minore importanza vengono eliminati quando vengono esclusi da questo buffer

mLastEventID

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

Ultimo ID evento fornito per questa importanza.

mLastEventTimestamp

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

Il timestamp dell'ultimo evento nel buffer.

mLastEventUTCTimestamp

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

Il timestamp UTC dell'ultimo evento nel buffer.

mNext

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

Un puntatore CircularEventBuffer in cui sono archiviati eventi più importanti.

mNonPersistedCounter

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

mPrev

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

Un puntatore CircularEventBuffer in cui sono memorizzati eventi meno importanti.

mUTCInitialized

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

Indica se i timestamp UTC sono inizializzati in questo buffer.

Funzioni pubbliche

AddEvent

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

Dato il timestamp di un evento, calcola il tempo delta da archiviare nel log.

Dettagli
Parametri
inEventTimestamp
Il timestamp dell'evento.
Restituisce
int32_t Delta temporale da codificare per l'evento.

AddEventUTC

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

Dato il timestamp di un evento, calcola il tempo utc delta da archiviare nel log.

Dettagli
Parametri
inEventTimestamp
Timestamp utc dell'evento
Restituisce
int64_t Delta temporale da codificare per l'evento.

CircularEventBuffer

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

Un costruttore per CircularEventBuffer (API interna).

Dettagli
Parametri
[in] inBuffer
Lo spazio di archiviazione effettivo da utilizzare per l'archiviazione degli eventi.
[in] inBufferLength
La lunghezza di inBuffer in byte.
[in] inPrev
Il puntatore a CircularEventBuffer in cui vengono archiviati eventi con priorità inferiore.
[in] inNext
Il puntatore a CircularEventBuffer in cui vengono archiviati eventi con priorità maggiore.
Restituisce

IsFinalDestinationForImportance

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

Una funzione helper che determina se l'evento di importanza specificata viene eliminato da questo buffer.

Dettagli
Parametri
[in] inImportance
Importanza dell'evento.
Valori restituiti
true
L'evento verrà eliminato dal buffer a causa dell'overflow della coda.
false
L'evento verrà spostato alla coda successiva.

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
)

Assegna un nuovo ID evento in base all'importanza dell'evento e fai avanzare il contatore, se disponibile.

Dettagli
Restituisce
event_id_t ID evento per questa importanza.

Funzioni statiche pubbliche

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
)