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
|
|
mEventIdCounter
|
|
mFirstEventID
|
這項重要性儲存在記錄子系統中的第一個事件 ID。
|
mFirstEventTimestamp
|
這個緩衝區中第一個事件的時間戳記。
|
mFirstEventUTCTimestamp
|
這個緩衝區中第一個事件的世界標準時間時間戳記。
|
mImportance
|
緩衝區是此重要性事件的最終值區。
|
mLastEventID
|
已針對這項重要性更新最終事件 ID。
|
mLastEventTimestamp
|
這個緩衝區中最後一個事件的時間戳記。
|
mLastEventUTCTimestamp
|
這個緩衝區中最後一個事件的世界標準時間時間戳記。
|
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)
|
公開屬性
mBuffer
nl::Weave::TLV::WeaveCircularTLVBuffer nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::mBuffer
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
這個緩衝區中第一個事件的世界標準時間時間戳記。
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
這個緩衝區中最後一個事件的世界標準時間時間戳記。
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 )
提供事件時間戳記,計算儲存在記錄中的差異時間。
詳細資料 | |||
---|---|---|---|
參數 |
|
||
傳回 |
int32_t 為事件進行編碼的時間差異。
|
AddEventUTC
void nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::AddEventUTC( utc_timestamp_t inEventTimestamp )
提供事件的時間戳記,計算要儲存在記錄中的 Delta utc 時間。
詳細資料 | |||
---|---|---|---|
參數 |
|
||
傳回 |
int64_t 為事件進行編碼的時間差異。
|
CircularEventBuffer
nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::CircularEventBuffer( uint8_t *inBuffer, size_t inBufferLength, CircularEventBuffer *inPrev, CircularEventBuffer *inNext )
CircularEventBuffer (內部 API) 的建構函式。
詳細資料 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回 |
IsFinalDestinationForImportance
bool nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer::IsFinalDestinationForImportance( ImportanceType inImportance ) const
這個輔助函式可判斷指定重要性事件是否已從這個緩衝區中捨棄。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
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;如果有,則推進計數器。
詳細資料 | |
---|---|
傳回 |
event_id_t 事件 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 )