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

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

Tampon d'événements interne, basé sur 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
Le tampon TLV sous-jacent 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
Horodatage du premier événement de 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
ID du dernier événement utilisé pour cette importance.
mLastEventTimestamp
Horodatage du dernier événement de ce tampon.
mLastEventUTCTimestamp
Horodatage UTC du dernier événement dans ce tampon.
mNext
Un pointeur CircularEventBuffer stockant les événements plus importants
mNonPersistedCounter
mPrev
Un 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 de l'horodatage d'un événement, calculez le temps delta à stocker dans le journal.
AddEventUTC(utc_timestamp_t inEventTimestamp)
void
À partir de l'horodatage d'un événement, calculez l'heure utc delta à 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 si nous en avons un.

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

Le tampon TLV sous-jacent 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

Horodatage du premier événement de 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 sont retirés de ce tampon

mLastEventID

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

ID du dernier événement utilisé pour cette importance.

mLastEventTimestamp

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

Horodatage du dernier événement de ce tampon.

mLastEventUTCTimestamp

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

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

mNext

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

Un pointeur CircularEventBuffer stockant les événements plus importants

mNonPersistedCounter

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

mPrev

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

Un 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 de l'horodatage d'un événement, calculez le temps delta à stocker dans le journal.

Détails
Paramètres
inEventTimestamp
Horodatage de l'événement.
Renvoie
int32_t Delta de temps à encoder pour l'événement.

AddEventUTC

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

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

Détails
Paramètres
inEventTimestamp
Horodatage de l'événement utc
Renvoie
int64_t Delta de temps à 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 stocker des événements.
[in] inBufferLength
Longueur de inBuffer en octets.
[in] inPrev
Pointeur vers CircularEventBuffer stockant les é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 de retour
true
L'événement sera supprimé de ce tampon en raison d'un dépassement de file d'attente.
false
L'événement sera 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 si nous en avons un.

Détails
Renvoie
event_id_t ID de l'é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
)