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

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

Buffer di eventi interno, creato attorno a 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
ID del primo 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
ID ultimo evento fornito per questa importanza.
mLastEventTimestamp
Il timestamp dell'ultimo evento in questo buffer.
mLastEventUTCTimestamp
Il timestamp UTC dell'ultimo evento in questo buffer.
mNext
Un puntatore CircularEventBuffer che memorizza gli eventi più importanti.
mNonPersistedCounter
mPrev
Un puntatore CircularEventBuffer che memorizza gli 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 delta utc 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)
Alloca un nuovo ID evento in base all'importanza dell'evento e avanza 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

ID del primo 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

ID ultimo evento fornito per questa importanza.

mLastEventTimestamp

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

Il timestamp dell'ultimo evento in questo buffer.

mLastEventUTCTimestamp

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

Il timestamp UTC dell'ultimo evento in questo buffer.

mNext

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

Un puntatore CircularEventBuffer che memorizza gli 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 che memorizza gli 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 delta utc 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 per l'archiviazione di eventi di priorità inferiore.
[in] inNext
Il puntatore a CircularEventBuffer per l'archiviazione di 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 da questo buffer a causa dell'overflow della coda.
false
L'evento verrà inserito nella 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
)

Alloca un nuovo ID evento in base all'importanza dell'evento e avanza 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
)