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
)