nl:: বুনা:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_কারেন্ট
এই নেমস্পেসটিতে ওয়েভ ডেটা ম্যানেজমেন্ট (ডব্লিউডিএম) প্রোফাইলের জন্য উইভের মধ্যে থাকা সমস্ত ইন্টারফেস অন্তর্ভুক্ত রয়েছে যা বর্তমানে উত্পাদন ব্যবহারের জন্য সমর্থিত।
সারাংশ
Typedefs | |
---|---|
CommandFlags | typedef |
DataVersion | typedefuint64_t |
EventProcessor | typedefvoid * |
EventWriterFunct )(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData) | typedefWEAVE_ERROR (* একটি ফাংশন যা ইভেন্ট লগিং সাবসিস্টেমের জন্য ইভেন্টডেটা উপাদান সরবরাহ করে। |
FetchExternalEventsFunct )(EventLoadOutContext *aContext) | typedefWEAVE_ERROR (* প্ল্যাটফর্ম কলব্যাক ইভেন্ট ডেটা আনার জন্য একটি ফাংশন প্রোটোটাইপ। |
GenericTraitSinkCatalog | typedef |
GenericTraitSourceCatalog | typedef |
ImportanceType | typedef লগ এন্ট্রির গুরুত্ব। |
IteratorCallback )(void *aTraitInstance, TraitDataHandle aHandle, void *aContext) | typedefvoid(* বৈশিষ্ট্য হ্যান্ডেল পুনরাবৃত্তিকারী. |
LoggingBufferHandler )(void *inAppState, PacketBuffer *inBuffer) | typedefWEAVE_ERROR (* |
NotifyExternalEventsDeliveredFunct )(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID) | typedefvoid(* একটি কলব্যাকের জন্য একটি ফাংশন প্রোটোটাইপ যখন বাহ্যিক ইভেন্টগুলি দূরবর্তী গ্রাহকের কাছে বিতরণ করা হয় তখন আহ্বান করা হয়৷ |
NotifyExternalEventsEvictedFunct )(ExternalEvents *inEv) | typedefvoid(* যখন বহিরাগত ইভেন্টগুলি বাফারগুলি থেকে উচ্ছেদ করা হয় তখন কলব্যাকের জন্য একটি ফাংশন প্রোটোটাইপ আহ্বান করা হয়৷ |
PropertyDictionaryKey | typedefuint16_t |
PropertyPathHandle | typedefuint32_t একটি PropertyPathHandle হল একটি অনন্য 32-বিট সাংখ্যিক হ্যাশ একটি WDM পাথ একটি বৈশিষ্ট্য উদাহরণের মূলের সাথে সম্পর্কিত। |
PropertySchemaHandle | typedefuint16_t |
SchemaVersion | typedefuint16_t |
SingleResourceSinkTraitCatalog | typedef |
SingleResourceSourceTraitCatalog | typedef |
TimestampType | typedef EventOptions- এ অন্তর্ভুক্ত টাইমস্ট্যাম্পের বৈধতা এবং প্রকার। |
TraitDataHandle | typedefuint16_t |
duration_t | nl::Weave::Profiles::DataManagement_Current::duration_tuint32_t সময়কাল বর্ণনা করতে ব্যবহৃত প্রকার, মিলিসেকেন্ডে। |
event_id_t | nl::Weave::Profiles::DataManagement_Current::event_id_tuint32_t ইভেন্ট আইডির ধরন। |
timestamp_t | nl::Weave::Profiles::DataManagement_Current::timestamp_tuint32_t মিলিসেকেন্ডে টাইমস্ট্যাম্প বর্ণনা করতে ব্যবহৃত টাইপ। |
utc_timestamp_t | nl::Weave::Profiles::DataManagement_Current::utc_timestamp_tuint64_t মিলিসেকেন্ডে UTC টাইমস্ট্যাম্প বর্ণনা করতে ব্যবহৃত প্রকার। |
ভেরিয়েবল | |
---|---|
sInstance | |
sLogFileName = "topazlog"[] | char |
ফাংশন | |
---|---|
BdxErrorHandler (nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, WEAVE_ERROR aErrorCode) | void |
BdxGetBlockHandler (nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aIsLastBlock) | void |
BdxRejectHandler (nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aReport) | void |
BdxSendAcceptHandler (nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::BulkDataTransfer::SendAccept *aSendAcceptMsg) | |
BdxXferDoneHandler (nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer) | void |
BdxXferErrorHandler (nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aXferError) | void |
CreatePropertyPathHandle (PropertySchemaHandle aPropertyPathSchemaId, PropertyDictionaryKey aPropertyPathDictionaryKey) | |
EventWriterTLVCopy ( TLVWriter & ioWriter, uint8_t inDataTag, void *appData) | একটি সহায়ক ফাংশন যা ইভেন্ট বাফারে একটি ইতিমধ্যে সিরিয়ালকৃত ইভেন্ট ডেটা উপাদানকে অনুবাদ করে। |
GetPropertyDictionaryKey ( PropertyPathHandle aHandle) | PropertyDictionaryKey |
GetPropertySchemaHandle ( PropertyPathHandle aHandle) | PropertySchemaHandle |
IsNullPropertyPathHandle ( PropertyPathHandle aHandle) | bool |
IsRootPropertyPathHandle ( PropertyPathHandle aHandle) | bool |
IsVersionNewer (const DataVersion & aVersion, const DataVersion & aReference) | bool এটি সংস্করণগুলির তুলনা করার জন্য অ্যালগরিদমের একটি অপ্টিমাইজ করা বাস্তবায়ন। |
IsVersionNewerOrEqual (const DataVersion & aVersion, const DataVersion & aReference) | bool |
Locate (TraitDataHandle aTraitDataHandle, const TraitCatalogBase < TraitDataSink > *aDataSinkCatalog) | ইউটিলিটি ফাংশন যা একটি TraitDataSink ক্যাটালগে একটি TraitUpdatableDataSink খুঁজে পায়। |
LogEvent (const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData) | একটি প্রাক-ক্রমিক ফর্ম থেকে একটি ইভেন্ট লগ করুন. |
LogEvent (const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions) | অতিরিক্ত বিকল্প সহ একটি প্রাক-ক্রমিক ফর্ম থেকে একটি ইভেন্ট লগ করুন। |
LogEvent (const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData) | একটি কলব্যাক মাধ্যমে একটি ইভেন্ট লগ. |
LogEvent (const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions) | বিকল্পগুলির সাথে একটি কলব্যাকের মাধ্যমে একটি ইভেন্ট লগ করুন৷ |
LogFreeform ( ImportanceType inImportance, const char *inFormat, ...) | LogFreeform ডিফল্ট ইভেন্ট স্ট্রীমে একটি ফ্রিফর্ম স্ট্রিং নির্গত করে। |
LookForElementWithTag (const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader) | |
PlainTextWriter ( TLVWriter & ioWriter, uint8_t inDataTag, void *appData) | একটি ডিবাগ ইভেন্ট হিসাবে একটি ফ্রিফর্ম পাঠ্য নির্গত করার জন্য একটি সহায়ক ফাংশন। |
PlainTextWriter (:: nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData) | একটি ডিবাগ ইভেন্ট হিসাবে একটি ফ্রিফর্ম পাঠ্য নির্গত করার জন্য একটি সহায়ক ফাংশন। |
operator!= (const ResourceIdentifier & lhs, const ResourceIdentifier & rhs) | bool |
operator== (const ResourceIdentifier & lhs, const ResourceIdentifier & rhs) | bool |
ইউনিয়ন | |
---|---|
nl:: বুনা:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_কারেন্ট:: টাইমস্ট্যাম্প | যে ইউনিয়ন একটি অ্যাপ্লিকেশন সেট সিস্টেম বা UTC টাইমস্ট্যাম্প প্রদান করে। |
গণনা
@100
@100
@101
@101
@102
@102
স্থায়ী ইভেন্টের জন্য ট্যাগ.
@104
@104
WDM প্রোফাইল বার্তা প্রকার।
এই মানগুলি ডেটা ম্যানেজমেন্ট স্পেসিফিকেশনে বলা হয়।
@105
@105
WDM-নির্দিষ্ট স্থিতি কোড।
@147
@147
@95
@95
লগিং সেটিংস ট্যাগ.
@96
@96
লগিং ক্ষমতার জন্য ট্যাগ.
@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-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা যা বৈশিষ্ট্যের প্রোফাইলআইডির সমান। |
kTag_EventType | বাধ্যতামূলক। 16-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা যা এই ধরনের ইভেন্টের জন্য wdl.event.id এর সমান। |
kTag_EventUTCTimestamp | ঐচ্ছিক। মিলিসেকেন্ডে ইভেন্টের UTC টাইমস্ট্যাম্প । |
kTag_ExternalEventStructure | বাহ্যিক ইভেন্টের জন্য অভ্যন্তরীণ ট্যাগ। তারের জুড়ে কখনও প্রেরণ করা হয় না, কখনই উইভ লাইব্রেরির বাইরে ব্যবহার করা উচিত নয়। |
kTag_RelatedEventID | ঐচ্ছিক। এই ইভেন্টের সাথে সম্পর্কিত একটি ইভেন্টের আইডি। যদি বাদ দেওয়া হয়, তাহলে মানটি kTag_EventID-এর মানের সমান। |
kTag_RelatedEventImportance | ঐচ্ছিক। সংশ্লিষ্ট ঘটনার গুরুত্ব। যদি বাদ দেওয়া হয়, তাহলে মানটি kTag_EventImportance-এর মানের সমান। |
@98
@98
ডিবাগ বৈশিষ্ট্যের জন্য প্রোফাইল সংজ্ঞা।
@99
@99
কমান্ড ফ্ল্যাগস
CommandFlags
গুরুত্বের ধরন
ImportanceType
লগ এন্ট্রির গুরুত্ব।
ইভেন্টগুলি আসলে লগে নির্গত হওয়ার আগে গুরুত্বকে ফিল্টার করার উপায় হিসাবে ব্যবহার করা হয়। ইভেন্টটি লগে থাকার পরে, আমরা এটিকে লগ থেকে অপসারণ করার জন্য আর কোনো বিধান করি না৷ গুরুত্বের স্তর ইভেন্ট স্টোরেজকে অগ্রাধিকার দেয়। যদি একটি উচ্চ গুরুত্বের একটি ইভেন্ট একটি পূর্ণ বাফারে যোগ করা হয়, ঘটনাগুলি গুরুত্বের (এবং বয়স) ক্রমানুসারে বাদ দেওয়া হয়। যেমন, গুরুত্ব স্তরের শুধুমাত্র আপেক্ষিক মান আছে। যদি একটি সিস্টেম শুধুমাত্র একটি গুরুত্ব স্তর ব্যবহার করে, ঘটনাগুলি শুধুমাত্র বয়সের ক্রম অনুসারে বাদ দেওয়া হয়, একটি রিং বাফারের মতো৷
লগিং ম্যানেজমেন্ট স্টেটস
LoggingManagementStates
Typedefs
কমান্ড ফ্ল্যাগস
enum nl::Weave::Profiles::DataManagement_Current::CommandFlags CommandFlags
ডেটা সংস্করণ
uint64_t DataVersion
ইভেন্টপ্রসেসর
void * EventProcessor
EventWriterFunct
WEAVE_ERROR(* EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
একটি ফাংশন যা ইভেন্ট লগিং সাবসিস্টেমের জন্য ইভেন্টডেটা উপাদান সরবরাহ করে।
এই ধরনের ফাংশন ইভেন্ট লগিং সাবসিস্টেমের জন্য ইভেন্টডেটা উপাদান প্রদান করবে বলে আশা করা হচ্ছে। ইভেন্ট সাবসিস্টেম সমস্ত প্রয়োজনীয় ইভেন্ট মেটাডেটা তৈরি করার পরে এই ধরণের ফাংশনগুলিকে কল করা হয়। ফাংশনটিকে একটি nl::Weave::TLV::TLVWriter অবজেক্ট দিয়ে ডাকা হয় যেখানে এটি kTag_EventData ট্যাগ করা একটি একক TLV উপাদান নির্গত করবে; সেই উপাদানটির মান ইভেন্ট ডেটা ধারণকারী একটি কাঠামো হতে হবে। ইভেন্ট ডেটা নিজেই কনটেক্সট ট্যাগ ব্যবহার করে গঠন করা আবশ্যক।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||
রিটার্ন মান |
|
প্লেইন টেক্সট রাইটার
EventWriterTLVCopy
ফেচ এক্সটার্নাল ইভেন্টসফাংশন
WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)
প্ল্যাটফর্ম কলব্যাক ইভেন্ট ডেটা আনার জন্য একটি ফাংশন প্রোটোটাইপ।
FetchEventsSince এর মতো, এই ফেচ ফাংশন ExternalEvents.mLastEventID এর মাধ্যমে EventLoadOutContext.mStartingEventID থেকে সমস্ত ইভেন্ট ফেরত দেয়।
প্রসঙ্গ পয়েন্টার হল FetchExternalEventsContext টাইপ। এতে TLV এর বিন্যাসের জন্য কিছু সহায়ক ভেরিয়েবল সহ EventLoadOutContext অন্তর্ভুক্ত রয়েছে। এটি কলব্যাকের নিবন্ধনের উপর তৈরি করা ExternalEvents struct-এর একটি পয়েন্টারও অন্তর্ভুক্ত করে। এটি কলব্যাকের জন্য ইভেন্ট আইডি পরিসর নির্দিষ্ট করে।
ফাংশন থেকে ফিরে আসার সময়, EventLoadOutContext.mCurrentEventID প্রথম ইভেন্ট আইডি প্রতিফলিত করা উচিত যা TLV বাফারে সফলভাবে লেখা হয়নি। প্ল্যাটফর্মটিকে অবশ্যই ইভেন্টলগিং প্রোটোকল দ্বারা নির্দিষ্ট করা সঠিক বিন্যাসে TLV লেখকের কাছে ইভেন্ট শিরোনাম এবং ডেটা লিখতে হবে। প্ল্যাটফর্মটিকে অবশ্যই ইভেন্ট এবং টাইমস্ট্যাম্পগুলির স্বতন্ত্রতা বজায় রাখতে হবে।
সমস্ত TLV ত্রুটি উচ্চ স্তরে প্রচার করা উচিত। উদাহরণস্বরূপ, বাফারে স্থান ফুরিয়ে গেলে একটি প্রেরিত বার্তা ট্রিগার হবে, তারপরে যেটি ইভেন্ট আইডি থাকবে তার সাথে কলব্যাকে আরেকটি কল আসবে।
বিস্তারিত | |||||||||
---|---|---|---|---|---|---|---|---|---|
রিটার্ন মান |
|
GenericTraitSinkCatalog
GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog
GenericTraitSourceCatalog
GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog
গুরুত্বের ধরন
enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType
লগ এন্ট্রির গুরুত্ব।
ইভেন্টগুলি আসলে লগে নির্গত হওয়ার আগে গুরুত্বকে ফিল্টার করার উপায় হিসাবে ব্যবহার করা হয়। ইভেন্টটি লগে থাকার পরে, আমরা এটিকে লগ থেকে অপসারণ করার জন্য আর কোনো বিধান করি না৷ গুরুত্বের স্তর ইভেন্ট স্টোরেজকে অগ্রাধিকার দেয়। যদি একটি উচ্চ গুরুত্বের একটি ইভেন্ট একটি পূর্ণ বাফারে যোগ করা হয়, ঘটনাগুলি গুরুত্বের (এবং বয়স) ক্রমানুসারে বাদ দেওয়া হয়। যেমন, গুরুত্ব স্তরের শুধুমাত্র আপেক্ষিক মান আছে। যদি একটি সিস্টেম শুধুমাত্র একটি গুরুত্ব স্তর ব্যবহার করে, ঘটনাগুলি শুধুমাত্র বয়সের ক্রম অনুসারে বাদ দেওয়া হয়, একটি রিং বাফারের মতো৷
ইটারেটার কলব্যাক
void(* IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
বৈশিষ্ট্য হ্যান্ডেল পুনরাবৃত্তিকারী.
লগিংবাফারহ্যান্ডলার
WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
ExternalEventsDeliveredFunctকে নোটিফাই করুন
void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
একটি কলব্যাকের জন্য একটি ফাংশন প্রোটোটাইপ যখন বাহ্যিক ইভেন্টগুলি দূরবর্তী গ্রাহকের কাছে বিতরণ করা হয় তখন আহ্বান করা হয়৷
যখন বাহ্যিক ইভেন্টগুলি দূরবর্তী গ্রাহকের কাছে বিতরণ করা হয়, তখন ইঞ্জিন বহিরাগত ইভেন্ট প্রদানকারীকে একটি বিজ্ঞপ্তি প্রদান করবে। কলব্যাকের মধ্যে শেষ যে আইডিটি বিতরণ করা হয়েছিল তার ইভেন্ট এবং ইভেন্টটি গ্রহণকারী গ্রাহকের আইডি থাকে৷
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
|
ExternalEventsEvictedFunctকে বিজ্ঞাপিত করুন
void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
যখন বহিরাগত ইভেন্টগুলি বাফারগুলি থেকে উচ্ছেদ করা হয় তখন কলব্যাকের জন্য একটি ফাংশন প্রোটোটাইপ আহ্বান করা হয়৷
যখন বহিরাগত ইভেন্ট অবজেক্ট আউটবাউন্ড বার্তা বাফার থেকে উচ্ছেদ করা হয়, তখন ইঞ্জিন বহিরাগত ইভেন্ট প্রদানকারীকে একটি বিজ্ঞপ্তি প্রদান করবে। কলব্যাকে বহিরাগত ইভেন্ট রয়েছে যা উচ্ছেদ করা হবে৷
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
|
প্রপার্টি ডিকশনারি কী
uint16_t PropertyDictionaryKey
PropertyPathHandle
uint32_t PropertyPathHandle
একটি PropertyPathHandle হল একটি অনন্য 32-বিট সংখ্যাসূচক হ্যাশ একটি WDM পাথের একটি বৈশিষ্ট্যের উদাহরণের মূলের সাথে সম্পর্কিত।
এটির দুটি অংশ রয়েছে:
- একটি নিম্ন 16-বিট নম্বর যা স্কিমার স্ট্যাটিক অংশে ম্যাপ করে।
- যেখানে নীচের 16-বিট একটি অভিধান উপাদানের মধ্যে একটি পথ নির্দেশ করে, সেখানে একটি উপরের 16-বিট সংখ্যা উপস্থিত থাকে যা সেই উপাদানটির সাথে যুক্ত অভিধান কীকে উপস্থাপন করে। যদি নীচের 16-বিটগুলি একটি অ অভিধান উপাদানকে নির্দেশ করে, তাহলে উপরের 16-বিটগুলি 0 হওয়া উচিত।
কিছু বৈশিষ্ট্য:
- প্রতিটি বৈশিষ্ট্যের নিজস্ব সম্পত্তি পাথ হ্যান্ডেল স্থান আছে।
- প্রতিটি অনন্য ডাব্লুডিএম সাব-পাথের একইভাবে অনন্য প্রপার্টিপাথহ্যান্ডেল থাকবে।
- PropertyPathHandles IDL থেকে একটি বৈশিষ্ট্য কম্পাইলার দ্বারা স্বয়ংক্রিয়ভাবে তৈরি (এখন হাতে করা হয়েছে) এবং সংশ্লিষ্ট বৈশিষ্ট্যের হেডার ফাইলে একটি গণনা তালিকা হিসাবে উপস্থাপন করা হয়।
- এই গঠনের সাথে, অ্যাপ্লিকেশন লজিককে কখনই সরাসরি WDM পাথগুলির সাথে মোকাবিলা করতে হবে না। বরং, WDM এর সাথে তাদের মিথস্ক্রিয়া এই হ্যান্ডেলগুলির মাধ্যমে একচেটিয়াভাবে পরিচালিত হয়।
- পাথ হ্যান্ডেলগুলির জন্য দুটি সংরক্ষিত মান রয়েছে যার নির্দিষ্ট অর্থ রয়েছে:
- 0 একটি 'NULL' হ্যান্ডেল নির্দেশ করে
- 1 একটি হ্যান্ডেল নির্দেশ করে যা বৈশিষ্ট্য উদাহরণের মূলের দিকে নির্দেশ করে।
প্রপার্টি স্কিমাহ্যান্ডেল
uint16_t PropertySchemaHandle
স্কিমা সংস্করণ
uint16_t SchemaVersion
SingleResourceSinkTraitCatalog
SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog
SingleResourceSourceTraitCatalog
SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog
টাইমস্ট্যাম্প প্রকার
enum nl::Weave::Profiles::DataManagement_Current::TimestampType TimestampType
EventOptions- এ অন্তর্ভুক্ত টাইমস্ট্যাম্পের বৈধতা এবং প্রকার।
TraitDataHandle
uint16_t TraitDataHandle
সময়কাল_টি
uint32_t duration_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 )
PropertyPathHandle তৈরি করুন
PropertyPathHandle CreatePropertyPathHandle( PropertySchemaHandle aPropertyPathSchemaId, PropertyDictionaryKey aPropertyPathDictionaryKey )
EventWriterTLVCopy
WEAVE_ERROR EventWriterTLVCopy( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
একটি সহায়ক ফাংশন যা ইভেন্ট বাফারে একটি ইতিমধ্যে সিরিয়ালকৃত ইভেন্ট ডেটা উপাদানকে অনুবাদ করে।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||
রিটার্ন মান |
|
GetPropertyDictionaryKey
PropertyDictionaryKey GetPropertyDictionaryKey( PropertyPathHandle aHandle )
GetPropertySchemaHandle
PropertySchemaHandle GetPropertySchemaHandle( PropertyPathHandle aHandle )
IsNullPropertyPathHandle
bool IsNullPropertyPathHandle( PropertyPathHandle aHandle )
IsRootPropertyPathHandle
bool IsRootPropertyPathHandle( PropertyPathHandle aHandle )
নতুন সংস্করণ
bool IsVersionNewer( const DataVersion & aVersion, const DataVersion & aReference )
এটি সংস্করণগুলির তুলনা করার জন্য অ্যালগরিদমের একটি অপ্টিমাইজ করা বাস্তবায়ন।
ক্লায়েন্টের দিক থেকে, পরিষেবা থেকে প্রাপ্ত একটি সংস্করণ সর্বদা সর্বশেষ সংস্করণ।
IsVersionNewerOrEqual
bool IsVersionNewerOrEqual( const DataVersion & aVersion, const DataVersion & aReference )
সনাক্ত করুন
TraitUpdatableDataSink * Locate( TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog )
ইউটিলিটি ফাংশন যা একটি TraitDataSink ক্যাটালগে একটি TraitUpdatableDataSink খুঁজে পায়।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্নস | TraitUpdatableDataSink- এর একটি পয়েন্টার; NULL যদি হ্যান্ডেলটি বিদ্যমান না থাকে বা এটি একটি অ-আপডেটযোগ্য TraitDataSink নির্দেশ করে। |
লগ ইভেন্ট
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 দ্বারা চিহ্নিত স্কিমার মধ্যে ব্যাখ্যা করা হবে। প্রথম উপাদানের ট্যাগ উপেক্ষা করা হবে; ইভেন্ট লগিং সিস্টেম এটিকে ইভেন্টডেটা ট্যাগ দিয়ে প্রতিস্থাপন করবে।
ইভেন্টটি লগ করা হয় যদি এর গুরুত্ব লগিং কনফিগারেশনে উল্লেখিত লগিং থ্রেশহোল্ড অতিক্রম করে। ইভেন্টের গুরুত্ব বর্তমান থ্রেশহোল্ড পূরণ না হলে, এটি বাদ দেওয়া হয় এবং ফাংশনটি ফলাফল ইভেন্ট আইডি হিসাবে একটি 0
প্রদান করে।
আমন্ত্রণের এই রূপটি নিহিতভাবে সমস্ত ডিফল্ট ইভেন্ট বিকল্পগুলি নির্দিষ্ট করে:
- ইভেন্টটি কলের পয়েন্টে বর্তমান সময়ের সাথে টাইমস্ট্যাম্প করা হয়,
- ইভেন্টটি যে ডিভাইসটি কল করছে তার সাথে সম্পর্কিত হিসাবে চিহ্নিত করা হয়েছে,
- ইভেন্টটি স্বতন্ত্র, অন্য কোন ইভেন্টের সাথে সম্পর্কিত নয়,
- ঘটনাটি অ-জরুরী হিসাবে চিহ্নিত করা হয়েছে,
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্নস | event_id_t ইভেন্ট আইডি যদি ইভেন্টটি লগে লেখা হয়, অন্যথায় 0। |
লগ ইভেন্ট
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions )
অতিরিক্ত বিকল্প সহ একটি প্রাক-ক্রমিক ফর্ম থেকে একটি ইভেন্ট লগ করুন।
ফাংশনটি nl::Weave::TLV::TLVReader হিসাবে উপস্থাপিত একটি ইভেন্ট লগ করে। এটি ইঙ্গিত করে যে ইভেন্ট ডেটা উপস্থাপনা ইতিমধ্যেই nl::Weave::TLV::TLVReader এর অন্তর্নিহিত স্টোরেজে সিরিয়ালাইজ করা হয়েছে। nl::Weave::TLV::TLVReader অন্তত একটি একক ডেটা উপাদান থাকবে বলে আশা করা হচ্ছে, সেই উপাদানটি অবশ্যই একটি কাঠামো হতে হবে। রিডার থেকে পড়া প্রথম উপাদানটিকে ইভেন্ট ডেটা হিসাবে গণ্য করা হয় এবং ইভেন্ট লগে সংরক্ষণ করা হয়। ইভেন্ট ডেটাতে অবশ্যই প্রসঙ্গ ট্যাগ থাকতে হবে যা inProfileID এবং inEventType দ্বারা চিহ্নিত স্কিমার মধ্যে ব্যাখ্যা করা হবে। প্রথম উপাদানের ট্যাগ উপেক্ষা করা হবে; ইভেন্ট লগিং সিস্টেম এটিকে ইভেন্টডেটা ট্যাগ দিয়ে প্রতিস্থাপন করবে।
ইভেন্টটি লগ করা হয় যদি এর গুরুত্ব লগিং কনফিগারেশনে উল্লেখিত লগিং থ্রেশহোল্ড অতিক্রম করে। ইভেন্টের গুরুত্ব বর্তমান থ্রেশহোল্ড পূরণ না হলে, এটি বাদ দেওয়া হয় এবং ফাংশনটি ফলাফল ইভেন্ট আইডি হিসাবে একটি 0
প্রদান করে।
আহ্বানের এই রূপটি কলকারীকে EventOptions
এর যেকোনো সমন্বয় সেট করার অনুমতি দেয়:
- টাইমস্ট্যাম্প, যখন কলের পয়েন্টে বর্তমান সময়ে 0 ডিফল্ট হয়,
- ইভেন্ট উত্সের "রুট" বিভাগ (ইভেন্ট উত্স এবং বৈশিষ্ট্য আইডি); NULL হলে, এটি বর্তমান ডিভাইসে ডিফল্ট। ইভেন্টটি যে ডিভাইসটি কল করছে তার সাথে সম্পর্কিত হিসাবে চিহ্নিত করা হয়েছে,
- ইভেন্ট আইডি গ্রুপ করার জন্য একটি সম্পর্কিত ইভেন্ট আইডি; যখন সম্পর্কিত ইভেন্ট আইডি 0 হয়, তখন ইভেন্টটি অন্য কোনো ইভেন্টের সাথে সম্পর্কিত নয় বলে চিহ্নিত করা হয়,
- জরুরী ডিফল্টভাবে অ-জরুরী।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||
রিটার্নস | event_id_t ইভেন্ট আইডি যদি ইভেন্টটি লগে লেখা হয়, অন্যথায় 0। |
লগ ইভেন্ট
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData )
একটি কলব্যাক মাধ্যমে একটি ইভেন্ট লগ.
ফাংশনটি একটি EventWriterFunct এবং একটি অ্যাপ-নির্দিষ্ট appData
প্রসঙ্গ হিসাবে উপস্থাপিত একটি ইভেন্ট লগ করে। ফাংশনটি ইভেন্ট মেটাডেটা লেখে এবং nl::Weave::TLV::TLVWriter রেফারেন্স এবং inAppData
প্রসঙ্গ সহ inEventWriter
কল করে যাতে ব্যবহারকারী কোড সরাসরি ইভেন্ট লগে ইভেন্ট ডেটা নির্গত করতে পারে। ইভেন্ট লগিংয়ের এই ফর্মটি মেমরি খরচ কমিয়ে দেয়, কারণ ইভেন্ট ডেটা সরাসরি টার্গেট বাফারে সিরিয়াল করা হয়। ইভেন্ট ডেটাতে অবশ্যই প্রসঙ্গ ট্যাগ থাকতে হবে যা inProfileID
এবং inEventType
দ্বারা চিহ্নিত স্কিমার মধ্যে ব্যাখ্যা করা হবে। প্রথম উপাদানের ট্যাগ উপেক্ষা করা হবে; ইভেন্ট লগিং সিস্টেম এটিকে ইভেন্টডেটা ট্যাগ দিয়ে প্রতিস্থাপন করবে।
ইভেন্টটি লগ করা হয় যদি এর গুরুত্ব লগিং কনফিগারেশনে উল্লেখিত লগিং থ্রেশহোল্ড অতিক্রম করে। ইভেন্টের গুরুত্ব বর্তমান থ্রেশহোল্ড পূরণ না হলে, এটি বাদ দেওয়া হয় এবং ফাংশনটি ফলাফল ইভেন্ট আইডি হিসাবে একটি 0
প্রদান করে।
আমন্ত্রণের এই রূপটি নিহিতভাবে সমস্ত ডিফল্ট ইভেন্ট বিকল্পগুলি নির্দিষ্ট করে:
- ইভেন্টটি কলের পয়েন্টে বর্তমান সময়ের সাথে টাইমস্ট্যাম্প করা হয়,
- ইভেন্টটি যে ডিভাইসটি কল করছে তার সাথে সম্পর্কিত হিসাবে চিহ্নিত করা হয়েছে,
- ইভেন্টটি স্বতন্ত্র, অন্য কোন ইভেন্টের সাথে সম্পর্কিত নয়,
- ঘটনাটি অ-জরুরী হিসাবে চিহ্নিত করা হয়েছে,
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||
রিটার্নস | event_id_t ইভেন্ট আইডি যদি ইভেন্টটি লগে লেখা হয়, অন্যথায় 0। |
লগ ইভেন্ট
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions )
বিকল্পগুলির সাথে একটি কলব্যাকের মাধ্যমে একটি ইভেন্ট লগ করুন৷
ফাংশনটি একটি EventWriterFunct এবং একটি অ্যাপ-নির্দিষ্ট appData
প্রসঙ্গ হিসাবে উপস্থাপিত একটি ইভেন্ট লগ করে। ফাংশনটি ইভেন্ট মেটাডেটা লেখে এবং nl::Weave::TLV::TLVWriter রেফারেন্স এবং inAppData
প্রসঙ্গ সহ inEventWriter
কল করে যাতে ব্যবহারকারী কোড সরাসরি ইভেন্ট লগে ইভেন্ট ডেটা নির্গত করতে পারে। ইভেন্ট লগিংয়ের এই ফর্মটি মেমরি খরচ কমিয়ে দেয়, কারণ ইভেন্ট ডেটা সরাসরি টার্গেট বাফারে সিরিয়াল করা হয়। ইভেন্ট ডেটাতে অবশ্যই প্রসঙ্গ ট্যাগ থাকতে হবে যা inProfileID
এবং inEventType
দ্বারা চিহ্নিত স্কিমার মধ্যে ব্যাখ্যা করা হবে। প্রথম উপাদানের ট্যাগ উপেক্ষা করা হবে; ইভেন্ট লগিং সিস্টেম এটিকে ইভেন্টডেটা ট্যাগ দিয়ে প্রতিস্থাপন করবে।
ইভেন্টটি লগ করা হয় যদি এর গুরুত্ব লগিং কনফিগারেশনে উল্লেখিত লগিং থ্রেশহোল্ড অতিক্রম করে। ইভেন্টের গুরুত্ব বর্তমান থ্রেশহোল্ড পূরণ না হলে, এটি বাদ দেওয়া হয় এবং ফাংশনটি ফলাফল ইভেন্ট আইডি হিসাবে একটি 0
প্রদান করে।
আহ্বানের এই রূপটি কলকারীকে EventOptions
এর যেকোনো সমন্বয় সেট করার অনুমতি দেয়:
- টাইমস্ট্যাম্প, যখন কলের পয়েন্টে বর্তমান সময়ে 0 ডিফল্ট হয়,
- ইভেন্ট উত্সের "রুট" বিভাগ (ইভেন্ট উত্স এবং বৈশিষ্ট্য আইডি); NULL হলে, এটি বর্তমান ডিভাইসে ডিফল্ট। ইভেন্টটি যে ডিভাইসটি কল করছে তার সাথে সম্পর্কিত হিসাবে চিহ্নিত করা হয়েছে,
- ইভেন্ট আইডি গ্রুপ করার জন্য একটি সম্পর্কিত ইভেন্ট আইডি; যখন সম্পর্কিত ইভেন্ট আইডি 0 হয়, তখন ইভেন্টটি অন্য কোনো ইভেন্টের সাথে সম্পর্কিত নয় বলে চিহ্নিত করা হয়,
- জরুরী ডিফল্টভাবে অ-জরুরী।
বিস্তারিত | |||||||||
---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||
রিটার্নস | event_id_t ইভেন্ট আইডি যদি ইভেন্টটি লগে লেখা হয়, অন্যথায় 0। |
লগফ্রীফর্ম
event_id_t LogFreeform( ImportanceType inImportance, const char *inFormat, ... )
LogFreeform ডিফল্ট ইভেন্ট স্ট্রীমে একটি ফ্রিফর্ম স্ট্রিং নির্গত করে।
স্ট্রিংটি একটি ডিবাগ ইভেন্ট স্ট্রাকচারে এনক্যাপসুলেট করা হবে, অন্যান্য লগ করা স্ট্রিংগুলির সাথে কাঠামোগতভাবে অভিন্ন৷ ইভেন্ট প্রোফাইল আইডি হবে নেস্ট ডিবাগ ইভেন্টের, এবং ইভেন্টের ধরন হবে kNestDebug_StringLogEntryEvent
।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্নস | event_id_t ইভেন্ট আইডি যদি ইভেন্টটি লগে লেখা হয়, অন্যথায় 0। |
LookForElementWithTag
WEAVE_ERROR LookForElementWithTag( const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader )
প্লেইন টেক্সট রাইটার
WEAVE_ERROR PlainTextWriter( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
একটি ডিবাগ ইভেন্ট হিসাবে একটি ফ্রিফর্ম পাঠ্য নির্গত করার জন্য একটি সহায়ক ফাংশন।
ডিবাগ ইভেন্ট হল একটি লগরিজিয়ন এবং একটি ফ্রিফর্ম টেক্সট সহ একটি কাঠামো।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||
রিটার্ন মান |
|
প্লেইন টেক্সট রাইটার
WEAVE_ERROR PlainTextWriter( ::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
একটি ডিবাগ ইভেন্ট হিসাবে একটি ফ্রিফর্ম পাঠ্য নির্গত করার জন্য একটি সহায়ক ফাংশন।
ডিবাগ ইভেন্ট হল একটি লগরিজিয়ন এবং একটি ফ্রিফর্ম টেক্সট সহ একটি কাঠামো।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||
রিটার্ন মান |
|
অপারেটর!=
bool operator!=( const ResourceIdentifier & lhs, const ResourceIdentifier & rhs )
অপারেটর==
bool operator==( const ResourceIdentifier & lhs, const ResourceIdentifier & rhs )