透過集合功能整理內容 你可以依據偏好儲存及分類內容。

NL::編織::簡介:: DataManagement_Current::循環事件緩衝區

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

內部事件緩衝器,圍繞建NL ::紡織品:: 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
給定事件的時間戳,計算 delta 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)

公共屬性

緩衝區

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

底層TLV緩衝存儲在事件TLV表示。

事件編號計數器

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

mFirstEventID

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

為此重要性存儲在日誌子系統中的第一個事件 ID。

mFirstEvent時間戳

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

此緩衝區中第一個事件的時間戳。

mFirstEventUTC時間戳

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

此緩衝區中第一個事件的 UTC 時間戳。

重要性

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

緩衝區是這種重要事件的最後一個存儲桶。

當它們被撞出這個緩衝區時,不太重要的事件會被丟棄

上次事件ID

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

為這一重要性提供的最後一個事件 ID。

mLastEventTimestamp

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

此緩衝區中最後一個事件的時間戳。

mLastEventUTC時間戳

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

此緩衝區中最後一個事件的 UTC 時間戳。

下一個

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

指針CircularEventBuffer存儲事件更重要的事件。

非持久計數器

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

上一個

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

指針CircularEventBuffer存儲事件不太重要的事件。

mUTC初始化

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

指示是否在此緩衝區中初始化 UTC 時間戳。

公共職能

添加事件

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

給定事件的時間戳,計算要存儲在日誌中的增量時間。

細節
參數
inEventTimestamp
事件時間戳。
退貨
int32_t 為事件編碼的時間增量。

添加事件UTC

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

給定事件的時間戳,計算 delta utc 時間以存儲在日誌中。

細節
參數
inEventTimestamp
事件的 UTC 時間戳
退貨
int64_t 為事件編碼的時間增量。

循環事件緩衝區

 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存儲較高優先級的事件。
退貨

重要的最終目的地

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

一個輔助函數,用於確定是否從此緩衝區中刪除指定重要性的事件。

細節
參數
[in] inImportance
事件的重要性。
返回值
true
由於隊列溢出,該事件將從該緩衝區中刪除。
false
該事件將被撞到下一個隊列。

加載事件

WEAVE_ERROR nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::LoadEvents(
  TLVReader & reader
)

移除事件

void nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::RemoveEvent(
  size_t aNumEvents
)

序列化事件

WEAVE_ERROR nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::SerializeEvents(
  TLVWriter & writer
)

銷售事件ID

event_id_t nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::VendEventID(
  void
)

根據事件重要性分配一個新的事件 ID,如果有,則推進計數器。

細節
退貨
event_id_t 此重要性的事件 ID。

公共靜態函數

獲取下一個緩衝區函數

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