Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

nl :: 짜다:: 프로필 :: DataManagement_Current :: CircularEventBuffer

#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는 A의 이벤트를 저장하는 버퍼 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는 A의 이벤트를 저장하는 버퍼 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 타임 스탬프입니다.

m 중요

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를 할당하고 카운터가있는 경우 앞으로 이동합니다.

세부
보고
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
)