nl::Weave::Profiles::DataManagement_Current

เนมสเปซนี้มีอินเทอร์เฟซทั้งหมดภายใน Weave สำหรับโปรไฟล์ Weave Data Management (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
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
ต้นแบบฟังก์ชันสำหรับการเรียกกลับของแพลตฟอร์มดึงข้อมูลเหตุการณ์
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)
ฟังก์ชันช่วยที่แปลองค์ประกอบ 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)
บันทึกเหตุการณ์ผ่านโค้ดเรียกกลับ
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

คลาส

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

อินเทอร์เฟซที่ผู้ประมวลผลองค์ประกอบข้อมูลใน CancelRequest จะนำมาใช้งาน

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

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

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

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

@96

 @96

แท็กสำหรับความสามารถในการบันทึก

พร็อพเพอร์ตี้
kTag_LogBufferingCapacity

จำนวนเต็มที่ไม่มีเครื่องหมาย 32 บิตซึ่งอธิบายความจุบัฟเฟอร์ของบันทึกในหน่วย kB

kTag_LoggingVolume

จำนวนเต็มที่ไม่มีการลงชื่อ 32 บิตซึ่งอธิบายปริมาณการบันทึกที่คาดไว้ในหน่วย kB/วัน

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

รหัสโหนดของอุปกรณ์ที่สร้างกิจกรรม

kTag_EventSystemTimestamp

ไม่บังคับ การประทับเวลาของระบบของเหตุการณ์ในหน่วยมิลลิวินาที

kTag_EventTraitInstanceID

อินสแตนซ์ของลักษณะที่สร้างเหตุการณ์ (ไม่บังคับ)

kTag_EventTraitProfileID

บังคับ จำนวนเต็มที่ไม่มีเครื่องหมาย 32 บิตที่เท่ากับ ProfileID ของลักษณะ

kTag_EventType

บังคับ จำนวนเต็มที่ไม่มีเครื่องหมาย 16 บิตที่เท่ากับ wdl.event.id สำหรับเหตุการณ์ประเภทนี้

kTag_EventUTCTimestamp

ไม่บังคับ UTC Timestamp ของเหตุการณ์ในหน่วยมิลลิวินาที

kTag_ExternalEventStructure

แท็กภายในสำหรับเหตุการณ์ภายนอก ห้ามส่งนอกไลบรารี Weave โดยเด็ดขาด

kTag_RelatedEventID

ไม่บังคับ

รหัสของเหตุการณ์ที่เกี่ยวข้องกับกิจกรรมนี้ หากไม่ระบุ ค่าจะเท่ากับค่าของ kTag_EventID

kTag_RelatedEventImportance

ไม่บังคับ

ความสำคัญของเหตุการณ์ที่เกี่ยวข้อง หากไม่ระบุ ค่าจะเท่ากับค่าของ kTag_EventImportance

@98

 @98

คำจำกัดความของโปรไฟล์สำหรับลักษณะการแก้ไขข้อบกพร่อง

@99

 @99

ประเภทเหตุการณ์สำหรับลักษณะการแก้ไขข้อบกพร่องของ Nest

พร็อพเพอร์ตี้
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)

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

ฟังก์ชันการดึงข้อมูลนี้จะส่งคืนเหตุการณ์ทั้งหมดจาก EventLoadOutContext.mstarterEventID ผ่าน ExternalEvents.mLastEventID ซึ่งคล้ายกับ FetchEventsแปลง

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

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

ข้อผิดพลาด 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)

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

LoggingBufferHandler

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

NotifyExternalEventsDeliveredFunct

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

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

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

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

NotifyExternalEventsEvictedFunct

void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)

ระบบจะเรียกใช้ต้นแบบของฟังก์ชันสำหรับโค้ดเรียกกลับเมื่อมีการนำเหตุการณ์ภายนอกออกจากบัฟเฟอร์

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

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

PropertyDictionaryKey

uint16_t PropertyDictionaryKey

PropertyPathHandle

uint32_t PropertyPathHandle

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

ซึ่งประกอบด้วย 2 ส่วน ดังนี้

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

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

  • แต่ละลักษณะจะมีพื้นที่แฮนเดิลเส้นทางพร็อพเพอร์ตี้ของตัวเอง
  • เส้นทางย่อย WDM ทุกเส้นทางจะมี PropertyPathHandle ที่ไม่ซ้ำกันคล้ายกัน
  • PropertyPathHandles สร้างขึ้นโดยอัตโนมัติ (ตอนนี้ทำด้วยตัวเองแล้ว) โดยคอมไพเลอร์ลักษณะจาก IDL และแสดงเป็นรายการแจกแจงในไฟล์ส่วนหัวของลักษณะที่เกี่ยวข้อง
  • ด้วยโครงสร้างนี้ ตรรกะของแอปพลิเคชันจึงไม่ต้องจัดการกับเส้นทาง WDM โดยตรง แต่การโต้ตอบกับ WDM จะดำเนินการผ่านแฮนเดิลเหล่านี้เท่านั้น
  • แฮนเดิลเส้นทางที่มีความหมายเฉพาะมีอยู่ 2 ค่าที่สงวนไว้ ดังนี้
    • 0 หมายถึงแฮนเดิล "NULL"
    • 1 หมายถึงแฮนเดิลที่ชี้ไปยังรูทของอินสแตนซ์ Trait

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

ระบบจะบันทึกเหตุการณ์หากความไม่สำคัญเกินเกณฑ์การบันทึกที่ระบุไว้ใน 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

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

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

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

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

LogEvent

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

บันทึกเหตุการณ์ผ่านโค้ดเรียกกลับ

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

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

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

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

  • เมื่อ 0 เป็นค่าเริ่มต้น เป็นเวลาปัจจุบัน ณ เวลาที่มีการโทร
  • ส่วน "root" ของแหล่งที่มาของเหตุการณ์ (แหล่งที่มาของเหตุการณ์และรหัสลักษณะ) หาก NULL ค่าเริ่มต้นจะเป็นอุปกรณ์ปัจจุบัน เหตุการณ์จะได้รับการทำเครื่องหมายว่าเกี่ยวข้องกับอุปกรณ์ที่เรียกใช้
  • รหัสเหตุการณ์ที่เกี่ยวข้องสำหรับการจัดกลุ่มรหัสเหตุการณ์ เมื่อรหัสเหตุการณ์ที่เกี่ยวข้องเป็น 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
)