nl:: Weave:: Profiles:: 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
|
로그 버퍼링 용량을 KB 단위로 설명하는 부호 없는 32비트 정수입니다. |
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
|
필수입니다. 트레잇의 ProfileID와 동일한 부호 없는 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
|
초기화 시간이 유효한 경우에 설정됩니다. |
kCommandFlag_IsOneWay
|
명령어가 단방향일 때 설정합니다. |
kCommandFlag_MustBeVersionValid
|
버전 필드가 유효한 경우에 설정됩니다. |
ImportanceType
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
DataVersion
uint64_t DataVersion
EventProcessor
void * EventProcessor
EventWriterFunct
WEAVE_ERROR(* EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
이벤트 로깅 하위 시스템에 eventData 요소를 제공하는 함수입니다.
이 유형의 함수는 이벤트 로깅 하위 시스템에 대한 eventData 요소를 제공해야 합니다. 이 유형의 함수는 이벤트 하위 시스템이 필요한 모든 이벤트 메타데이터를 생성한 후에 호출됩니다. 이 함수는 nl::Weave::TLV::TLVWriter 객체로 호출되며, 이 객체로 kTag_EventData 태그가 지정된 단일 TLV 요소를 내보냅니다. 요소의 값은 이벤트 데이터를 포함하는 구조여야 합니다(MUST). 이벤트 데이터 자체는 컨텍스트 태그를 사용하여 구조화되어야 합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
PlainTextWriter
EventWriterTLVCopy
FetchExternalEventsFunct
WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)
이벤트 데이터를 가져오는 플랫폼 콜백의 함수 프로토타입
FetchEventsSince와 마찬가지로 이 가져오기 함수는 EventLoadOutContext.mStartingEventID에서 ExternalEvents.mLastEventID를 통해 모든 이벤트를 반환합니다.
컨텍스트 포인터는 FetchExternalEventsContext 유형입니다. 여기에는 TLV 형식에 관한 도우미 변수가 있는 EventLoadOutContext가 포함됩니다. 또한 콜백 등록 시 생성된 ExternalEvents 구조체에 대한 포인터를 포함합니다. 콜백의 이벤트 ID 범위를 지정합니다.
함수에서 반환될 때 EventLoadOutContext.mCurrentEventID는 TLV 버퍼에 기록되지 않은 첫 번째 이벤트 ID를 반영해야 합니다. 플랫폼은 이벤트 헤더와 데이터를 EventLogging 프로토콜에서 지정한 올바른 형식으로 TLV 작성기에 써야 합니다. 또한 플랫폼은 이벤트 및 타임스탬프의 고유성을 유지해야 합니다.
모든 TLV 오류는 더 높은 수준으로 전파되어야 합니다. 예를 들어 버퍼의 공간이 부족하면 전송된 메시지가 트리거된 후 이벤트 ID가 남아 있는 경우 콜백에 대한 또 다른 호출이 트리거됩니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
반환 값 |
|
GenericTraitSinkCatalog
GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog
GenericTraitSourceCatalog
GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog
ImportanceType
enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType
로그 항목의 중요도입니다.
중요도는 이벤트를 실제로 로그에 내보내기 전에 필터링하는 방법으로 사용됩니다. 이벤트가 로그에 기록된 후에는 로그에서 해당 이벤트를 영구 삭제하기 위한 추가 프로비저닝이 없습니다. 중요도 수준은 이벤트 스토리지의 우선순위를 지정하는 데 사용됩니다. 중요도가 높은 이벤트가 전체 버퍼에 추가되면 이벤트를 수용하기 위해 중요도 및 기간 순으로 이벤트가 삭제됩니다. 따라서 중요도 수준에는 상대적 값만 있습니다. 시스템에서 하나의 중요도 수준만 사용하는 경우 이벤트는 링 버퍼처럼 기간 순으로만 삭제됩니다.
IteratorCallback
void(* IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
트레잇 핸들 반복자
LoggingBufferHandler
WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
NotifyExternalEventsDeliveredFunct
void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
외부 이벤트가 원격 구독자에게 전달될 때 호출되는 콜백의 함수 프로토타입입니다.
외부 이벤트가 원격 구독자에게 전달되면 엔진은 외부 이벤트 제공자에게 알림을 제공합니다. 콜백에는 전달된 마지막 ID의 이벤트와 이벤트를 수신한 구독자의 ID가 포함됩니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
NotifyExternalEventsEvictedFunct
void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
외부 이벤트가 버퍼에서 제거될 때 호출되는 콜백의 함수 프로토타입입니다.
외부 이벤트 객체가 아웃바운드 메시지 버퍼에서 제거되면 엔진은 외부 이벤트 제공자에게 알림을 제공합니다. 콜백에는 제거할 외부 이벤트가 포함됩니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
PropertyDictionaryKey
uint16_t PropertyDictionaryKey
PropertyPathHandle
uint32_t PropertyPathHandle
PropertyPathHandle은 트레잇 인스턴스의 루트에 상대적인 WDM 경로의 고유한 32비트 숫자 해시입니다.
두 부분으로 구성됩니다.
- 스키마의 정적 부분에 매핑되는 하위 16비트 숫자입니다.
- 하위 16비트가 사전 요소 내의 경로를 참조하는 경우, 해당 요소와 연결된 사전 키를 나타내는 상위 16비트 숫자가 있습니다. 하위 16비트가 사전이 아닌 요소를 참조하는 경우 상위 16비트는 0이어야 합니다.
몇 가지 특징은 다음과 같습니다.
- 모든 트레잇에는 고유한 속성 경로 핸들 공간이 있습니다.
- 모든 고유한 WDM 하위 경로 경로에는 비슷하게 고유한 PropertyPathHandle이 있습니다.
- PropertyPathHandle은 IDL의 트레잇 컴파일러에 의해 자동 생성되고 (현재는 수동으로 실행) 상응하는 트레잇 헤더 파일에 열거형 목록으로 표시됩니다.
- 이 구성을 사용하면 애플리케이션 로직이 WDM 경로를 직접 처리할 필요가 없습니다. WDM과의 상호작용은 오히려 이러한 핸들을 통해서만 이루어집니다.
- 특정 의미를 갖는 경로 핸들에는 두 가지 예약된 값이 있습니다.
- 0은 'NULL'을 나타냅니다. 핸들
- 1은 트레잇 인스턴스의 루트를 가리키는 핸들을 나타냅니다.
PropertySchemaHandle
uint16_t PropertySchemaHandle
SchemaVersion
uint16_t SchemaVersion
SingleResourceSinkTraitCatalog
SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog
SingleResourceSourceTraitCatalog
SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog
TimestampType
enum nl::Weave::Profiles::DataManagement_Current::TimestampType TimestampType
EventOptions에 포함된 타임스탬프의 유효성 및 유형입니다.
TraitDataHandle
uint16_t TraitDataHandle
duration_t
uint32_t duration_t
소요 시간을 밀리초 단위로 설명하는 데 사용되는 유형입니다.
event_id_t
uint32_t event_id_t
이벤트 ID 유형입니다.
timestamp_t
uint32_t timestamp_t
타임스탬프를 밀리초 단위로 설명하는 데 사용되는 유형입니다.
utc_timestamp_t
uint64_t utc_timestamp_t
UTC 타임스탬프를 밀리초 단위로 설명하는 데 사용되는 유형입니다.
변수
sInstance
LoggingManagement sInstance
sLogFileName
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 )
EventWriterTLVCopy
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입니다.
|
LogEvent
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 태그로 대체합니다.
중요도가 LoggingConfiguration에 지정된 로깅 기준을 초과하면 이벤트가 로깅됩니다. 이벤트의 중요도가 현재 기준점을 충족하지 않는 경우 이벤트는 삭제되며 함수는 0
를 결과 이벤트 ID로 반환합니다.
이 호출 변형은 모든 기본 이벤트 옵션을 암시적으로 지정합니다.
- 이벤트가 호출 시점의 현재 시간으로 타임스탬프가 지정됩니다.
- 이벤트가 전화를 거는 기기와 관련된 것으로 표시됩니다.
- 해당 이벤트는 다른 이벤트와 관련이 없는 독립형
- 일정이 비긴급으로 표시되어 있습니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
event_id_t 이벤트가 로그에 기록된 경우 이벤트 ID, 그렇지 않은 경우 0입니다.
|
LogEvent
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 태그로 대체합니다.
중요도가 LoggingConfiguration에 지정된 로깅 기준을 초과하면 이벤트가 로깅됩니다. 이벤트의 중요도가 현재 기준점을 충족하지 않는 경우 이벤트는 삭제되며 함수는 0
를 결과 이벤트 ID로 반환합니다.
이 호출 변형을 사용하면 호출자가 EventOptions
의 조합을 설정할 수 있습니다.
- 타임스탬프, 0이 호출 시점의 현재 시간이 기본값일 때,
- 'root' 이벤트 소스의 섹션 (이벤트 소스 및 트레잇 ID) NULL인 경우 현재 기기가 기본적으로 사용됩니다. 이벤트가 전화를 거는 기기와 관련된 것으로 표시됩니다.
- 이벤트 ID를 그룹화하기 위한 관련 이벤트 ID 관련 이벤트 ID가 0이면 이벤트가 다른 이벤트와 관련이 없는 것으로 표시됩니다.
- 긴박감 기본적으로 긴급하지 않습니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 |
event_id_t 이벤트가 로그에 기록된 경우 이벤트 ID, 그렇지 않은 경우 0입니다.
|
LogEvent
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData )
콜백을 통해 이벤트를 기록합니다.
이 함수는 EventWriterFunct 및 앱별 appData
컨텍스트로 표시된 이벤트를 로깅합니다. 이 함수는 사용자 코드가 이벤트 데이터를 이벤트 로그에 직접 내보낼 수 있도록 이벤트 메타데이터를 작성하고 nl::Weave::TLV::TLVWriter 참조 및 inAppData
컨텍스트를 사용하여 inEventWriter
를 호출합니다. 이러한 형식의 이벤트 로깅은 이벤트 데이터가 타겟 버퍼에 직접 직렬화되기 때문에 메모리 소비를 최소화합니다. 이벤트 데이터는 inProfileID
및 inEventType
로 식별된 스키마 내에서 해석될 컨텍스트 태그를 포함해야 합니다(MUST). 첫 번째 요소의 태그는 무시됩니다. 이벤트 로깅 시스템에서 이 태그를 eventData 태그로 대체합니다.
중요도가 LoggingConfiguration에 지정된 로깅 기준을 초과하면 이벤트가 로깅됩니다. 이벤트의 중요도가 현재 기준점을 충족하지 않는 경우 이벤트는 삭제되며 함수는 0
를 결과 이벤트 ID로 반환합니다.
이 호출 변형은 모든 기본 이벤트 옵션을 암시적으로 지정합니다.
- 이벤트가 호출 시점의 현재 시간으로 타임스탬프가 지정됩니다.
- 이벤트가 전화를 거는 기기와 관련된 것으로 표시됩니다.
- 해당 이벤트는 다른 이벤트와 관련이 없는 독립형
- 일정이 비긴급으로 표시되어 있습니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 |
event_id_t 이벤트가 로그에 기록된 경우 이벤트 ID, 그렇지 않은 경우 0입니다.
|
LogEvent
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 태그로 대체합니다.
중요도가 LoggingConfiguration에 지정된 로깅 기준을 초과하면 이벤트가 로깅됩니다. 이벤트의 중요도가 현재 기준점을 충족하지 않는 경우 이벤트는 삭제되며 함수는 0
를 결과 이벤트 ID로 반환합니다.
이 호출 변형을 사용하면 호출자가 EventOptions
의 조합을 설정할 수 있습니다.
- 타임스탬프, 0이 호출 시점의 현재 시간이 기본값일 때,
- 'root' 이벤트 소스의 섹션 (이벤트 소스 및 트레잇 ID) NULL인 경우 현재 기기가 기본적으로 사용됩니다. 이벤트가 전화를 거는 기기와 관련된 것으로 표시됩니다.
- 이벤트 ID를 그룹화하기 위한 관련 이벤트 ID 관련 이벤트 ID가 0이면 이벤트가 다른 이벤트와 관련이 없는 것으로 표시됩니다.
- 긴박감 기본적으로 긴급하지 않습니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 |
event_id_t 이벤트가 로그에 기록된 경우 이벤트 ID, 그렇지 않은 경우 0입니다.
|
LogFreeform
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 )
PlainTextWriter
WEAVE_ERROR PlainTextWriter( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
자유 형식 텍스트를 디버그 이벤트로 내보내는 도우미 함수입니다.
디버그 이벤트는 로그 영역과 자유 형식 텍스트가 있는 구조입니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
PlainTextWriter
WEAVE_ERROR PlainTextWriter( ::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
자유 형식 텍스트를 디버그 이벤트로 내보내는 도우미 함수입니다.
디버그 이벤트는 로그 영역과 자유 형식 텍스트가 있는 구조입니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|