nl::Weave::Profiles::DataManagement_Current

เนมสเปซนี้มีอินเทอร์เฟซทั้งหมดภายใน Weave สำหรับโปรไฟล์การจัดการข้อมูล Weave (WDM) ที่รองรับสำหรับการใช้งานจริงในปัจจุบัน

สรุป

การแจงนับ

@100{
  kTag_Region = 1,
  kTag_Message = 2
}
enum
แท็กสำหรับ kNestDebug_StringLogEntryEvent
@101{
  kTag_Token = 1,
  kTag_Args = 2
}
enum
แท็กสำหรับ kNestDebug_TokenizedLogEntryEvent
@102 enum
แท็กสำหรับเหตุการณ์ถาวร
@104 enum
ประเภทข้อความของโปรไฟล์ WDM
@105 enum
รหัสสถานะ WDM โดยเฉพาะ
@147 enum
@95{
  kTag_CurrentImportance = 1,
  kTag_ImportanceExpiration,
  kTag_MinimumLogUploadInterval,
  kTag_MaximumLogUploadInterval,
  kTag_LoggingDestination,
  kTag_TraitLoggingImportance
}
enum
แท็กการตั้งค่าการบันทึก
@96{
  kTag_SupportedLogTransports = 1,
  kTag_SupportsStreaming = 2,
  kTag_SupportsNonVolatileStorage = 3,
  kTag_SupportsPerTraitVerbosity = 4,
  kTag_LoggingVolume = 5,
  kTag_LogBufferingCapacity = 6
}
enum
แท็กสำหรับความสามารถในการบันทึก
@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
}
enum
แท็กสำหรับข้อมูลเมตาของเหตุการณ์
@98 enum
คำจำกัดความโปรไฟล์ของลักษณะการแก้ไขข้อบกพร่อง
@99{
  kNestDebug_StringLogEntryEvent = 1,
  kNestDebug_TokenizedLogEntryEvent = 2,
  kNestDebug_TokenizedHeaderEntryEvent = 3
}
enum
ประเภทเหตุการณ์สำหรับลักษณะ Nest Debug
CommandFlags{
  kCommandFlag_MustBeVersionValid = 0x0001,
  kCommandFlag_InitiationTimeValid = 0x0002,
  kCommandFlag_ActionTimeValid = 0x0004,
  kCommandFlag_ExpiryTimeValid = 0x0008,
  kCommandFlag_IsOneWay = 0x0010
}
enum
ImportanceType{
  ProductionCritical = 1,
  Production,
  Info,
  Debug
}
enum
ความสำคัญของรายการบันทึก
LoggingManagementStates{
  kLoggingManagementState_Idle = 1,
  kLoggingManagementState_InProgress = 2,
  kLoggingManagementState_Holdoff = 3,
  kLoggingManagementState_Shutdown = 4
}
enum
TimestampType enum
ความถูกต้องและประเภทการประทับเวลาซึ่งมีอยู่ใน EventOptions

Typedef

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
ต้นแบบฟังก์ชันสำหรับ Callback ของแพลตฟอร์มซึ่งดึงข้อมูลเหตุการณ์
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(*
ต้นแบบฟังก์ชันสําหรับ Callback ที่เรียกใช้เมื่อมีการส่งเหตุการณ์ภายนอกไปยังผู้สมัครใช้บริการระยะไกล
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv) Typedef
void(*
ต้นแบบฟังก์ชันสําหรับ Callback ที่เรียกใช้เมื่อมีการนําเหตุการณ์ภายนอกออกจากบัฟเฟอร์
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)
ฟังก์ชันตัวช่วยที่แปลองค์ประกอบ eventdata แบบอนุกรมอยู่แล้วลงในบัฟเฟอร์เหตุการณ์
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)
บันทึกเหตุการณ์ผ่าน Callback
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
บันทึกเหตุการณ์ผ่าน Callback พร้อมตัวเลือก
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

ชั้นเรียน

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

อินเทอร์เฟซของออบเจ็กต์ Mutex

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 จะสรุปคอมโพเนนต์ที่กำหนดค่าได้ของระบบย่อย Lcking ของ Weave Event

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

ออบเจ็กต์นี้จะเข้ารหัสเพย์โหลด UpdateRequest ของ WDM และ บางส่วนของUpdateRequest

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::DetailedRootSection

โครงสร้างที่มีความละเอียดสมบูรณ์ของอินสแตนซ์ลักษณะ

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

คำจำกัดความของ Command ที่กำหนดเองของ WDM

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

คำจำกัดความของการตอบกลับ Command ที่กำหนดเองของ 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

คำจำกัดความของ Path ของ WDM

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

คำจำกัดความของรายการ Path ของ 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

อาร์เรย์ที่ไม่บังคับจะเลือกจับคู่โปรไฟล์ที่เลือกกับระดับการบันทึกที่สูงขึ้น

องค์ประกอบแต่ละรายการในอาร์เรย์จะใช้รูปแบบ (profile,path,loggingiance) เพื่อเลือกยกระดับการบันทึกจากชุดย่อยของระบบ ลำดับความสำคัญของการบันทึกโปรไฟล์ที่ยกระดับจะมีความสำคัญก็ต่อเมื่อลำดับความสำคัญของการบันทึกสูงกว่าลำดับความสำคัญปัจจุบัน และมีเวลาหมดอายุเดียวกับลำดับความสำคัญปัจจุบัน

@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

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 ซึ่งจะปล่อยองค์ประกอบ 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)

ต้นแบบฟังก์ชันสำหรับ Callback ของแพลตฟอร์มซึ่งดึงข้อมูลเหตุการณ์

ฟังก์ชันดึงข้อมูลนี้จะคล้ายกับ FetchEventsReports ที่ฟังก์ชันการดึงข้อมูลเหตุการณ์ทั้งหมดจาก EventLoadOutContext.mนั้นได้EventID ผ่าน ExternalEvents.mLastEventID

ตัวชี้บริบทเป็นประเภท FetchExternalEventsContext ซึ่งรวมถึง EventLoadOutContext ซึ่งมีตัวแปรตัวช่วยสําหรับรูปแบบของ TLV และยังมีตัวชี้ไปยังโครงสร้าง ExternalEvents ที่สร้างขึ้นเมื่อมีการลงทะเบียน Callback ด้วย พารามิเตอร์นี้ระบุช่วงรหัสเหตุการณ์สําหรับ Callback

เมื่อแสดงผลจากฟังก์ชัน EventLoadOutContext.mCurrentEventID ควรแสดงรหัสเหตุการณ์แรกที่เขียนไปยังบัฟเฟอร์ TLV ไม่สำเร็จ แพลตฟอร์มต้องเขียนส่วนหัวและข้อมูลเหตุการณ์ไปยังผู้เขียน TLV ในรูปแบบที่ถูกต้อง ซึ่งระบุโดยโปรโตคอล EventLaking แพลตฟอร์มยังต้องรักษาเอกลักษณ์ของเหตุการณ์และการประทับเวลาเอาไว้ด้วย

ข้อผิดพลาด TLV ทั้งหมดควรเผยแพร่ไปสู่ระดับที่สูงขึ้น ตัวอย่างเช่น หากพื้นที่ว่างเต็มในบัฟเฟอร์จะทำให้ระบบส่งข้อความที่ส่งไปแล้ว จากนั้นจึงเรียกอีกชื่อหนึ่งไปยัง Callback ที่มีรหัสเหตุการณ์ใดยังคงมีอยู่

รายละเอียด
ผลลัพธ์
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)

ตัวซ้ำแฮนเดิลลักษณะเฉพาะ

LoggingBufferHandler

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

NotifyExternalEventsDeliveredFunct

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

ต้นแบบฟังก์ชันสําหรับ Callback ที่เรียกใช้เมื่อมีการส่งเหตุการณ์ภายนอกไปยังผู้สมัครใช้บริการระยะไกล

เมื่อมีการส่งกิจกรรมภายนอกไปยังผู้สมัครใช้บริการระยะไกล เครื่องมือจะแสดงการแจ้งเตือนไปยังผู้ให้บริการกิจกรรมภายนอก Callback จะประกอบด้วยเหตุการณ์ของรหัสล่าสุดที่ส่ง และรหัสของผู้สมัครใช้บริการที่ได้รับเหตุการณ์

รายละเอียด
พารามิเตอร์
[in] inEv
ออบเจ็กต์เหตุการณ์ภายนอกที่สัมพันธ์กับเหตุการณ์ที่ส่ง
[in] inLastDeliveredEventID
รหัสของเหตุการณ์ล่าสุดที่ส่งไปยังสมาชิก
[in] inRecipientNodeID
รหัสโหนด Weave ของผู้รับ

NotifyExternalEventsEvictedFunct

void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)

ต้นแบบฟังก์ชันสําหรับ Callback ที่เรียกใช้เมื่อมีการนําเหตุการณ์ภายนอกออกจากบัฟเฟอร์

เมื่อออบเจ็กต์เหตุการณ์ภายนอกถูกนำออกจากบัฟเฟอร์ข้อความขาออก เครื่องมือจะแสดงการแจ้งเตือนไปยังผู้ให้บริการเหตุการณ์ภายนอก การเรียกกลับมีเหตุการณ์ภายนอกที่จะนำออก

รายละเอียด
พารามิเตอร์
[in] inEv
ออบเจ็กต์เหตุการณ์ภายนอกที่จะถูกนำออก

PropertyDictionaryKey

uint16_t PropertyDictionaryKey

PropertyPathHandle

uint32_t PropertyPathHandle

PropertyPathHandle คือแฮชตัวเลข 32 บิตที่ไม่ซ้ำกันของเส้นทาง WDM ที่สัมพันธ์กับรูทของอินสแตนซ์ของลักษณะ

ซึ่งมี 2 ส่วน ดังนี้

  • หมายเลข 16 บิตที่ต่ำกว่าซึ่งจับคู่กับส่วนที่คงที่ของสคีมา
  • ในกรณีที่ 16 บิตล่างหมายถึงเส้นทางภายในองค์ประกอบพจนานุกรม ตัวเลข 16 บิตด้านบนจะแสดงแทนคีย์พจนานุกรมที่เชื่อมโยงกับองค์ประกอบนั้น หาก 16 บิตล่างหมายถึงองค์ประกอบที่ไม่ใช่พจนานุกรม 16 บิตด้านบนควรเป็น 0

ลักษณะเฉพาะบางประการ:

  • ทุกลักษณะมีพื้นที่แฮนเดิลเส้นทางพร็อพเพอร์ตี้ของตัวเอง
  • เส้นทางย่อยของ WDM ที่ไม่ซ้ำกันทุกๆ เส้นทางจะมี PropertyPathHandle ที่ไม่ซ้ำกันเหมือนกัน
  • PropertyPathHandles สร้างขึ้นโดยอัตโนมัติ (ตอนนี้ทำเอง) โดยคอมไพเลอร์ Titact จาก IDL และแสดงเป็นรายการแจกแจงในไฟล์ส่วนหัวของลักษณะที่เกี่ยวข้อง
  • ด้วยโครงสร้างนี้ ตรรกะของแอปพลิเคชันไม่ต้องจัดการกับเส้นทาง WDM โดยตรง แต่การโต้ตอบกับ WDM จะดำเนินการผ่านแฮนเดิลเหล่านี้โดยเฉพาะ
  • มีค่าที่สงวนไว้ 2 ค่าสำหรับแฮนเดิลเส้นทางที่มีความหมายเฉพาะ ได้แก่
    • 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
)

ฟังก์ชันตัวช่วยที่แปลองค์ประกอบ eventdata แบบอนุกรมอยู่แล้วลงในบัฟเฟอร์เหตุการณ์

รายละเอียด
พารามิเตอร์
[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 คาดว่าจะมีองค์ประกอบข้อมูลอย่างน้อย 1 อย่าง โดยองค์ประกอบนั้นต้องเป็นโครงสร้าง องค์ประกอบแรกที่อ่านจากเครื่องอ่านจะถือเป็นข้อมูลเหตุการณ์และจัดเก็บไว้ในบันทึกเหตุการณ์ ข้อมูลเหตุการณ์ต้องมีแท็กบริบทเพื่อให้ตีความภายในสคีมาที่ระบุโดย inProfileID และ inEventType ระบบจะไม่สนใจแท็กขององค์ประกอบแรก ระบบบันทึกเหตุการณ์จะแทนที่ด้วยแท็ก eventData

ระบบจะบันทึกเหตุการณ์หาก inImporting สูงกว่าเกณฑ์การบันทึกที่ระบุใน 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 คาดว่าจะมีองค์ประกอบข้อมูลอย่างน้อย 1 อย่าง โดยองค์ประกอบนั้นต้องเป็นโครงสร้าง องค์ประกอบแรกที่อ่านจากเครื่องอ่านจะถือเป็นข้อมูลเหตุการณ์และจัดเก็บไว้ในบันทึกเหตุการณ์ ข้อมูลเหตุการณ์ต้องมีแท็กบริบทเพื่อให้ตีความภายในสคีมาที่ระบุโดย inProfileID และ inEventType ระบบจะไม่สนใจแท็กขององค์ประกอบแรก ระบบบันทึกเหตุการณ์จะแทนที่ด้วยแท็ก eventData

ระบบจะบันทึกเหตุการณ์หาก inImporting สูงกว่าเกณฑ์การบันทึกที่ระบุใน LoggingConfiguration หากความสำคัญของเหตุการณ์ไม่เป็นไปตามเกณฑ์ปัจจุบัน ระบบจะยกเลิกและฟังก์ชันจะแสดงผล 0 เป็นรหัสเหตุการณ์ผลลัพธ์

คำขอตัวแปรนี้อนุญาตให้ผู้โทรตั้งค่า EventOptions แบบผสมใดก็ได้

  • การประทับเวลา เมื่อ 0 เป็นค่าเริ่มต้นเป็นเวลาปัจจุบัน ณ จุดที่มีการโทร
  • "รูท" ของแหล่งที่มาของเหตุการณ์ (แหล่งที่มาของเหตุการณ์และรหัสลักษณะ) หากเป็น NULL ระบบจะใช้อุปกรณ์ปัจจุบันเป็นค่าเริ่มต้น มีการทำเครื่องหมายเหตุการณ์ว่าเกี่ยวข้องกับอุปกรณ์ที่โทรออก
  • รหัสเหตุการณ์ที่เกี่ยวข้องสำหรับการจัดกลุ่มรหัสเหตุการณ์ เมื่อรหัสเหตุการณ์ที่เกี่ยวข้องเป็น 0 ระบบจะทําเครื่องหมายเหตุการณ์ว่าไม่เกี่ยวข้องกับเหตุการณ์อื่นๆ
  • ความเร่งด่วน โดยไม่เร่งด่วนโดยค่าเริ่มต้น

รายละเอียด
พารามิเตอร์
[in] inSchema
สคีมาที่ระบุความสำคัญ รหัสโปรไฟล์ และประเภทโครงสร้างของกิจกรรมนี้
[in] inData
โปรแกรมอ่าน TLV ที่มีข้อมูลเหตุการณ์เป็นองค์ประกอบแรก ต้องไม่เป็นค่าว่าง
[in] inOptions
ตัวเลือกสำหรับข้อมูลเมตาของเหตุการณ์ อาจเป็นค่าว่าง
การคืนสินค้า
event_id_t รหัสกิจกรรมหากมีการเขียนกิจกรรมลงในบันทึก มิฉะนั้นจะเป็น 0

LogEvent

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

บันทึกเหตุการณ์ผ่าน Callback

ฟังก์ชันนี้จะบันทึกเหตุการณ์ที่แสดงเป็น EventWriterFunct และบริบท appData เฉพาะแอป ฟังก์ชันนี้จะเขียนข้อมูลเมตาของเหตุการณ์และเรียก inEventWriter ด้วยการอ้างอิง nl::Weave::TLV::TLVWriter และบริบท inAppData เพื่อให้รหัสผู้ใช้ปล่อยข้อมูลเหตุการณ์ลงในบันทึกเหตุการณ์ได้โดยตรง การบันทึกเหตุการณ์รูปแบบนี้จะลดการใช้หน่วยความจำ เนื่องจากมีการเรียงลำดับข้อมูลเหตุการณ์ลงในบัฟเฟอร์เป้าหมายโดยตรง ข้อมูลเหตุการณ์ต้องมีแท็กบริบทเพื่อให้ตีความภายในสคีมาที่ระบุโดย inProfileID และ inEventType ระบบจะไม่สนใจแท็กขององค์ประกอบแรก ระบบบันทึกเหตุการณ์จะแทนที่ด้วยแท็ก eventData

ระบบจะบันทึกเหตุการณ์หาก inImporting สูงกว่าเกณฑ์การบันทึกที่ระบุใน LoggingConfiguration หากความสำคัญของเหตุการณ์ไม่เป็นไปตามเกณฑ์ปัจจุบัน ระบบจะยกเลิกและฟังก์ชันจะแสดงผล 0 เป็นรหัสเหตุการณ์ผลลัพธ์

ตัวแปรของการเรียกใช้นี้ระบุตัวเลือกเหตุการณ์เริ่มต้นทั้งหมดโดยปริยาย ดังนี้

  • เหตุการณ์จะได้รับการประทับเวลาด้วยเวลาปัจจุบัน ณ เวลาที่มีการโทร
  • มีการทำเครื่องหมายเหตุการณ์ว่าเกี่ยวข้องกับอุปกรณ์ที่โทรออก
  • กิจกรรมจะเป็นแบบสแตนด์อโลน ไม่เกี่ยวข้องกับกิจกรรมอื่นๆ
  • กิจกรรมจะถูกทำเครื่องหมายว่าไม่เร่งด่วน

รายละเอียด
พารามิเตอร์
[in] inSchema
สคีมาที่ระบุความสำคัญ รหัสโปรไฟล์ และประเภทโครงสร้างของกิจกรรมนี้
[in] inEventWriter
Callback ที่จะเรียกใช้เพื่อเรียงลำดับข้อมูลเหตุการณ์จริง
[in] inAppData
บริบทแอปพลิเคชันสำหรับการติดต่อกลับ
การคืนสินค้า
event_id_t รหัสกิจกรรมหากมีการเขียนกิจกรรมลงในบันทึก มิฉะนั้นจะเป็น 0

LogEvent

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

บันทึกเหตุการณ์ผ่าน Callback พร้อมตัวเลือก

ฟังก์ชันนี้จะบันทึกเหตุการณ์ที่แสดงเป็น EventWriterFunct และบริบท appData เฉพาะแอป ฟังก์ชันนี้จะเขียนข้อมูลเมตาของเหตุการณ์และเรียก inEventWriter ด้วยการอ้างอิง nl::Weave::TLV::TLVWriter และบริบท inAppData เพื่อให้รหัสผู้ใช้ปล่อยข้อมูลเหตุการณ์ลงในบันทึกเหตุการณ์ได้โดยตรง การบันทึกเหตุการณ์รูปแบบนี้จะลดการใช้หน่วยความจำ เนื่องจากมีการเรียงลำดับข้อมูลเหตุการณ์ลงในบัฟเฟอร์เป้าหมายโดยตรง ข้อมูลเหตุการณ์ต้องมีแท็กบริบทเพื่อให้ตีความภายในสคีมาที่ระบุโดย inProfileID และ inEventType ระบบจะไม่สนใจแท็กขององค์ประกอบแรก ระบบบันทึกเหตุการณ์จะแทนที่ด้วยแท็ก eventData

ระบบจะบันทึกเหตุการณ์หาก inImporting สูงกว่าเกณฑ์การบันทึกที่ระบุใน LoggingConfiguration หากความสำคัญของเหตุการณ์ไม่เป็นไปตามเกณฑ์ปัจจุบัน ระบบจะยกเลิกและฟังก์ชันจะแสดงผล 0 เป็นรหัสเหตุการณ์ผลลัพธ์

คำขอตัวแปรนี้อนุญาตให้ผู้โทรตั้งค่า EventOptions แบบผสมใดก็ได้

  • การประทับเวลา เมื่อ 0 เป็นค่าเริ่มต้นเป็นเวลาปัจจุบัน ณ จุดที่มีการโทร
  • "รูท" ของแหล่งที่มาของเหตุการณ์ (แหล่งที่มาของเหตุการณ์และรหัสลักษณะ) หากเป็น NULL ระบบจะใช้อุปกรณ์ปัจจุบันเป็นค่าเริ่มต้น มีการทำเครื่องหมายเหตุการณ์ว่าเกี่ยวข้องกับอุปกรณ์ที่โทรออก
  • รหัสเหตุการณ์ที่เกี่ยวข้องสำหรับการจัดกลุ่มรหัสเหตุการณ์ เมื่อรหัสเหตุการณ์ที่เกี่ยวข้องเป็น 0 ระบบจะทําเครื่องหมายเหตุการณ์ว่าไม่เกี่ยวข้องกับเหตุการณ์อื่นๆ
  • ความเร่งด่วน โดยไม่เร่งด่วนโดยค่าเริ่มต้น

รายละเอียด
พารามิเตอร์
[in] inSchema
สคีมาที่ระบุความสำคัญ รหัสโปรไฟล์ และประเภทโครงสร้างของกิจกรรมนี้
[in] inEventWriter
Callback ที่จะเรียกใช้เพื่อเรียงลำดับข้อมูลเหตุการณ์จริง
[in] inAppData
บริบทแอปพลิเคชันสำหรับการติดต่อกลับ
[in] inOptions
ตัวเลือกสำหรับข้อมูลเมตาของเหตุการณ์ อาจเป็นค่าว่าง
การคืนสินค้า
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

operator!=

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

โอเปอเรเตอร์==

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