nl:: 매트:: 프로필:: DataManagement_Current
이 네임스페이스는 현재 프로덕션 용도로 지원되는 Weave 데이터 관리 (WDM) 프로필용 Weave 내의 모든 인터페이스를 포함합니다.
요약
Typedef |
|
---|---|
CommandFlags
|
typedef |
DataVersion
|
typedefuint64_t
|
EventProcessor
|
typedefvoid *
|
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
|
typedef 이벤트 로깅 하위 시스템에 eventData 요소를 제공하는 함수입니다. |
FetchExternalEventsFunct)(EventLoadOutContext *aContext)
|
typedef 이벤트 데이터를 가져오는 플랫폼 콜백의 함수 프로토타입입니다. |
GenericTraitSinkCatalog
|
typedef |
GenericTraitSourceCatalog
|
typedef |
ImportanceType
|
typedef 로그 항목의 중요도입니다. |
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
|
typedefvoid(*
특성 핸들 반복기 |
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
|
typedef |
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
|
typedefvoid(*
외부 이벤트가 원격 구독자에게 제공될 때 호출되는 콜백의 함수 프로토타입. |
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
|
typedefvoid(*
외부 이벤트가 버퍼에서 제거될 때 호출되는 콜백의 함수 프로토타입. |
PropertyDictionaryKey
|
typedefuint16_t
|
PropertyPathHandle
|
typedefuint32_t
PropertyPathHandle은 특성 인스턴스의 루트를 기준으로 WDM 경로의 고유한 32비트 숫자 해시입니다. |
PropertySchemaHandle
|
typedefuint16_t
|
SchemaVersion
|
typedefuint16_t
|
SingleResourceSinkTraitCatalog
|
typedef |
SingleResourceSourceTraitCatalog
|
typedef |
TimestampType
|
typedef EventOptions에 포함된 타임스탬프의 유효성과 유형입니다. |
TraitDataHandle
|
typedefuint16_t
|
duration_t
|
nl::Weave::Profiles::DataManagement_Current::duration_tuint32_t
기간을 밀리초 단위로 설명하는 데 사용되는 유형입니다. |
event_id_t
|
nl::Weave::Profiles::DataManagement_Current::event_id_tuint32_t
이벤트 ID의 유형입니다. |
timestamp_t
|
nl::Weave::Profiles::DataManagement_Current::timestamp_tuint32_t
타임스탬프를 밀리초 단위로 설명하는 데 사용되는 유형입니다. |
utc_timestamp_t
|
nl::Weave::Profiles::DataManagement_Current::utc_timestamp_tuint64_t
UTC 타임스탬프를 밀리초 단위로 설명하는 데 사용되는 유형입니다. |
변수 |
|
---|---|
sInstance
|
|
sLogFileName = "topazlog"[]
|
char
|
함수 |
|
---|---|
BdxErrorHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, WEAVE_ERROR aErrorCode)
|
void
|
BdxGetBlockHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aIsLastBlock)
|
void
|
BdxRejectHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aReport)
|
void
|
BdxSendAcceptHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::BulkDataTransfer::SendAccept *aSendAcceptMsg)
|
|
BdxXferDoneHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer)
|
void
|
BdxXferErrorHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aXferError)
|
void
|
CreatePropertyPathHandle(PropertySchemaHandle aPropertyPathSchemaId, PropertyDictionaryKey aPropertyPathDictionaryKey)
|
|
EventWriterTLVCopy(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
이미 직렬화된 이벤트 데이터 요소를 이벤트 버퍼로 변환하는 도우미 함수입니다.
|
GetPropertyDictionaryKey(PropertyPathHandle aHandle)
|
PropertyDictionaryKey
|
GetPropertySchemaHandle(PropertyPathHandle aHandle)
|
PropertySchemaHandle
|
IsNullPropertyPathHandle(PropertyPathHandle aHandle)
|
bool
|
IsRootPropertyPathHandle(PropertyPathHandle aHandle)
|
bool
|
IsVersionNewer(const DataVersion & aVersion, const DataVersion & aReference)
|
bool
버전을 비교하기 위한 알고리즘의 최적화된 구현입니다.
|
IsVersionNewerOrEqual(const DataVersion & aVersion, const DataVersion & aReference)
|
bool
|
Locate(TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog)
|
TraitDataSink 카탈로그에서 TraitUpdatableDataSink를 찾는 유틸리티 함수입니다.
|
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData)
|
사전 직렬화된 양식에서 이벤트를 로깅합니다.
|
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions)
|
사전 직렬화된 양식에서 추가 옵션과 함께 이벤트를 로깅합니다.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData)
|
콜백을 통해 이벤트를 로깅합니다.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
|
옵션과 함께 콜백을 통해 이벤트를 로깅합니다.
|
LogFreeform(ImportanceType inImportance, const char *inFormat, ...)
|
LogFreeform은 기본 이벤트 스트림에 자유 형식 문자열을 내보냅니다.
|
LookForElementWithTag(const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader)
|
|
PlainTextWriter(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
자유 형식의 텍스트를 디버그 이벤트로 내보내기 위한 도우미 함수입니다.
|
PlainTextWriter(::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
자유 형식의 텍스트를 디버그 이벤트로 내보내기 위한 도우미 함수입니다.
|
operator!=(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
|
bool
|
operator==(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
|
bool
|
Union |
|
---|---|
nl:: |
애플리케이션 세트 시스템 또는 UTC 타임스탬프를 제공하는 합집합입니다. |
열거형
100명
@100
kNestDebug_StringLogEntryEvent의 태그
속성 | |
---|---|
kTag_Message
|
실제 디버그 메시지가 포함된 문자열입니다. |
kTag_Region
|
로그 리전(로그 메시지와 관련된 모듈)을 나타내는 부호 없는 32비트 |
@101
@101
kNestDebug_TokenizedLogEntryEvent의 태그
속성 | |
---|---|
kTag_Args
|
토큰 메시지와 함께 전송할 인수의 배열입니다. |
kTag_Token
|
토큰에 해당하는 32비트의 부호 없는 값입니다. |
@102
@102
지속적인 이벤트 태그
@104
@104
WDM 프로필 메시지 유형입니다.
이 값은 데이터 관리 사양에 명시되어 있습니다.
@105
@105
WDM 관련 상태 코드.
@147
@147
@95
@95
로깅 설정 태그입니다.
속성 | |
---|---|
kTag_CurrentImportance
|
현재 로깅 중요도에 따른 값은 ImportanceType 유형입니다. |
kTag_ImportanceExpiration
|
현재 승격된 로깅 설정이 기본값으로 되돌아가는 시간(UTC 기준)입니다. |
kTag_LoggingDestination
|
로그 업로드 위치를 나타내는 URL입니다. |
kTag_MaximumLogUploadInterval
|
자동으로 트리거되는 로그 업로드 시도 사이의 최대 기간(초)입니다. |
kTag_MinimumLogUploadInterval
|
자동으로 트리거되는 로그 업로드 시도 간의 최소 기간(초)입니다. |
kTag_TraitLoggingImportance
|
선택한 프로필을 선택적으로 상위 로깅 수준에 매핑합니다(선택사항). 배열의 각 요소는 형태 (profile,path,loggingimportance)를 취하여 시스템 하위 집합에서 로깅을 선택적으로 개선합니다. 승격된 프로필 로깅 우선순위는 로깅 우선순위가 currentImportance의 우선순위를 초과할 때만 중요합니다. currentImportance와 동일한 만료 시간이 적용됩니다. |
@96
@96
로깅 기능을 위한 태그입니다.
속성 | |
---|---|
kTag_LogBufferingCapacity
|
로그 버퍼링 용량을 설명하는 32비트 부호 없는 정수(kB)입니다. |
kTag_LoggingVolume
|
예상되는 로깅 볼륨을 kB/일 단위로 설명하는 32비트의 부호 없는 정수입니다. |
kTag_SupportedLogTransports
|
지원되는 로그 전송 메커니즘의 배열입니다. |
kTag_SupportsNonVolatileStorage
|
기기에서 비휘발성 로그 저장소를 지원하는지 여부를 나타내는 부울 값. |
kTag_SupportsPerTraitVerbosity
|
기기가 속성별 상세 출력 설정을 지원하는지 여부를 나타내는 부울 값. |
kTag_SupportsStreaming
|
기기에서 스트리밍 로그를 지원하는지 여부를 나타내는 부울 값 |
@97
@97
이벤트 메타데이터 태그입니다.
태그 값의 전체 시맨틱스는 이벤트 디자인 사양을 참조하세요.
속성 | |
---|---|
kTag_EventData
|
선택사항입니다. 이벤트 데이터 자체입니다. 비어 있으면 기본적으로 빈 구조가 사용됩니다. |
kTag_EventDeltaSystemTime
|
WDM 내부 태그, 인코딩에서 이전 이벤트와의 시차 |
kTag_EventDeltaUTCTime
|
WDM 내부 태그, 인코딩에서 이전 이벤트와의 시차 |
kTag_EventID
|
이벤트의 시퀀스 번호이며 부호 없는 64비트로 표현됩니다. 순차적이어야 하며 시퀀스에서 점프는 이벤트 격차를 나타냅니다. |
kTag_EventImportance
|
이벤트의 중요도입니다. |
kTag_EventResourceID
|
선택사항입니다. 값은 이벤트와 관련된 리소스의 ID입니다. 생략하면 값이 kTag_EventSource의 값과 동일합니다. |
kTag_EventSource
|
이벤트를 생성한 기기의 NodeID입니다. |
kTag_EventSystemTimestamp
|
선택사항입니다. 이벤트의 시스템 타임스탬프(밀리초)입니다. |
kTag_EventTraitInstanceID
|
선택사항이며, 이벤트를 생성한 특성의 인스턴스입니다. |
kTag_EventTraitProfileID
|
필수. 특성의 프로필 ID와 동일한 32비트의 부호 없는 정수입니다. |
kTag_EventType
|
필수. 이 유형의 이벤트에 대한 wdl.event.id와 동일한 16비트의 부호 없는 정수입니다. |
kTag_EventUTCTimestamp
|
선택사항입니다. 이벤트의 UTC 타임스탬프입니다. |
kTag_ExternalEventStructure
|
외부 이벤트의 내부 태그입니다. 전선을 통해 전송되지 않으며 Weave 라이브러리 외부에서 사용해서는 안 됩니다. |
kTag_RelatedEventID
|
선택사항입니다. 이 이벤트와 연결된 이벤트의 ID입니다. 생략하면 값은 kTag_EventID 값과 같습니다. |
kTag_RelatedEventImportance
|
선택사항입니다. 관련 이벤트의 중요도입니다. 생략하면 값은 kTag_EventImportance의 값과 동일합니다. |
@98
@98
디버그 특성의 프로필 정의입니다.
@99
@99
Nest Debug 특성의 이벤트 유형입니다.
속성 | |
---|---|
kNestDebug_StringLogEntryEvent
|
자유 형식 문자열 디버그 메시지에 대한 이벤트입니다. |
kNestDebug_TokenizedHeaderEntryEvent
|
토큰화된 헤더 정보를 전달하기 위한 이벤트입니다. |
kNestDebug_TokenizedLogEntryEvent
|
토큰화된 디버그 메시지에 대한 이벤트입니다. |
CommandFlags
CommandFlags
속성 | |
---|---|
kCommandFlag_ActionTimeValid
|
작업 시간이 유효한 경우 설정합니다. |
kCommandFlag_ExpiryTimeValid
|
만료 시간이 유효한 시점을 설정합니다. |
kCommandFlag_InitiationTimeValid
|
init 시간이 유효할 때 설정합니다. |
kCommandFlag_IsOneWay
|
명령어가 일방통행인 시점을 설정합니다. |
kCommandFlag_MustBeVersionValid
|
버전 필드가 유효한 경우에 설정합니다. |
중요도 유형
ImportanceType
로그 항목의 중요도입니다.
중요도는 이벤트가 실제로 로그에 기록되기 전에 이벤트를 필터링하는 방법으로 사용됩니다. 이벤트가 로그에 저장되면 로그에서 이벤트를 영구 삭제하는 추가 조항이 없습니다. 중요도 수준은 이벤트 스토리지의 우선순위를 지정하는 역할을 합니다. 중요도가 높은 이벤트가 전체 버퍼에 추가되면 중요도 (및 연령)에 따라 이벤트가 수용됩니다. 따라서 중요도 수준에는 상대적 값만 있습니다. 시스템에서 중요도 수준을 하나만 사용하는 경우 이벤트는 링 버퍼와 같이 연령순으로만 삭제됩니다.
속성 | |
---|---|
Debug
|
디버그 중요도는 시스템 개발자에게 유용한 로그 항목을 나타내며 개발 단계에서 주로 사용됩니다. 디버그 중요도 로그는 제한된 기기의 대역폭이나 전력 예산에 반영되지 않습니다. 따라서 프로덕션 시스템에서 제한된 기간 동안만 사용되어야 합니다. |
Info
|
정보 중요도는 실행 중인 시스템에 대한 추가 정보 및 진단을 제공하는 로그 항목을 나타냅니다. 정보 로깅 수준은 프로덕션 시스템에서 장기간 사용되거나 필드 시험에서 기본 로그 수준으로 사용될 수 있습니다. 제한된 기기에서는 정보 수준으로 기록된 항목이 대역폭 및 메모리 예산에서 고려되어야 하지만 전력 예산에는 반영되지 않아야 합니다. |
Production
|
프로덕션 중요도는 Nest 생태계의 지속적인 모니터링 및 유지보수에 사용되는 로그 항목을 나타냅니다. 제한된 기기에서는 프로덕션 중요도를 사용하여 기록된 항목은 항상 기기에서 로깅되고 오프로드될 것으로 예상되므로 전력 및 메모리 예산에서 고려해야 합니다. |
ProductionCritical
|
프로덕션 관련 중요도는 손실이 고객 대면 기능에 직접적인 영향을 미치는 이벤트를 나타냅니다. 애플리케이션은 프로덕션에 중요한 이벤트 손실을 사용하여 시스템 오류를 나타낼 수 있습니다. 제한된 기기에서는 프로덕션에서 중요한 중요도로 로깅된 항목은 항상 기기에서 로깅되고 오프로드될 것으로 예상되므로 전력 및 메모리 예산에서 고려해야 합니다. |
LoggingManagementStates
LoggingManagementStates
속성 | |
---|---|
kLoggingManagementState_Holdoff
|
로그 오프로드가 완료되었습니다. 홀드오프가 만료될 때까지 로그를 다시 시작하지 않습니다. |
kLoggingManagementState_Idle
|
진행 중인 로그 오프로드가 없습니다. 로그 오프로드는 제약 조건 없이 시작될 수 있습니다. |
kLoggingManagementState_InProgress
|
로그 오프로드가 진행 중입니다. |
kLoggingManagementState_Shutdown
|
로깅 작업을 수행할 수 없습니다. |
Typedef
CommandFlags
enum nl::Weave::Profiles::DataManagement_Current::CommandFlags CommandFlags
데이터 버전
uint64_t DataVersion
이벤트 프로세서
void * EventProcessor
이벤트 작성기 기능
WEAVE_ERROR(* EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
이벤트 로깅 하위 시스템에 eventData 요소를 제공하는 함수입니다.
이 유형의 함수는 이벤트 로깅 하위 시스템에 eventData 요소를 제공해야 합니다. 이 유형의 함수는 이벤트 하위 시스템이 모든 필수 이벤트 메타데이터를 생성한 후에 호출됩니다. 이 함수는 kTag_EventData 태그가 지정된 단일 TLV 요소를 내보내는 nl::Weave::TLVWriter 객체로 호출됩니다. 이 요소의 값은 이벤트 데이터를 포함하는 구조여야 합니다. 이벤트 데이터 자체는 컨텍스트 태그를 사용하여 구성해야 합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
PlainTextWriter
EventWriterTLVCopy
FetchExternalEvents함수
WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)
이벤트 데이터를 가져오는 플랫폼 콜백의 함수 프로토타입입니다.
FetchEventsSince와 마찬가지로 이 가져오기 함수는 LoadEvents.mLastEventID를 통해 EventLoadOutContext.mBeginEventID에서 모든 이벤트를 반환합니다.
컨텍스트 포인터는 FetchExternalEventsContext 유형입니다. 여기에는 EventLoadOutContext가 있으며 TLV 형식의 일부 도우미 변수가 포함되어 있습니다. 또한 콜백 등록 시 생성된 ExternalEvents 구조체에 대한 포인터도 포함됩니다. 콜백의 이벤트 ID 범위를 지정합니다.
함수에서 반환될 때 EventLoadOutContext.mCurrentEventID는 TLV 버퍼에 기록되지 않은 첫 번째 이벤트 ID를 반영해야 합니다. 플랫폼은 이벤트 헤더와 데이터를 TLV 작성기에 EventLogging 프로토콜에서 지정된 올바른 형식으로 작성해야 합니다. 플랫폼은 이벤트 및 타임스탬프의 고유성을 유지해야 합니다.
모든 TLV 오류는 더 높은 수준으로 전파되어야 합니다. 예를 들어 버퍼의 공간이 부족하면 전송된 메시지가 트리거되고 그 뒤에 이벤트 ID가 남아 있는 콜백이 다시 호출됩니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
반환 값 |
|
GenericTraitSink카탈로그
GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog
GenericTraitSourceCatalog
GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog
중요도 유형
enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType
로그 항목의 중요도입니다.
중요도는 이벤트가 실제로 로그에 기록되기 전에 이벤트를 필터링하는 방법으로 사용됩니다. 이벤트가 로그에 저장되면 로그에서 이벤트를 영구 삭제하는 추가 조항이 없습니다. 중요도 수준은 이벤트 스토리지의 우선순위를 지정하는 역할을 합니다. 중요도가 높은 이벤트가 전체 버퍼에 추가되면 중요도 (및 연령)에 따라 이벤트가 수용됩니다. 따라서 중요도 수준에는 상대적 값만 있습니다. 시스템에서 중요도 수준을 하나만 사용하는 경우 이벤트는 링 버퍼와 같이 연령순으로만 삭제됩니다.
반복기 콜백
void(* IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
특성 핸들 반복기
LoggingBufferHandler
WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
NotificationExternalEventsDeliveredFunct
void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
외부 이벤트가 원격 구독자에게 제공될 때 호출되는 콜백의 함수 프로토타입.
외부 이벤트가 원격 구독자에게 전달되면 엔진은 외부 이벤트 제공업체에 알림을 제공합니다. 콜백에는 마지막으로 전송된 ID의 이벤트와 이벤트를 수신한 구독자 ID가 포함됩니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
NotificationExternalEventsEvictedFunct
void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
외부 이벤트가 버퍼에서 제거될 때 호출되는 콜백의 함수 프로토타입.
외부 이벤트 객체가 아웃바운드 메시지 버퍼에서 제거되면 엔진은 외부 이벤트 제공업체에 알림을 제공합니다. 콜백에는 삭제될 외부 이벤트가 포함되어 있습니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
속성 사전 키
uint16_t PropertyDictionaryKey
속성 경로 핸들
uint32_t PropertyPathHandle
PropertyPathHandle은 특성 인스턴스의 루트를 기준으로 WDM 경로의 고유한 32비트 숫자 해시입니다.
다음과 같은 두 부분으로 구성됩니다.
- 스키마의 정적 부분에 매핑되는 낮은 16비트 숫자입니다.
- 하위 16비트가 사전 요소 내의 경로를 참조하는 경우 상위 16비트 숫자가 해당 요소와 연결된 사전 키를 나타냅니다. 하위 16비트 사전이 아닌 요소를 참조하는 경우 상위 16비트는 0이어야 합니다.
몇 가지 특성은 다음과 같습니다.
- 모든 특성에는 자체 속성 경로 핸들 공간이 있습니다.
- 모든 고유한 WDM 하위 경로 경로는 비슷하게 고유한 PropertyPathHandle을 갖습니다.
- PropertyPathHandles는 IDL의 특성 컴파일러에 의해 자동으로 생성되고 (지금은 수동으로 실행) 해당 특성 헤더 파일의 열거형 목록으로 표시됩니다.
- 이 구조를 사용하면 애플리케이션 로직이 WDM 경로를 직접 처리할 필요가 없습니다. 오히려 WDM과의 상호작용은 이러한 핸들을 통해서만 수행됩니다.
- 구체적인 의미의 경로 핸들에는 2개의 예약된 값이 있습니다.
- 0은 'NULL' 핸들을 나타냅니다.
- 1은 특성 인스턴스의 루트를 가리키는 핸들을 나타냅니다.
속성 스키마 핸들
uint16_t PropertySchemaHandle
스키마 버전
uint16_t SchemaVersion
SingleResourceSinkTrait카탈로그
SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog
단일 리소스 소스TraitCatalog
SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog
타임스탬프 유형
enum nl::Weave::Profiles::DataManagement_Current::TimestampType TimestampType
EventOptions에 포함된 타임스탬프의 유효성과 유형입니다.
TraitDataHandle
uint16_t TraitDataHandle
재생 시간_t
uint32_t duration_t
기간을 밀리초 단위로 설명하는 데 사용되는 유형입니다.
이벤트_id_t
uint32_t event_id_t
이벤트 ID의 유형입니다.
timestamp_t
uint32_t timestamp_t
타임스탬프를 밀리초 단위로 설명하는 데 사용되는 유형입니다.
utc_timestamp_t
uint64_t utc_timestamp_t
UTC 타임스탬프를 밀리초 단위로 설명하는 데 사용되는 유형입니다.
변수
인스턴스
LoggingManagement sInstance
로그 파일 이름
char sLogFileName[] = "topazlog"
함수
BdxErrorHandler
void BdxErrorHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, WEAVE_ERROR aErrorCode )
BdxGetBlockHandler
void BdxGetBlockHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aIsLastBlock )
BdxRejectHandler
void BdxRejectHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aReport )
BdxSendAcceptHandler
WEAVE_ERROR BdxSendAcceptHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::BulkDataTransfer::SendAccept *aSendAcceptMsg )
BdxXferDoneHandler
void BdxXferDoneHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer )
BdxXferErrorHandler 구현
void BdxXferErrorHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aXferError )
CreatePropertyPathHandle
PropertyPathHandle CreatePropertyPathHandle( PropertySchemaHandle aPropertyPathSchemaId, PropertyDictionaryKey aPropertyPathDictionaryKey )
이벤트 작성기TLVCopy
WEAVE_ERROR EventWriterTLVCopy( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
이미 직렬화된 이벤트 데이터 요소를 이벤트 버퍼로 변환하는 도우미 함수입니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
GetPropertyDictionaryKey
PropertyDictionaryKey GetPropertyDictionaryKey( PropertyPathHandle aHandle )
GetPropertySchemaHandle
PropertySchemaHandle GetPropertySchemaHandle( PropertyPathHandle aHandle )
IsNullPropertyPathHandle
bool IsNullPropertyPathHandle( PropertyPathHandle aHandle )
IsRootPropertyPathHandle
bool IsRootPropertyPathHandle( PropertyPathHandle aHandle )
IsVersionNewer
bool IsVersionNewer( const DataVersion & aVersion, const DataVersion & aReference )
버전을 비교하기 위한 알고리즘의 최적화된 구현입니다.
클라이언트 측에서는 서비스에서 받은 버전이 항상 최신 버전입니다.
IsVersionNewerOrEqual
bool IsVersionNewerOrEqual( const DataVersion & aVersion, const DataVersion & aReference )
위치 확인
TraitUpdatableDataSink * Locate( TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog )
TraitDataSink 카탈로그에서 TraitUpdatableDataSink를 찾는 유틸리티 함수입니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
TraitUpdatableDataSink에 대한 포인터로, 핸들이 없거나 업데이트 불가능한 TraitDataSink를 가리키는 경우 NULL입니다.
|
로그 이벤트
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData )
사전 직렬화된 양식에서 이벤트를 로깅합니다.
이 함수는 nl::Weave::TLV::TLVReader로 표현되는 이벤트를 로깅합니다. 이는 nl::Weave::TLV::TLVReader를 기반으로 하는 스토리지에 이벤트 데이터 표현이 이미 직렬화되어 있음을 의미합니다. nl::Weave::TLV::TLVReader에는 하나 이상의 데이터 요소가 포함되어야 하며, 요소는 구조여야 합니다. 리더에서 읽은 첫 번째 요소는 이벤트 데이터로 취급되어 이벤트 로그에 저장됩니다. 이벤트 데이터에는 inProfileID 및 inEventType으로 식별되는 스키마 내에서 해석할 컨텍스트 태그가 포함되어야 합니다(MUST). 첫 번째 요소의 태그는 무시되며, 이벤트 로깅 시스템이 eventData 태그로 대체합니다.
inImportance가 LoggingConfiguration에 지정된 로깅 기준을 초과하면 이벤트가 로깅됩니다. 이벤트의 중요도가 현재 기준을 충족하지 않는 경우 제외되고 함수는 결과 이벤트 ID로 0
를 반환합니다.
이 호출 변형은 모든 기본 이벤트 옵션을 암시적으로 지정합니다.
- 호출은 호출 시점의 현재 시간으로 타임스탬프가 지정됩니다.
- 전화를 거는 기기와 관련된 이벤트로 표시됩니다.
- 다른 이벤트와 관련 없는 독립형 이벤트입니다.
- 일정이 긴급하지 않은 것으로 표시됨
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
event_id_t 이벤트가 로그에 기록된 경우에는 이벤트 ID이고, 그렇지 않으면 0입니다.
|
로그 이벤트
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions )
사전 직렬화된 양식에서 추가 옵션과 함께 이벤트를 로깅합니다.
이 함수는 nl::Weave::TLV::TLVReader로 표현되는 이벤트를 로깅합니다. 이는 nl::Weave::TLV::TLVReader를 기반으로 하는 스토리지에 이벤트 데이터 표현이 이미 직렬화되어 있음을 의미합니다. nl::Weave::TLV::TLVReader에는 하나 이상의 데이터 요소가 포함되어야 하며, 요소는 구조여야 합니다. 리더에서 읽은 첫 번째 요소는 이벤트 데이터로 취급되어 이벤트 로그에 저장됩니다. 이벤트 데이터에는 inProfileID 및 inEventType으로 식별되는 스키마 내에서 해석할 컨텍스트 태그가 포함되어야 합니다(MUST). 첫 번째 요소의 태그는 무시되며, 이벤트 로깅 시스템이 eventData 태그로 대체합니다.
inImportance가 LoggingConfiguration에 지정된 로깅 기준을 초과하면 이벤트가 로깅됩니다. 이벤트의 중요도가 현재 기준을 충족하지 않는 경우 제외되고 함수는 결과 이벤트 ID로 0
를 반환합니다.
이 호출의 변형은 호출자가 EventOptions
의 조합을 설정하도록 허용합니다.
- 타임스탬프, 호출 시점의 현재 시간이 0이면
- 이벤트 소스 (이벤트 소스 및 특성 ID)의 "루트 섹션입니다. NULL인 경우 현재 기기가 기본적으로 사용됩니다. 이벤트는 호출하는 기기와 관련된 것으로 표시되며,
- 관련 이벤트 ID를 그룹화하기 위한 관련 이벤트 ID입니다. 관련 이벤트 ID가 0이면 다른 이벤트와 관련 없는 것으로 표시됩니다.
- 긴급성, 기본적으로 긴급하지 않음.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 |
event_id_t 이벤트가 로그에 기록된 경우에는 이벤트 ID이고, 그렇지 않으면 0입니다.
|
로그 이벤트
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData )
콜백을 통해 이벤트를 로깅합니다.
이 함수는 EventWriterFunct로 표현되는 이벤트와 앱별 appData
컨텍스트를 로깅합니다. 이 함수는 이벤트 메타데이터를 작성하고, nl::Weave::TLV::TLVWriter 참조 및 inAppData
컨텍스트와 함께 inEventWriter
를 호출하여 사용자 코드가 이벤트 데이터를 이벤트 로그에 직접 내보낼 수 있도록 합니다. 이벤트 로깅 형식은 이벤트 데이터가 타겟 버퍼로 직접 직렬화되므로 메모리 소비를 최소화합니다. 이벤트 데이터에는 inProfileID
과 inEventType
로 식별되는 스키마 내에서 해석할 컨텍스트 태그가 포함되어야 합니다(MUST). 첫 번째 요소의 태그는 무시되며, 이벤트 로깅 시스템이 eventData 태그로 대체합니다.
inImportance가 LoggingConfiguration에 지정된 로깅 기준을 초과하면 이벤트가 로깅됩니다. 이벤트의 중요도가 현재 기준을 충족하지 않는 경우 제외되고 함수는 결과 이벤트 ID로 0
를 반환합니다.
이 호출 변형은 모든 기본 이벤트 옵션을 암시적으로 지정합니다.
- 호출은 호출 시점의 현재 시간으로 타임스탬프가 지정됩니다.
- 전화를 거는 기기와 관련된 이벤트로 표시됩니다.
- 다른 이벤트와 관련 없는 독립형 이벤트입니다.
- 일정이 긴급하지 않은 것으로 표시됨
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 |
event_id_t 이벤트가 로그에 기록된 경우에는 이벤트 ID이고, 그렇지 않으면 0입니다.
|
로그 이벤트
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions )
옵션과 함께 콜백을 통해 이벤트를 로깅합니다.
이 함수는 EventWriterFunct로 표현되는 이벤트와 앱별 appData
컨텍스트를 로깅합니다. 이 함수는 이벤트 메타데이터를 작성하고, nl::Weave::TLV::TLVWriter 참조 및 inAppData
컨텍스트와 함께 inEventWriter
를 호출하여 사용자 코드가 이벤트 데이터를 이벤트 로그에 직접 내보낼 수 있도록 합니다. 이벤트 로깅 형식은 이벤트 데이터가 타겟 버퍼로 직접 직렬화되므로 메모리 소비를 최소화합니다. 이벤트 데이터에는 inProfileID
과 inEventType
로 식별되는 스키마 내에서 해석할 컨텍스트 태그가 포함되어야 합니다(MUST). 첫 번째 요소의 태그는 무시되며, 이벤트 로깅 시스템이 eventData 태그로 대체합니다.
inImportance가 LoggingConfiguration에 지정된 로깅 기준을 초과하면 이벤트가 로깅됩니다. 이벤트의 중요도가 현재 기준을 충족하지 않는 경우 제외되고 함수는 결과 이벤트 ID로 0
를 반환합니다.
이 호출의 변형은 호출자가 EventOptions
의 조합을 설정하도록 허용합니다.
- 타임스탬프, 호출 시점의 현재 시간이 0이면
- 이벤트 소스 (이벤트 소스 및 특성 ID)의 "루트 섹션입니다. NULL인 경우 현재 기기가 기본적으로 사용됩니다. 이벤트는 호출하는 기기와 관련된 것으로 표시되며,
- 관련 이벤트 ID를 그룹화하기 위한 관련 이벤트 ID입니다. 관련 이벤트 ID가 0이면 다른 이벤트와 관련 없는 것으로 표시됩니다.
- 긴급성, 기본적으로 긴급하지 않음.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 |
event_id_t 이벤트가 로그에 기록된 경우에는 이벤트 ID이고, 그렇지 않으면 0입니다.
|
로그 자유 형식
event_id_t LogFreeform( ImportanceType inImportance, const char *inFormat, ... )
LogFreeform은 기본 이벤트 스트림에 자유 형식 문자열을 내보냅니다.
문자열은 디버그 이벤트 구조에 캡슐화되며 로깅된 다른 문자열과 구조적으로 동일합니다. 이벤트 프로필 ID는 Nest Debug 이벤트의 ID이고 이벤트 유형은 kNestDebug_StringLogEntryEvent
입니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
event_id_t 이벤트가 로그에 기록된 경우에는 이벤트 ID이고, 그렇지 않으면 0입니다.
|
LookForElementWithTag
WEAVE_ERROR LookForElementWithTag( const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader )
일반 텍스트 작성자
WEAVE_ERROR PlainTextWriter( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
자유 형식의 텍스트를 디버그 이벤트로 내보내기 위한 도우미 함수입니다.
디버그 이벤트는 로그 리전 및 자유 형식 텍스트가 있는 구조입니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
일반 텍스트 작성자
WEAVE_ERROR PlainTextWriter( ::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
자유 형식의 텍스트를 디버그 이벤트로 내보내기 위한 도우미 함수입니다.
디버그 이벤트는 로그 리전 및 자유 형식 텍스트가 있는 구조입니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|