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

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

Interner Ereignispuffer, der um nl::Weave::TLV::WeaveCircularTLVBuffer herum erstellt wurde.

Zusammenfassung

Konstruktoren und Zerstörer

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

Öffentliche Attribute

mBuffer
Der zugrunde liegende TLV-Zwischenspeicher, der die Ereignisse in einer TLV-Darstellung speichert
mEventIdCounter
mFirstEventID
Erste Ereignis-ID, die im Logging-Subsystem für diese Wichtigkeit gespeichert ist.
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
Die letzte Ereignis-ID wurde um diese Wichtigkeit geändert.
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, der Ereignisse speichert, die weniger wichtige Ereignisse enthalten.
mUTCInitialized
bool
Gibt an, ob in diesem Zwischenspeicher UTC-Zeitstempel initialisiert werden.

Öffentliche Funktionen

AddEvent(timestamp_t inEventTimestamp)
void
Berechnen Sie bei einem Zeitstempel eines Ereignisses die Deltazeit, die im Log gespeichert werden soll.
AddEventUTC(utc_timestamp_t inEventTimestamp)
void
Berechnen Sie anhand des Zeitstempels eines Ereignisses die Delta-utc-Zeit, die im Log gespeichert werden soll.
IsFinalDestinationForImportance(ImportanceType inImportance) const
bool
Eine Hilfsfunktion, die bestimmt, ob das Ereignis der angegebenen Wichtigkeit aus diesem Zwischenspeicher gelöscht wird.
LoadEvents(TLVReader & reader)
RemoveEvent(size_t aNumEvents)
void
SerializeEvents(TLVWriter & writer)
VendEventID(void)
Je nach Wichtigkeit des Ereignisses eine neue Ereignis-ID zuweisen und den Zähler vorantreiben, falls vorhanden.

Ö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-Zwischenspeicher, 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 ist.

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 aus diesem Zwischenspeicher verschoben werden.

mLastEventID

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

Die letzte Ereignis-ID wurde um diese Wichtigkeit geändert.

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, der Ereignisse speichert, die weniger wichtige Ereignisse enthalten.

mUTCInitialized

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

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

Öffentliche Funktionen

AddEvent

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

Berechnen Sie bei einem Zeitstempel eines Ereignisses die Deltazeit, die im Log gespeichert werden soll.

Details
Parameter
inEventTimestamp
Der Zeitstempel des Ereignisses.
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
)

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

Details
Parameter
inEventTimestamp
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 CircularEventBuffer (interne API).

Details
Parameter
[in] inBuffer
Der tatsächliche Speicherplatz für Ereignisspeicher.
[in] inBufferLength
Die Länge von inBuffer in Byte.
[in] inPrev
Der Zeiger auf CircularEventBuffer, in dem Ereignisse mit 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 

Eine Hilfsfunktion, die bestimmt, ob das Ereignis der angegebenen Wichtigkeit aus diesem Zwischenspeicher gelöscht wird.

Details
Parameter
[in] inImportance
Bedeutung des Ereignisses
Rückgabewerte
true
Das Ereignis wird aufgrund eines Warteschlangenüberlaufs aus diesem Zwischenspeicher 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
)

Je nach Wichtigkeit des Ereignisses eine neue Ereignis-ID zuweisen und den Zähler vorantreiben, falls vorhanden.

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
)