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

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

nl::Weave::TLV::WeaveCircularTLVBuffer を中心に構築された内部イベント バッファ。

概要

コンストラクタとデストラクタ

CircularEventBuffer(uint8_t *inBuffer, size_t inBufferLength, CircularEventBuffer *inPrev, CircularEventBuffer *inNext)
CircularEventBuffer(内部 API)のコンストラクタ。

パブリック属性

mBuffer
イベントを TLV 表現に格納する基盤となる TLV バッファ。
mEventIdCounter
mFirstEventID
この重要度に関してロギング サブシステムに保存される最初のイベント ID。
mFirstEventTimestamp
このバッファ内の最初のイベントのタイムスタンプ。
mFirstEventUTCTimestamp
このバッファ内の最初のイベントの UTC タイムスタンプ。
mImportance
バッファは、この重要度のイベントを格納する最後のバケットです。
mLastEventID
この重要度のために使用された最後のイベント ID。
mLastEventTimestamp
このバッファ内の最後のイベントのタイムスタンプ。
mLastEventUTCTimestamp
このバッファ内の最後のイベントの UTC タイムスタンプ。
mNext
より重要なイベントを格納するポインタ CircularEventBuffer
mNonPersistedCounter
mPrev
重要度の低いイベントを格納するポインタ CircularEventBuffer
mUTCInitialized
bool
このバッファで UTC タイムスタンプが初期化されているかどうかを示します。

パブリック関数

AddEvent(timestamp_t inEventTimestamp)
void
イベントのタイムスタンプを指定して、ログに保存するデルタ時間を計算する。
AddEventUTC(utc_timestamp_t inEventTimestamp)
void
指定されたイベントのタイムスタンプに基づいて、ログに保存するデルタ utc 時間を計算します。
IsFinalDestinationForImportance(ImportanceType inImportance) const
bool
指定された重要度のイベントがこのバッファから破棄されるかどうかを決定するヘルパー関数。
LoadEvents(TLVReader & reader)
RemoveEvent(size_t aNumEvents)
void
SerializeEvents(TLVWriter & writer)
VendEventID(void)
イベントの重要度に基づいて新しいイベント ID を割り当て、カウンタがある場合は先に進めます。

静的パブリック関数

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

パブリック属性

mBuffer

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

イベントを TLV 表現に格納する基盤となる TLV バッファ。

mEventIdCounter

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

mFirstEventID

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

この重要度に関してロギング サブシステムに保存される最初のイベント ID。

mFirstEventTimestamp

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

このバッファ内の最初のイベントのタイムスタンプ。

mFirstEventUTCTimestamp

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

このバッファ内の最初のイベントの UTC タイムスタンプ。

mImportance

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

バッファは、この重要度のイベントを格納する最後のバケットです。

重要度の低いイベントは、このバッファを使い切ると破棄されます

mLastEventID

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

この重要度のために使用された最後のイベント ID。

mLastEventTimestamp

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

このバッファ内の最後のイベントのタイムスタンプ。

mLastEventUTCTimestamp

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

このバッファ内の最後のイベントの UTC タイムスタンプ。

mNext

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

より重要なイベントを格納するポインタ CircularEventBuffer

mNonPersistedCounter

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

mPrev

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

重要度の低いイベントを格納するポインタ CircularEventBuffer

mUTCInitialized

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

このバッファで UTC タイムスタンプが初期化されているかどうかを示します。

パブリック関数

AddEvent

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

イベントのタイムスタンプを指定して、ログに保存するデルタ時間を計算する。

詳細
パラメータ
inEventTimestamp
イベントのタイムスタンプ。
戻り値
int32_t イベントをエンコードする時間デルタ。

AddEventUTC

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

指定されたイベントのタイムスタンプに基づいて、ログに保存するデルタ utc 時間を計算します。

詳細
パラメータ
inEventTimestamp
イベントの utc タイムスタンプ
戻り値
int64_t イベントをエンコードする時間のデルタ。

CircularEventBuffer

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

CircularEventBuffer(内部 API)のコンストラクタ。

詳細
パラメータ
[in] inBuffer
イベント ストレージに使用する実際のストレージ。
[in] inBufferLength
inBuffer の長さ(バイト単位)。
[in] inPrev
優先度の低いイベントを格納する CircularEventBuffer へのポインタ。
[in] inNext
優先度の高いイベントを格納する CircularEventBuffer へのポインタ。
戻り値

IsFinalDestinationForImportance

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

指定された重要度のイベントがこのバッファから破棄されるかどうかを決定するヘルパー関数。

詳細
パラメータ
[in] inImportance
イベントの重要性。
戻り値
true
キュー オーバーフローの結果として、イベントはこのバッファから削除されます。
false
イベントは次のキューに進められます。

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
)

イベントの重要度に基づいて新しいイベント ID を割り当て、カウンタがある場合は先に進めます。

詳細
戻り値
この重要度のイベント ID。

静的パブリック関数

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
)