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

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

Buffer de evento interno, criado com base em nl::Weave::TLV::WeaveCircularTLVBuffer.

Resumo

Construtores e destrutores

CircularEventBuffer(uint8_t *inBuffer, size_t inBufferLength, CircularEventBuffer *inPrev, CircularEventBuffer *inNext)
Um construtor para o CircularEventBuffer (API interna).

Atributos públicos

mBuffer
O buffer TLV subjacente que armazena os eventos em uma representação TLV.
mEventIdCounter
mFirstEventID
Primeiro ID do evento armazenado no subsistema de geração de registros para esta importância.
mFirstEventTimestamp
É o carimbo de data/hora do primeiro evento nesse buffer.
mFirstEventUTCTimestamp
É o carimbo de data/hora UTC do primeiro evento nesse buffer.
mImportance
O buffer é o último bucket de eventos dessa importância.
mLastEventID
O último ID de evento vendido para essa importância.
mLastEventTimestamp
O carimbo de data/hora do último evento nesse buffer.
mLastEventUTCTimestamp
É o carimbo de data/hora UTC do último evento nesse buffer.
mNext
Um ponteiro CircularEventBuffer que armazena eventos mais importantes.
mNonPersistedCounter
mPrev
Um ponteiro CircularEventBuffer que armazena eventos menos importantes.
mUTCInitialized
bool
Indica se os carimbos de data/hora UTC são inicializados nesse buffer.

Funções públicas

AddEvent(timestamp_t inEventTimestamp)
void
Dado um carimbo de data/hora de um evento, calcule o tempo delta a ser armazenado no registro.
AddEventUTC(utc_timestamp_t inEventTimestamp)
void
Dado um carimbo de data/hora de um evento, calcule o horário delta utc a ser armazenado no registro.
IsFinalDestinationForImportance(ImportanceType inImportance) const
bool
Uma função auxiliar que determina se o evento de importância especificada será descartado desse buffer.
LoadEvents(TLVReader & reader)
RemoveEvent(size_t aNumEvents)
void
SerializeEvents(TLVWriter & writer)
VendEventID(void)
Aloque um novo ID de evento com base na importância do evento e avance o contador se houver um.

Funções 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

O buffer TLV subjacente que armazena os eventos em uma representação TLV.

mEventIdCounter

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

mFirstEventID

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

Primeiro ID do evento armazenado no subsistema de geração de registros para esta importância.

mFirstEventTimestamp

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

É o carimbo de data/hora do primeiro evento nesse buffer.

mFirstEventUTCTimestamp

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

É o carimbo de data/hora UTC do primeiro evento nesse buffer.

mImportance

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

O buffer é o último bucket de eventos dessa importância.

Os eventos de menor importância são descartados quando saem desse buffer

mLastEventID

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

O último ID de evento vendido para essa importância.

mLastEventTimestamp

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

O carimbo de data/hora do último evento nesse buffer.

mLastEventUTCTimestamp

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

É o carimbo de data/hora UTC do último evento nesse buffer.

mNext

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

Um ponteiro CircularEventBuffer que armazena eventos mais importantes.

mNonPersistedCounter

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

mPrev

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

Um ponteiro CircularEventBuffer que armazena eventos menos importantes.

mUTCInitialized

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

Indica se os carimbos de data/hora UTC são inicializados nesse buffer.

Funções públicas

AddEvent

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

Dado um carimbo de data/hora de um evento, calcule o tempo delta a ser armazenado no registro.

Detalhes
Parâmetros
inEventTimestamp
Carimbo de data/hora do evento.
Retorna
int32_t Delta de horário a ser codificado para o evento.

AddEventUTC

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

Dado um carimbo de data/hora de um evento, calcule o horário delta utc a ser armazenado no registro.

Detalhes
Parâmetros
inEventTimestamp
O carimbo de data/hora utc do evento
Retorna
int64_t Delta de horário a ser codificado para o evento.

CircularEventBuffer

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

Um construtor para o CircularEventBuffer (API interna).

Detalhes
Parâmetros
[in] inBuffer
O armazenamento real a ser usado para o armazenamento de eventos.
[in] inBufferLength
O comprimento do inBuffer em bytes.
[in] inPrev
O ponteiro para CircularEventBuffer, que armazena eventos de prioridade menor.
[in] inNext
O ponteiro para CircularEventBuffer que armazena eventos de maior prioridade.
Retorna

IsFinalDestinationForImportance

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

Uma função auxiliar que determina se o evento de importância especificada será descartado desse buffer.

Detalhes
Parâmetros
[in] inImportance
Importância do evento.
Valores de retorno
true
O evento será descartado deste buffer como resultado do estouro da fila.
false
O evento vai para a próxima 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
)

Aloque um novo ID de evento com base na importância do evento e avance o contador se houver um.

Detalhes
Retorna
event_id_t ID do evento para essa importância.

Funções 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
)