Google is committed to advancing racial equity for Black communities. See how.
Эта страница переведена с помощью Cloud Translation API.
Switch to English

nl :: Плетение :: Профили: DataManagement_Current

Это пространство имен включает все интерфейсы в профиле Weave для управления данными Weave (WDM), которые в настоящее время поддерживаются для производственного использования.

Резюме

Перечисления

@100 {
kTag_Region = 1,
kTag_Message = 2
}
перечислить
Теги для события kNestDebug_StringLogEntryEvent.
@101 {
kTag_Token = 1,
kTag_Args = 2
}
перечислить
Теги для события kNestDebug_TokenizedLogEntryEvent.
@102 перечислить
Теги для сохраняющихся событий.
@104 перечислить
Типы сообщений профиля WDM.
@105 перечислить
Коды состояния, специфичные для WDM.
@147 перечислить
@95 {
kTag_CurrentImportance = 1,
kTag_ImportanceExpiration ,
kTag_MinimumLogUploadInterval ,
kTag_MaximumLogUploadInterval ,
kTag_LoggingDestination ,
kTag_TraitLoggingImportance
}
перечислить
Теги параметров ведения журнала .
@96 {
kTag_SupportedLogTransports = 1,
kTag_SupportsStreaming = 2,
kTag_SupportsNonVolatileStorage = 3,
kTag_SupportsPerTraitVerbosity = 4,
kTag_LoggingVolume = 5,
kTag_LogBufferingCapacity = 6
}
перечислить
Теги для возможности ведения журнала.
@97 {
kTag_EventSource = 1,
kTag_EventImportance = 2,
kTag_EventID = 3,
kTag_RelatedEventImportance = 10,
kTag_RelatedEventID = 11,
kTag_EventUTCTimestamp = 12,
kTag_EventSystemTimestamp = 13,
kTag_EventResourceID = 14,
kTag_EventTraitProfileID = 15,
kTag_EventTraitInstanceID = 16,
kTag_EventType = 17,
kTag_EventDeltaUTCTime = 30,
kTag_EventDeltaSystemTime = 31,
kTag_EventData = 50,
kTag_ExternalEventStructure = 99
}
перечислить
Теги для метаданных события.
@98 перечислить
Определения профиля для признака отладки.
@99 {
kNestDebug_StringLogEntryEvent = 1,
kNestDebug_TokenizedLogEntryEvent = 2,
kNestDebug_TokenizedHeaderEntryEvent = 3
}
перечислить
Типы событий для трейта Nest Debug.
CommandFlags {
kCommandFlag_MustBeVersionValid = 0x0001,
kCommandFlag_InitiationTimeValid = 0x0002,
kCommandFlag_ActionTimeValid = 0x0004,
kCommandFlag_ExpiryTimeValid = 0x0008,
kCommandFlag_IsOneWay = 0x0010
}
перечислить
ImportanceType {
ProductionCritical = 1,
Production ,
Info ,
Debug
}
перечислить
Важность записи в журнале.
LoggingManagementStates {
kLoggingManagementState_Idle = 1,
kLoggingManagementState_InProgress = 2,
kLoggingManagementState_Holdoff = 3,
kLoggingManagementState_Shutdown = 4
}
перечислить
TimestampType перечислить
Срок действия и тип отметки времени, включенной в EventOptions .

Typedefs

CommandFlags typedef
DataVersion typedef
uint64_t
EventProcessor typedef
void *
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) typedef
void(*
Итератор дескриптора трейта.
LoggingBufferHandler )(void *inAppState, PacketBuffer *inBuffer) typedef
NotifyExternalEventsDeliveredFunct )(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID) typedef
void(*
Прототип функции для обратного вызова, вызываемого при доставке внешних событий удаленному подписчику.
NotifyExternalEventsEvictedFunct )(ExternalEvents *inEv) typedef
void(*
Прототип функции для обратного вызова, вызываемого, когда внешние события вытесняются из буферов.
PropertyDictionaryKey typedef
uint16_t
PropertyPathHandle typedef
uint32_t
PropertyPathHandle - это уникальный 32-битный числовой хэш пути WDM относительно корня экземпляра признака.
PropertySchemaHandle typedef
uint16_t
SchemaVersion typedef
uint16_t
SingleResourceSinkTraitCatalog typedef
SingleResourceSourceTraitCatalog typedef
TimestampType typedef
Срок действия и тип отметки времени, включенной в EventOptions .
TraitDataHandle typedef
uint16_t
duration_t nl :: Weave :: Profiles :: DataManagement_Current :: duration_t
uint32_t
Тип, используемый для описания продолжительности в миллисекундах.
event_id_t nl :: Weave :: Profiles :: DataManagement_Current :: event_id_t
uint32_t
Тип идентификатора события.
timestamp_t nl :: Weave :: Profiles :: DataManagement_Current :: timestamp_t
uint32_t
Тип, используемый для описания отметки времени в миллисекундах.
utc_timestamp_t nl :: Weave :: Profiles :: DataManagement_Current :: utc_timestamp_t
uint64_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)
Служебная функция, которая находит TraitUpdatableDataSink в каталоге TraitDataSink .
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 (constnl::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

Классы

nl :: Weave :: Profiles :: DataManagement_Current :: AlwaysAcceptDataElementAccessControlDelegate
nl :: Weave :: Profiles :: DataManagement_Current :: BuilderBase

Базовый класс для кодировщиков сообщений WDM.

nl :: Weave :: Profiles :: DataManagement_Current :: CircularEventReader

TLVReader, поддерживаемый CircularEventBuffer .

nl :: Weave :: Profiles :: DataManagement_Current :: Command
nl :: Weave :: Profiles :: DataManagement_Current :: CommandSender
nl :: Weave :: Profiles :: DataManagement_Current :: GenericTraitCatalogImpl

Weave предоставил реализацию интерфейса TraitCatalogBase для коллекции экземпляров данных признаков, которые все относятся к одному и тому же ресурсу.

nl :: Weave :: Profiles :: DataManagement_Current :: IDataElementAccessControlDelegate

Интерфейс, который должен быть реализован обработчиком элементов данных в NotifyRequest.

nl :: Weave :: Profiles :: DataManagement_Current :: IDirtyPathCut
nl :: Weave :: Profiles :: DataManagement_Current :: IPathFilter
nl :: Weave :: Profiles :: DataManagement_Current :: IWeavePublisherLock

Интерфейс, который должен быть реализован приложением для сериализации доступа к ключевым структурам данных WDM.

nl :: Weave :: Profiles :: DataManagement_Current :: IWeaveWDMMutex

Интерфейс объекта мьютекса.

nl :: Weave :: Profiles :: DataManagement_Current :: ListBuilderBase

Базовый класс для кодировщиков сообщений WDM, специализирующийся на элементах массива TLV, таких как списки данных и списки версий.

nl :: Weave :: Profiles :: DataManagement_Current :: ListParserBase

Базовый класс для парсеров сообщений WDM, специализирующийся на элементах массива TLV, таких как списки данных и списки версий.

nl :: Weave :: Profiles :: DataManagement_Current :: LogBDXUpload
nl :: Weave :: Profiles :: DataManagement_Current :: LoggingConfiguration

LoggingConfiguration инкапсулирует настраиваемый компонент подсистемы регистрации событий Weave.

nl :: Weave :: Profiles :: DataManagement_Current :: LoggingManagement

Класс для управления журналами событий в памяти.

nl :: Weave :: Profiles :: DataManagement_Current :: NotificationEngine
nl :: Weave :: Profiles :: DataManagement_Current :: ParserBase

Базовый класс для парсеров сообщений WDM.

nl :: Weave :: Profiles :: DataManagement_Current :: ResourceIdentifier

Структура, инкапсулирующая идентификатор ресурса.

nl :: Weave :: Profiles :: DataManagement_Current :: SingleResourceTraitCatalog
nl :: Weave :: Profiles :: DataManagement_Current :: SubscriptionClient
nl :: Weave :: Profiles :: DataManagement_Current :: SubscriptionEngine

Это синглтон, на котором размещаются все подписки WDM Next, как на стороне клиента, так и на стороне издателя.

nl :: Weave :: Profiles :: DataManagement_Current :: SubscriptionHandler
nl :: Weave :: Profiles :: DataManagement_Current :: TraitCatalogBase
nl :: Weave :: Profiles :: DataManagement_Current :: TraitDataSink
nl :: Weave :: Profiles :: DataManagement_Current :: TraitDataSource
nl :: Weave :: Profiles :: DataManagement_Current :: TraitSchemaEngine

Механизм схемы принимает информацию схемы, связанную с конкретным признаком, и предоставляет средства для анализа и преобразования ее в форму, используемую механизмом WDM.

nl :: Weave :: Profiles :: DataManagement_Current :: TraitUpdatableDataSink
nl :: Weave :: Profiles :: DataManagement_Current :: UpdateClient
nl :: Weave :: Profiles :: DataManagement_Current :: UpdateDictionaryDirtyPathCut

Служебный класс для возврата словаря в очередь ожидания при обработке пути свойства, имеющего дочерний словарь.

nl :: Weave :: Profiles :: DataManagement_Current :: UpdateDirtyPathFilter

Класс утилиты для фильтрации пути при обработке уведомления.

nl :: Weave :: Profiles :: DataManagement_Current :: UpdateEncoder

Этот объект кодирует полезные данные WDM UpdateRequest и PartialUpdateRequest.

nl :: Weave :: Profiles :: DataManagement_Current :: ViewClient

Структуры

nl :: Weave :: Profiles :: DataManagement_Current :: CircularEventBuffer

Внутренний буфер событий, построенный на основе nl :: Weave :: TLV :: WeaveCircularTLVBuffer .

nl :: Weave :: Profiles :: DataManagement_Current :: ConstSchemaVersionRange
nl :: Weave :: Profiles :: DataManagement_Current :: CopyAndAdjustDeltaTimeContext

Внутренняя структура для просмотра списка событий.

nl :: Weave :: Profiles :: DataManagement_Current :: DebugLogContext
nl :: Weave :: Profiles :: DataManagement_Current :: DetailRootSection

Структура, обеспечивающая полное разрешение экземпляра признака.

nl :: Weave :: Profiles :: DataManagement_Current :: EventEnvelopeContext

Внутренняя структура для обхода событий.

nl :: Weave :: Profiles :: DataManagement_Current :: EventLoadOutContext

Структура для копирования списков событий на выходе.

nl :: Weave :: Profiles :: DataManagement_Current :: EventOptions

Структура, которая предоставляет параметры для различных полей событий.

nl :: Weave :: Profiles :: DataManagement_Current :: EventSchema

Структура, определяющая схему для метаданных событий.

nl :: Weave :: Profiles :: DataManagement_Current :: ExternalEvents

Структура для отслеживания событий, хранящихся на платформе.

nl :: Weave :: Profiles :: DataManagement_Current :: LogStorageResources

Вспомогательный класс, используемый для инициализации управления ведением журнала.

nl :: Weave :: Profiles :: DataManagement_Current :: ReclaimEventCtx
nl :: Weave :: Profiles :: DataManagement_Current :: SchemaVersionRange
nl :: Weave :: Profiles :: DataManagement_Current :: TraitPath
nl :: Weave :: Profiles :: DataManagement_Current :: TraitPathStore
nl :: Weave :: Profiles :: DataManagement_Current :: VersionedTraitPath

Союзы

nl :: Weave :: Profiles :: DataManagement_Current :: Timestamp

Объединение, которое предоставляет систему набора приложений или метку времени в формате UTC.

Пространства имён

nl :: Weave :: Profiles :: DataManagement_Current :: BaseMessageWithSubscribeId
nl :: Weave :: Profiles :: DataManagement_Current :: CustomCommand

Определение пользовательской команды WDM.

nl :: Weave :: Profiles :: DataManagement_Current :: CustomCommandResponse

Определение ответа на настраиваемую команду WDM.

nl :: Weave :: Profiles :: DataManagement_Current :: DataElement

Определение элемента данных WDM.

nl :: Weave :: Profiles :: DataManagement_Current :: DataList
nl :: Weave :: Profiles :: DataManagement_Current :: Event
nl :: Weave :: Profiles :: DataManagement_Current :: EventList
nl :: Weave :: Profiles :: DataManagement_Current :: NotificationRequest
nl :: Weave :: Profiles :: DataManagement_Current :: Path

Определение пути WDM.

nl :: Weave :: Profiles :: DataManagement_Current :: PathList

Определение списка путей WDM.

nl :: Weave :: Profiles :: DataManagement_Current :: Platform
nl :: Weave :: Profiles :: DataManagement_Current :: RejectionRecord
nl :: Weave :: Profiles :: DataManagement_Current :: RejectionRecordList
nl :: Weave :: Profiles :: DataManagement_Current :: StatusElement

Определение элемента состояния WDM.

nl :: Weave :: Profiles :: DataManagement_Current :: StatusList
nl :: Weave :: Profiles :: DataManagement_Current :: SubscribeCancelRequest
nl :: Weave :: Profiles :: DataManagement_Current :: SubscribeConfirmRequest
nl :: Weave :: Profiles :: DataManagement_Current :: SubscribeRequest
nl :: Weave :: Profiles :: DataManagement_Current :: SubscribeResponse
nl :: Weave :: Profiles :: DataManagement_Current :: UpdateRequest

Определение запроса на обновление WDM.

nl :: Weave :: Profiles :: DataManagement_Current :: UpdateResponse
nl :: Weave :: Profiles :: DataManagement_Current :: VersionList
nl :: Weave :: Profiles :: DataManagement_Current :: ViewRequest
nl :: Weave :: Profiles :: DataManagement_Current :: ViewResponse

Перечисления

@ 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

Необязательный массив, выборочно отображающий выбранные профили на более высокие уровни регистрации.

Каждый элемент в массиве принимает форму (профиль, путь, важность ведения журнала) для выборочного повышения уровня ведения журнала из подмножества системы. Повышенный приоритет ведения журнала профиля имеет значение только тогда, когда приоритет ведения журнала превышает приоритет currentImportance и имеет тот же срок действия, что и currentImportance.

@ 96

 @96

Теги для возможности ведения журнала.

Характеристики
kTag_LogBufferingCapacity

32-разрядное целое число без знака, описывающее емкость буферизации журнала в КБ.

kTag_LoggingVolume

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

По желанию.

Значение - это идентификатор ресурса, к которому относится событие. Если опущено, значение такое же, как значение kTag_EventSource.

kTag_EventSource

NodeID устройства, создавшего событие.

kTag_EventSystemTimestamp

По желанию. Системная метка времени события в миллисекундах.

kTag_EventTraitInstanceID

Необязательно, экземпляр трейта, который сгенерировал событие.

kTag_EventTraitProfileID

Обязательный. 32-битовое целое число без знака, равное ProfileID признака.

kTag_EventType

Обязательный. 16-битовое целое число без знака, равное wdl.event.id для этого типа события.

kTag_EventUTCTimestamp

По желанию. UTC Временная метка события в миллисекундах.

kTag_ExternalEventStructure

Внутренний тег для внешних событий. Никогда не передается по проводам, никогда не должен использоваться за пределами библиотеки Weave.

kTag_RelatedEventID

По желанию.

Идентификатор события, с которым связано это событие. Если опущено, значение равно значению 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

Не может выполнять какие-либо операции регистрации.

TimestampType

 TimestampType

Срок действия и тип отметки времени, включенной в EventOptions .

Typedefs

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, в который она передает один элемент TLV с тегом kTag_EventData; значение этого элемента ДОЛЖНО быть структурой, содержащей данные события. Сами данные события должны быть структурированы с использованием тегов контекста.

Подробности
Параметры
[in,out] ioWriter
Ссылка на объектnl :: Weave :: TLV :: TLVWriter, который будет использоваться для сериализации данных события.
[in] inDataTag
Тег контекста для записываемого TLV .
[in] appData
Указатель на конкретный контекст приложения.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
other
Соответствующая ошибка, сигнализирующая вызывающей стороне о том, что сериализация данных события не может быть завершена. Ошибки от вызовов ioWriter должны распространяться без переназначения. Если функция возвращает ошибку любого типа, генерация события прерывается, и событие не записывается в журнал.
Смотрите также:
PlainTextWriter
EventWriterTLVCopy

FetchExternalEventsFunct

WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)

Прототип функции для обратных вызовов платформы, извлекающих данные о событиях.

Подобно FetchEventsSince, эта функция выборки возвращает все события из EventLoadOutContext.mStartingEventID через ExternalEvents.mLastEventID .

Указатель контекста имеет тип FetchExternalEventsContext. Это включает в себя EventLoadOutContext с некоторыми вспомогательными переменными для формата TLV . Он также включает указатель на структуру ExternalEvents, созданную при регистрации обратного вызова. Это определяет диапазон идентификаторов событий для обратного вызова.

При возврате из функции EventLoadOutContext.mCurrentEventID должен отражать идентификатор первого события, которое не было успешно записано в буфер TLV . Платформа должна записывать заголовок событий и данные в модуль записи TLV в правильном формате, заданном протоколом EventLogging. Платформа также должна поддерживать уникальность событий и временных меток.

Все ошибки TLV должны распространяться на более высокие уровни. Например, нехватка места в буфере вызовет отправку сообщения, за которым последует другой вызов обратного вызова с любым оставшимся идентификатором события.

Подробности
Возвращаемые значения
WEAVE_ERROR_NO_MEMORY
Если нет места для записи событий.
WEAVE_ERROR_BUFFER_TOO_SMALL
Если нет места для записи событий.
WEAVE_NO_ERROR
Об успехе.
WEAVE_END_OF_TLV
Об успехе.

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)

Итератор дескриптора трейта.

Ведение журналаBufferHandler

WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)

NotifyExternalEventsDeliveredFunct

void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)

Прототип функции для обратного вызова, вызываемого при доставке внешних событий удаленному подписчику.

Когда внешние события доставляются удаленному подписчику, механизм отправляет уведомление внешнему поставщику событий. Обратный вызов содержит событие последнего доставленного идентификатора и идентификатор подписчика, получившего событие.

Подробности
Параметры
[in] inEv
Объект внешних событий, соответствующий доставленным событиям
[in] inLastDeliveredEventID
ID последнего события, доставленного подписчику.
[in] inRecipientNodeID
Идентификатор узла плетения получателя

NotifyExternalEventsEvictedFunct

void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)

Прототип функции для обратного вызова, вызываемого, когда внешние события вытесняются из буферов.

Когда объект внешних событий вытесняется из буфера исходящих сообщений, механизм отправляет уведомление поставщику внешних событий. Обратный вызов содержит внешнее событие, которое нужно исключить.

Подробности
Параметры
[in] inEv
Объект внешних событий, подлежащий выселению

PropertyDictionaryKey

uint16_t PropertyDictionaryKey

PropertyPathHandle

uint32_t PropertyPathHandle

PropertyPathHandle - это уникальный 32-битный числовой хэш пути WDM относительно корня экземпляра признака.

Он состоит из двух частей:

  • Младшее 16-битное число, которое соответствует статической части схемы.
  • Если младшие 16 битов относятся к пути в элементе словаря, присутствует старшее 16-битное число, которое представляет ключ словаря, связанный с этим элементом. Если младшие 16 битов относятся к элементу, не относящемуся к словарю, тогда старшие 16 битов должны быть 0.

Некоторые характеристики:

  • Каждая черта имеет собственное пространство дескрипторов пути к свойству.
  • Каждый уникальный путь подпути WDM будет иметь такой же уникальный PropertyPathHandle.
  • PropertyPathHandles автоматически генерируются (пока выполняются вручную) компилятором признаков из 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

Тип идентификатора события.

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
)

Вспомогательная функция, которая переводит уже сериализованный элемент данных события в буфер событий.

Подробности
Параметры
[in,out] ioWriter
Писатель, который будет использоваться для записи события
[in] inDataTag
Тег контекста для копируемого TLV . Здесь не используется, но требуется typedef для EventWriterFunct.
[in] appData
Указатель на TLVReader, который содержит сериализованные данные о событиях.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
other
Другие ошибки, которые могут быть возвращены ioWriter.

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
)

Служебная функция, которая находит TraitUpdatableDataSink в каталоге TraitDataSink .

Подробности
Параметры
[in] aTraitDataHandle
Дескриптор раковины для поиска.
[in] aDataSinkCatalog
Каталог для поиска.
Возврат
Указатель на TraitUpdatableDataSink ; NULL, если дескриптор не существует или указывает на не обновляемый TraitDataSink .

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. Тег первого элемента будет проигнорирован; система регистрации событий заменит его тегом eventData.

Событие регистрируется, если его inImportance превышает порог ведения журнала, указанный в LoggingConfiguration . Если важность события не соответствует текущему порогу, оно отбрасывается, и функция возвращает 0 в качестве результирующего идентификатора события.

Этот вариант вызова неявно определяет все параметры события по умолчанию:

  • событие имеет метку времени с указанием текущего времени в точке вызова,
  • событие отмечено как относящееся к устройству, с которого осуществляется вызов,
  • мероприятие является автономным, не относящимся к каким-либо другим событиям,
  • событие отмечено как несрочное,

Подробности
Параметры
[in] inSchema
Схема, определяющая важность, идентификатор профиля и тип структуры этого события.
[in] inData
Считыватель TLV, содержащий данные события в качестве первого элемента.
Возврат
event_id_t Идентификатор события, если событие было записано в журнал, в противном случае - 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. Тег первого элемента будет проигнорирован; система регистрации событий заменит его тегом eventData.

Событие регистрируется, если его inImportance превышает порог ведения журнала, указанный в LoggingConfiguration . Если важность события не соответствует текущему порогу, оно отбрасывается, и функция возвращает 0 в качестве результирующего идентификатора события.

Этот вариант вызова позволяет вызывающей стороне устанавливать любую комбинацию EventOptions :

  • отметка времени, когда 0 по умолчанию соответствует текущему времени в точке вызова,
  • «корневой» раздел источника события (источник события и идентификатор признака); если NULL, по умолчанию используется текущее устройство. событие отмечено как относящееся к устройству, с которого осуществляется вызов,
  • идентификатор связанного события для группировки идентификаторов событий; когда ID связанного события равен 0, событие помечается как не относящееся ни к каким другим событиям,
  • острая необходимость; по умолчанию несрочный.

Подробности
Параметры
[in] inSchema
Схема, определяющая важность, идентификатор профиля и тип структуры этого события.
[in] inData
Считыватель TLV, содержащий данные события в качестве первого элемента. Не должно быть NULL
[in] inOptions
Параметры метаданных события. Может быть NULL.
Возврат
event_id_t Идентификатор события, если событие было записано в журнал, в противном случае - 0.

LogEvent

event_id_t LogEvent(
  const EventSchema & inSchema,
  EventWriterFunct inEventWriter,
  void *inAppData
)

Зарегистрируйте событие с помощью обратного вызова.

Функция регистрирует событие, представленное как EventWriterFunct и контекст appData конкретного appData . Функция записывает метаданные события и вызывает inEventWriter со inEventWriternl :: Weave :: TLV :: TLVWriter и контекстом inAppData чтобы пользовательский код мог передавать данные события непосредственно в журнал событий. Эта форма регистрации событий сводит к минимуму потребление памяти, поскольку данные событий сериализуются непосредственно в целевой буфер. Данные события ДОЛЖНЫ содержать теги контекста, которые должны интерпретироваться в схеме, идентифицированной inProfileID и inEventType . Тег первого элемента будет проигнорирован; система регистрации событий заменит его тегом eventData.

Событие регистрируется, если его inImportance превышает порог ведения журнала, указанный в LoggingConfiguration . Если важность события не соответствует текущему порогу, оно отбрасывается, и функция возвращает 0 в качестве результирующего идентификатора события.

Этот вариант вызова неявно определяет все параметры события по умолчанию:

  • событие имеет отметку времени с указанием текущего времени в точке вызова,
  • событие отмечено как относящееся к устройству, с которого осуществляется вызов,
  • мероприятие является автономным, не относящимся ни к каким другим событиям,
  • событие отмечено как несрочное,

Подробности
Параметры
[in] inSchema
Схема, определяющая важность, идентификатор профиля и тип структуры этого события.
[in] inEventWriter
Обратный вызов, вызываемый для фактической сериализации данных события
[in] inAppData
Контекст приложения для обратного вызова.
Возврат
event_id_t Идентификатор события, если событие было записано в журнал, в противном случае - 0.

LogEvent

event_id_t LogEvent(
  const EventSchema & inSchema,
  EventWriterFunct inEventWriter,
  void *inAppData,
  const EventOptions *inOptions
)

Зарегистрируйте событие с помощью обратного вызова с параметрами.

Функция регистрирует событие, представленное как EventWriterFunct и контекст appData конкретного appData . Функция записывает метаданные события и вызывает inEventWriter со inEventWriternl :: Weave :: TLV :: TLVWriter и контекстом inAppData чтобы пользовательский код мог передавать данные события непосредственно в журнал событий. Эта форма регистрации событий сводит к минимуму потребление памяти, поскольку данные событий сериализуются непосредственно в целевой буфер. Данные события ДОЛЖНЫ содержать теги контекста, которые должны интерпретироваться в схеме, идентифицированной inProfileID и inEventType . Тег первого элемента будет проигнорирован; система регистрации событий заменит его тегом eventData.

Событие регистрируется, если его inImportance превышает порог ведения журнала, указанный в LoggingConfiguration . Если важность события не соответствует текущему порогу, оно отбрасывается, и функция возвращает 0 в качестве результирующего идентификатора события.

Этот вариант вызова позволяет вызывающей стороне устанавливать любую комбинацию EventOptions :

  • отметка времени, когда 0 по умолчанию соответствует текущему времени в точке вызова,
  • «корневой» раздел источника события (источник события и идентификатор признака); если NULL, по умолчанию используется текущее устройство. событие отмечено как относящееся к устройству, с которого осуществляется вызов,
  • идентификатор связанного события для группировки идентификаторов событий; когда ID связанного события равен 0, событие помечается как не относящееся ни к каким другим событиям,
  • острая необходимость; по умолчанию несрочный.

Подробности
Параметры
[in] inSchema
Схема, определяющая важность, идентификатор профиля и тип структуры этого события.
[in] inEventWriter
Обратный вызов, вызываемый для фактической сериализации данных события
[in] inAppData
Контекст приложения для обратного вызова.
[in] inOptions
Параметры метаданных события. Может быть NULL.
Возврат
event_id_t Идентификатор события, если событие было записано в журнал, в противном случае - 0.

LogFreeform

event_id_t LogFreeform(
  ImportanceType inImportance,
  const char *inFormat,
  ...
)

LogFreeform передает строку произвольной формы в поток событий по умолчанию.

Строка будет инкапсулирована в структуру события отладки, структурно идентичную другим регистрируемым строкам. Идентификатор профиля события будет соответствовать событию Nest Debug, а тип события - kNestDebug_StringLogEntryEvent .

Подробности
Параметры
[in] inImportance
Важность записи в журнале; если важность падает ниже текущей важности, событие фактически не регистрируется
[in] inFormat
printf совместимая строка формата, за которой следуют аргументы для форматирования
Возврат
event_id_t Идентификатор события, если событие было записано в журнал, в противном случае - 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
)

Вспомогательная функция для вывода текста произвольной формы в качестве события отладки.

Событие отладки - это структура с регионом регистрации и текстом произвольной формы.

Подробности
Параметры
[in,out] ioWriter
Писатель, который будет использоваться для записи события
[in] appData
Указатель на DebugLogContext , структуру, которая содержит формат строки, аргументы и область журнала.
[in] inDataTag
Тег контекста для записываемого TLV . Здесь не используется, но требуется typedef для EventWriterFunct.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
other
Другие ошибки, которые могут быть возвращены ioWriter.

PlainTextWriter

WEAVE_ERROR PlainTextWriter(
  ::nl::Weave::TLV::TLVWriter & ioWriter,
  uint8_t inDataTag,
  void *appData
)

Вспомогательная функция для вывода текста произвольной формы в качестве события отладки.

Событие отладки - это структура с регионом регистрации и текстом произвольной формы.

Подробности
Параметры
[in,out] ioWriter
Писатель, который будет использоваться для записи события
[in] inDataTag
Тег для испускания
[in] appData
Указатель на DebugLogContext , структуру, которая содержит формат строки, аргументы и область журнала.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
other
Другие ошибки, которые могут быть возвращены ioWriter.

оператор! =

bool operator!=(
  const ResourceIdentifier & lhs,
  const ResourceIdentifier & rhs
)

оператор ==

bool operator==(
  const ResourceIdentifier & lhs,
  const ResourceIdentifier & rhs
)