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

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

Interner Ereignispuffer, der auf nl::Weave::TLV::WeaveCircularTLVBuffer basiert.

Zusammenfassung

Konstruktoren und Zerstörer

CircularEventBuffer(uint8_t *inBuffer, size_t inBufferLength, CircularEventBuffer *inPrev, CircularEventBuffer *inNext)
Ein Konstruktor für den CircularEventBuffer (interne API)

Öffentliche Attribute

mBuffer
Der zugrunde liegende TLV-Puffer, der die Ereignisse in einer TLV-Darstellung speichert.
mEventIdCounter
mFirstEventID
Erste Ereignis-ID, die im Logging-Subsystem für diese Wichtigkeit gespeichert wird.
mFirstEventTimestamp
Der Zeitstempel des ersten Ereignisses in diesem Zwischenspeicher.
mFirstEventUTCTimestamp
Der UTC-Zeitstempel des ersten Ereignisses in diesem Zwischenspeicher.
mImportance
Der Zwischenspeicher ist der letzte Bucket für Ereignisse dieser Wichtigkeit.
mLastEventID
ID des letzten Ereignisses, das für diese Wichtigkeit verwendet wird.
mLastEventTimestamp
Der Zeitstempel des letzten Ereignisses in diesem Zwischenspeicher.
mLastEventUTCTimestamp
Der UTC-Zeitstempel des letzten Ereignisses in diesem Zwischenspeicher.
mNext
Ein Zeiger CircularEventBuffer, der Ereignisse und wichtigere Ereignisse speichert.
mNonPersistedCounter
mPrev
Ein Zeiger CircularEventBuffer zum Speichern von weniger wichtigen Ereignissen
mUTCInitialized
bool
Gibt an, ob UTC-Zeitstempel in diesem Zwischenspeicher initialisiert werden.

Öffentliche Funktionen

AddEvent(timestamp_t inEventTimestamp)
void
Berechnen Sie anhand des Zeitstempels eines Ereignisses die Deltazeit, die im Log gespeichert werden soll.
AddEventUTC(utc_timestamp_t inEventTimestamp)
void
Berechne anhand des Zeitstempels eines Ereignisses die Delta utc-Zeit, die im Log gespeichert werden soll.
IsFinalDestinationForImportance(ImportanceType inImportance) const
bool
Hilfsfunktion, die bestimmt, ob das Ereignis von angegebener Wichtigkeit aus diesem Puffer gelöscht wird.
LoadEvents(TLVReader & reader)
RemoveEvent(size_t aNumEvents)
void
SerializeEvents(TLVWriter & writer)
VendEventID(void)
Weisen Sie basierend auf der Ereigniswichtigkeit eine neue Ereignis-ID zu und stellen Sie den Zähler gegebenenfalls voran.

Öffentliche statische Funktionen

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

Öffentliche Attribute

mBuffer

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

Der zugrunde liegende TLV-Puffer, der die Ereignisse in einer TLV-Darstellung speichert.

mEventIdCounter

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

mFirstEventID

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

Erste Ereignis-ID, die im Logging-Subsystem für diese Wichtigkeit gespeichert wird.

mFirstEventTimestamp

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

Der Zeitstempel des ersten Ereignisses in diesem Zwischenspeicher.

mFirstEventUTCTimestamp

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

Der UTC-Zeitstempel des ersten Ereignisses in diesem Zwischenspeicher.

mImportance

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

Der Zwischenspeicher ist der letzte Bucket für Ereignisse dieser Wichtigkeit.

Ereignisse von geringerer Bedeutung werden verworfen, wenn sie diesen Puffer überschreiten.

mLastEventID

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

ID des letzten Ereignisses, das für diese Wichtigkeit verwendet wird.

mLastEventTimestamp

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

Der Zeitstempel des letzten Ereignisses in diesem Zwischenspeicher.

mLastEventUTCTimestamp

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

Der UTC-Zeitstempel des letzten Ereignisses in diesem Zwischenspeicher.

mNext

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

Ein Zeiger CircularEventBuffer, der Ereignisse und wichtigere Ereignisse speichert.

mNonPersistedCounter

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

mPrev

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

Ein Zeiger CircularEventBuffer zum Speichern von weniger wichtigen Ereignissen

mUTCInitialized

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

Gibt an, ob UTC-Zeitstempel in diesem Zwischenspeicher initialisiert werden.

Öffentliche Funktionen

AddEvent

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

Berechnen Sie anhand des Zeitstempels eines Ereignisses die Deltazeit, die im Log gespeichert werden soll.

Details
Parameter
inEventTimestamp
Der Ereigniszeitstempel.
Rückgabe
int32_t Zeitdelta, das für das Ereignis codiert werden soll.

AddEventUTC

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

Berechne anhand des Zeitstempels eines Ereignisses die Delta utc-Zeit, die im Log gespeichert werden soll.

Details
Parameter
inEventTimestamp
UTC-Zeitstempel des Ereignisses
Rückgabe
int64_t Zeitdelta, das für das Ereignis codiert werden soll.

CircularEventBuffer

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

Ein Konstruktor für den CircularEventBuffer (interne API)

Details
Parameter
[in] inBuffer
Der tatsächliche Speicherplatz, der als Ereignisspeicher verwendet werden soll.
[in] inBufferLength
Die Länge von inBuffer in Byte.
[in] inPrev
Der Zeiger auf CircularEventBuffer, in dem Ereignisse niedrigerer Priorität gespeichert werden.
[in] inNext
Der Zeiger auf CircularEventBuffer, in dem Ereignisse mit höherer Priorität gespeichert werden.
Rückgabe

IsFinalDestinationForImportance

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

Hilfsfunktion, die bestimmt, ob das Ereignis von angegebener Wichtigkeit aus diesem Puffer gelöscht wird.

Details
Parameter
[in] inImportance
Die Bedeutung des Ereignisses.
Rückgabewerte
true
Das Ereignis wird aufgrund eines Warteschlangenüberlaufs aus diesem Puffer gelöscht.
false
Das Ereignis wird in die nächste Warteschlange verschoben.

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
)

Weisen Sie basierend auf der Ereigniswichtigkeit eine neue Ereignis-ID zu und stellen Sie den Zähler gegebenenfalls voran.

Details
Rückgabe
event_id_t Ereignis-ID für diese Wichtigkeit.

Öffentliche statische Funktionen

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
)