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

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

Tampon d'événements interne, conçu autour de nl::Weave::TLV::WeaveCircularTLVBuffer.

Résumé

Constructeurs et destructeurs

CircularEventBuffer(uint8_t *inBuffer, size_t inBufferLength, CircularEventBuffer *inPrev, CircularEventBuffer *inNext)
Constructeur pour CircularEventBuffer (API interne).

Attributs publics

mBuffer
Tampon TLV sous-jacent qui stocke les événements dans une représentation TLV.
mEventIdCounter
mFirstEventID
Premier ID d'événement stocké dans le sous-système de journalisation pour cette importance.
mFirstEventTimestamp
Code temporel du premier événement dans ce tampon.
mFirstEventUTCTimestamp
Horodatage UTC du premier événement dans ce tampon.
mImportance
Le tampon est le bucket final pour les événements de cette importance.
mLastEventID
Dernier ID d'événement commercialisé pour cette importance.
mLastEventTimestamp
Code temporel du dernier événement dans ce tampon.
mLastEventUTCTimestamp
Code temporel UTC du dernier événement dans ce tampon.
mNext
Pointeur CircularEventBuffer stockant des événements plus importants.
mNonPersistedCounter
mPrev
Pointeur CircularEventBuffer stockant les événements moins importants.
mUTCInitialized
bool
Indique si les horodatages UTC sont initialisés dans ce tampon.

Fonctions publiques

AddEvent(timestamp_t inEventTimestamp)
void
À partir du code temporel d'un événement, calculez l'heure delta à stocker dans le journal.
AddEventUTC(utc_timestamp_t inEventTimestamp)
void
À partir du code temporel d'un événement, calculez l'heure delta utc à stocker dans le journal.
IsFinalDestinationForImportance(ImportanceType inImportance) const
bool
Fonction d'assistance qui détermine si l'événement d'importance spécifiée est supprimé de ce tampon.
LoadEvents(TLVReader & reader)
RemoveEvent(size_t aNumEvents)
void
SerializeEvents(TLVWriter & writer)
VendEventID(void)
Attribuez un nouvel ID d'événement en fonction de l'importance de l'événement et faites avancer le compteur, le cas échéant.

Fonctions statiques publiques

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

Attributs publics

mBuffer

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

Tampon TLV sous-jacent qui stocke les événements dans une représentation TLV.

mEventIdCounter

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

mFirstEventID

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

Premier ID d'événement stocké dans le sous-système de journalisation pour cette importance.

mFirstEventTimestamp

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

Code temporel du premier événement dans ce tampon.

mFirstEventUTCTimestamp

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

Horodatage UTC du premier événement dans ce tampon.

mImportance

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

Le tampon est le bucket final pour les événements de cette importance.

Les événements de moindre importance sont ignorés lorsqu'ils sortent de ce tampon

mLastEventID

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

Dernier ID d'événement commercialisé pour cette importance.

mLastEventTimestamp

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

Code temporel du dernier événement dans ce tampon.

mLastEventUTCTimestamp

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

Code temporel UTC du dernier événement dans ce tampon.

mNext

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

Pointeur CircularEventBuffer stockant des événements plus importants.

mNonPersistedCounter

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

mPrev

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

Pointeur CircularEventBuffer stockant les événements moins importants.

mUTCInitialized

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

Indique si les horodatages UTC sont initialisés dans ce tampon.

Fonctions publiques

AddEvent

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

À partir du code temporel d'un événement, calculez l'heure delta à stocker dans le journal.

Détails
Paramètres
inEventTimestamp
Code temporel de l'événement.
Renvoie
int32_t Écart temporel à encoder pour l'événement.

AddEventUTC

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

À partir du code temporel d'un événement, calculez l'heure delta utc à stocker dans le journal.

Détails
Paramètres
inEventTimestamp
Code temporel UTC de l'événement
Renvoie
int64_t Écart temporel à encoder pour l'événement.

CircularEventBuffer

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

Constructeur pour CircularEventBuffer (API interne).

Détails
Paramètres
[in] inBuffer
Espace de stockage réel à utiliser pour le stockage des événements.
[in] inBufferLength
Longueur de inBuffer en octets.
[in] inPrev
Pointeur vers CircularEventBuffer stockant des événements de priorité inférieure.
[in] inNext
Pointeur vers CircularEventBuffer stockant les événements de priorité supérieure.
Renvoie

IsFinalDestinationForImportance

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

Fonction d'assistance qui détermine si l'événement d'importance spécifiée est supprimé de ce tampon.

Détails
Paramètres
[in] inImportance
Importance de l'événement.
Valeurs renvoyées
true
L'événement sera supprimé de ce tampon en raison d'un dépassement de file d'attente.
false
L'événement est placé dans la file d'attente suivante.

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
)

Attribuez un nouvel ID d'événement en fonction de l'importance de l'événement et faites avancer le compteur, le cas échéant.

Détails
Renvoie
event_id_t ID d'événement pour cette importance.

Fonctions statiques publiques

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
)