nl:: বুনা:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_লিগেসি

এই নেমস্পেসটিতে উইভ ডেটা ম্যানেজমেন্ট (WDM) প্রোফাইলের জন্য Weave-এর মধ্যে থাকা সমস্ত ইন্টারফেস অন্তর্ভুক্ত রয়েছে যা অবমূল্যায়িত হতে চলেছে।

সারসংক্ষেপ

গণনা

@103 {
kStatus_CancelSuccess = 0x0001,
kStatus_InvalidPath = 0x0013,
kStatus_UnknownTopic = 0x0014,
kStatus_IllegalReadRequest = 0x0015,
kStatus_IllegalWriteRequest = 0x0016,
kStatus_InvalidVersion = 0x0017,
kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
@166 {
kViewPoolSize = WEAVE_CONFIG_WDM_VIEW_POOL_SIZE,
kSubscribePoolSize = WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE,
kCancelSubscriptionPoolSize = WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE,
kUpdatePoolSize = WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE,
kNotifyPoolSize = WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE,
kTransactionTableSize = WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE,
kBindingTableSize = WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE,
kNotifierTableSize = WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE,
kSubscriptionMgrTableSize = WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE
}
enum
WDM পুল এবং টেবিল মাপ.
@167 {
kMsgType_ViewRequest = 0x10,
kMsgType_ViewResponse = 0x11,
kMsgType_SubscribeRequest = 0x12,
kMsgType_SubscribeResponse = 0x13,
kMsgType_CancelSubscriptionRequest = 0x14,
kMsgType_UpdateRequest = 0x15,
kMsgType_NotifyRequest = 0x16,
kMsgType_ViewRequest_Deprecated = 0x00,
kMsgType_ViewResponse_Deprecated = 0x01,
kMsgType_SubscribeRequest_Deprecated = 0x02,
kMsgType_SubscribeResponse_Deprecated = 0x03,
kMsgType_CancelSubscriptionRequest_Deprecated = 0x04,
kMsgType_UpdateRequest_Deprecated = 0x05,
kMsgType_NotifyRequest_Deprecated = 0x06
}
enum
WDM প্রোফাইল বার্তা প্রকার।
@168 {
kTransactionIdNotSpecified = 0,
kResponseTimeoutNotSpecified = 0,
kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
kInstanceIdNotSpecified = 0,
kDefaultBindingTableIndex = 0,
kWeaveTLVTagLen = 8,
kWeaveTLVControlByteLen = 1
}
enum
বিবিধ WDM-নির্দিষ্ট ধ্রুবক।
@169 {
kStatus_CancelSuccess = 0x0001,
kStatus_InvalidPath = 0x0013,
kStatus_UnknownTopic = 0x0014,
kStatus_IllegalReadRequest = 0x0015,
kStatus_IllegalWriteRequest = 0x0016,
kStatus_InvalidVersion = 0x0017,
kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
WDM-নির্দিষ্ট স্থিতি কোড।
@170 {
kTag_WDMPathList = 100,
kTag_WDMPathProfile = 101,
kTag_WDMPathProfileId = 1,
kTag_WDMPathProfileInstance = 2,
kTag_WDMPathProfileId_Deprecated = 102,
kTag_WDMPathProfileInstance_Deprecated = 103,
kTag_WDMPathArrayIndexSelector = 104,
kTag_WDMPathArrayValueSelector = 105,
kTag_WDMDataList = 200,
kTag_WDMDataListElementPath = 3,
kTag_WDMDataListElementVersion = 4,
kTag_WDMDataListElementData = 5,
kTag_WDMDataListElementPath_Deprecated = 201,
kTag_WDMDataListElementVersion_Deprecated = 202,
kTag_WDMDataListElementData_Deprecated = 203
}
enum
ডেটা ম্যানেজমেন্ট প্রোটোকল ট্যাগ।
@171 {
kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
kTopicIdNotSpecified = 0x0000000000000000ULL,
kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum
বিশিষ্ট বিষয় আইডি.
WeaveTransportOption {
kTransport_TCP = 1,
kTransport_WRMP = 2,
kTransport_UDP = 3
}
enum
WDM পরিবহন বিকল্প।

Typedefs

TopicIdentifier typedef
uint64_t
বিষয় শনাক্তকারী.

ফাংশন

CheckTLVType ( nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
একটি TLV উপাদান যে পড়া হচ্ছে তার প্রত্যাশিত TLV প্রকার আছে কিনা পরীক্ষা করুন।
CheckWDMTag (uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
একটি WDM-নির্দিষ্ট ট্যাগ পরীক্ষা করুন।
CloseDataListElement ( nl::Weave::TLV::TLVReader & aReader)
একটি WDM ডেটা তালিকা উপাদান পড়া বন্ধ করুন।
CloseList ( nl::Weave::TLV::TLVReader & aReader)
একটি WDM পাথ বা ডেটা তালিকা পড়া বন্ধ করুন।
EncodeDeprecatedPath ( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
একটি ডাব্লুডিএম পাথকে অবহেলিত ট্যাগ এবং একটি পূর্ণসংখ্যা ইনস্ট্যান্স আইডি সহ এনকোড করুন।
EncodeDeprecatedPath ( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
অপ্রচলিত ট্যাগ এবং একটি স্ট্রিং ইনস্ট্যান্স আইডি সহ একটি WDM পাথ এনকোড করুন।
EncodePath ( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
একটি পূর্ণসংখ্যা প্রোফাইল ইনস্ট্যান্স আইডি সহ একটি WDM পাথ এনকোড করুন।
EncodePath ( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
একটি বাইট অ্যারে ইনস্ট্যান্স আইডি সহ একটি WDM পাথ এনকোড করুন।
EncodePath ( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
একটি স্ট্রিং ইনস্ট্যান্স আইডি সহ একটি WDM পাথ এনকোড করুন।
EndDataListElement ( nl::Weave::TLV::TLVWriter & aWriter)
একটি ডেটা তালিকা উপাদান লেখা শেষ করুন।
EndEncodePath ( TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList ( nl::Weave::TLV::TLVWriter & aWriter)
একটি পথ তালিকা বা ডেটা তালিকা লেখা শেষ করুন।
EndList ( ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
একটি পথ তালিকা বা ডেটা তালিকা লেখা শেষ করুন।
IsPublisherSpecific (const TopicIdentifier & aTopicId)
bool
একটি বিষয় আইডি প্রকাশক-নির্দিষ্ট কিনা তা পরীক্ষা করুন।
OpenDataList ( ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
একটি ডেটা তালিকা পড়া শুরু করুন।
OpenDataListElement ( nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
একটি তথ্য তালিকা উপাদান পড়া শুরু করুন.
OpenPathList ( ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
একটি পথ তালিকা পড়া শুরু করুন.
PublisherSpecificTopicId (void)
স্ক্র্যাচ থেকে একটি প্রকাশক-নির্দিষ্ট বিষয় আইডি তৈরি করুন।
SendStatusReport ( ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList ( nl::Weave::TLV::TLVWriter & aWriter)
একটি ডেটা তালিকা লিখতে শুরু করুন।
StartDataList ( ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
একটি প্রদত্ত ReferencedTLVData অবজেক্টে একটি ডেটা তালিকা লেখা শুরু করুন।
StartDataListElement ( nl::Weave::TLV::TLVWriter & aWriter)
একটি ডেটা তালিকা উপাদান লেখা শুরু করুন।
StartEncodePath ( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList ( nl::Weave::TLV::TLVWriter & aWriter)
একটি পথ তালিকা লিখতে শুরু করুন।
TxnResponseHandler ( ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
TxnTimeoutHandler ( ExchangeContext *anExchangeCtx)
void
ValidateTLVType ( nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
একটি TLV উপাদান যে পঠিত হচ্ছে তার প্রত্যাশিত TLV প্রকার রয়েছে তা যাচাই করুন।
ValidateWDMTag (uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
একটি TLV উপাদান যে পঠিত হচ্ছে তাতে প্রত্যাশিত WDM ট্যাগ রয়েছে তা যাচাই করুন।

ক্লাস

nl:: বুনন:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_লিগেসি:: বাঁধাই

বাইন্ডিং ক্লাস ওয়েভ ব্যবহার করে একটি অ্যাপ্লিকেশন সত্তার পক্ষে যোগাযোগের অবস্থা পরিচালনা করে।

nl:: বুনন:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_লিগেসি:: ক্লায়েন্টডেটা ম্যানেজার

WDM ক্লায়েন্ট দ্বারা প্রয়োজনীয় নিশ্চিতকরণ এবং ইঙ্গিত পদ্ধতি সংজ্ঞা ধারণকারী একটি বিমূর্ত শ্রেণী।

nl:: বুনন:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_লিগেসি:: ক্লায়েন্ট নোটিফায়ার

WDM ক্লায়েন্টে সাবস্ক্রিপশন এবং বিজ্ঞপ্তি সমর্থন কাঙ্ক্ষিত হলে একটি সহায়ক শ্রেণী নিযুক্ত করা হয়।

nl:: বুনা:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_লিগেসি:: DMClient

অ্যাপ্লিকেশন-নির্দিষ্ট WDM ক্লায়েন্টদের জন্য বিমূর্ত বেস ক্লাস।

nl:: বুনন:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_লিগেসি:: ডিএমপি প্রকাশক

অ্যাপ্লিকেশন-নির্দিষ্ট WDM প্রকাশকদের জন্য বিমূর্ত বেস ক্লাস।

nl:: বুনন:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_লিগেসি:: প্রোফাইল ডেটাবেস

বিমূর্ত প্রোফাইল ডেটাবেস অক্জিলিয়ারী ক্লাস।

nl:: বুনা:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_লিগেসি:: প্রোটোকল ইঞ্জিন

WDM প্রোটোকল ইঞ্জিন ক্লাস।

nl:: বুনন:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_লিগেসি:: প্রকাশক ডেটা ম্যানেজার

WDM প্রকাশকের দ্বারা প্রয়োজনীয় নিশ্চিতকরণ এবং বিজ্ঞপ্তি পদ্ধতির সংজ্ঞা সম্বলিত একটি বিমূর্ত শ্রেণী।

গণনা

@103

 @103
বৈশিষ্ট্য
kStatus_CancelSuccess

এই লিগ্যাসি স্ট্যাটাস কোড মানে একটি সাবস্ক্রিপশন সফলভাবে বাতিল করা হয়েছে।

এই স্ট্যাটাস কোড মানে একটি সাবস্ক্রিপশন সফলভাবে বাতিল করা হয়েছে।

kStatus_IllegalReadRequest

এই লিগ্যাসি স্ট্যাটাস কোড মানে যে নোডটি একটি নির্দিষ্ট ডেটা আইটেম পড়ার জন্য অনুরোধ করে তার এটি করার অনুমতি নেই।

এই স্ট্যাটাস কোড মানে যে নোডটি একটি নির্দিষ্ট ডেটা আইটেম পড়ার জন্য অনুরোধ করছে তার এটি করার অনুমতি নেই।

kStatus_IllegalWriteRequest

এই লিগ্যাসি স্ট্যাটাস কোড মানে যে নোডটি একটি নির্দিষ্ট ডেটা আইটেম লেখার জন্য অনুরোধ করে তার এটি করার অনুমতি নেই।

এই স্ট্যাটাস কোড মানে যে নোডটি একটি নির্দিষ্ট ডেটা আইটেম লেখার জন্য অনুরোধ করছে তার এটি করার অনুমতি নেই।

kStatus_InvalidPath

এই লিগ্যাসি স্ট্যাটাস কোড মানে একটি ভিউ বা আপডেট রিকোয়েস্ট ফ্রেমের পাথ লিস্ট থেকে একটি পাথ উত্তরদাতার নোড-রেসিডেন্ট স্কিমার সাথে মেলেনি।

এই স্ট্যাটাস কোডের অর্থ হল একটি ভিউ বা আপডেট রিকোয়েস্ট ফ্রেমের পাথ লিস্ট থেকে একটি পাথ উত্তরদাতার নোড-রেসিডেন্ট স্কিমার সাথে মেলেনি।

kStatus_InvalidVersion

এই লিগ্যাসি স্ট্যাটাস কোডের অর্থ হল আপডেটের অনুরোধে অন্তর্ভুক্ত ডেটার সংস্করণ প্রকাশকের সাম্প্রতিকতম সংস্করণের সাথে মেলেনি এবং তাই আপডেটটি প্রয়োগ করা যায়নি।

এই স্ট্যাটাস কোডের অর্থ হল আপডেটের অনুরোধে অন্তর্ভুক্ত ডেটার সংস্করণটি প্রকাশকের সাম্প্রতিকতম সংস্করণের সাথে মেলেনি এবং তাই আপডেটটি প্রয়োগ করা যায়নি।

kStatus_UnknownTopic

এই লিগ্যাসি স্ট্যাটাস কোড মানে একটি বাতিল অনুরোধ বা বিজ্ঞপ্তিতে প্রদত্ত বিষয় শনাক্তকারী প্রাপ্তি নোডে বিদ্যমান কোনো সাবস্ক্রিপশনের সাথে মেলেনি।

এই স্ট্যাটাস কোডের অর্থ হল একটি বাতিল অনুরোধ বা বিজ্ঞপ্তিতে প্রদত্ত বিষয় শনাক্তকারী প্রাপ্তি নোডে বিদ্যমান কোনো সাবস্ক্রিপশনের সাথে মেলেনি।

kStatus_UnsupportedSubscriptionMode

এই লিগ্যাসি স্ট্যাটাস কোড মানে সাবস্ক্রিপশনের অনুরোধ করা মোড গ্রহীতা ডিভাইস দ্বারা সমর্থিত নয়।

এই স্ট্যাটাস কোড মানে সাবস্ক্রিপশনের অনুরোধ করা মোড গ্রহীতা ডিভাইস দ্বারা সমর্থিত নয়।

@166

 @166

WDM পুল এবং টেবিল মাপ.

WDM বিভিন্ন পুল এবং টেবিল সংজ্ঞায়িত করে যা এর অপারেশনের জন্য প্রয়োজনীয়, নিম্নরূপ।

ক্লায়েন্ট লেনদেন পুল:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

প্রকাশকের লেনদেন পুল:

  • kNotifyPoolSize

প্রোটোকল ইঞ্জিন টেবিল:

  • kTransactionTableSize
  • kBindingTableSize

সদস্যতা-সম্পর্কিত টেবিল:

  • kNotifierTableSize (শুধুমাত্র ক্লায়েন্ট)
  • kSubscriptionMgrTableSize (শুধুমাত্র প্রকাশক)

মনে রাখবেন যে এগুলি কনফিগারযোগ্য পরিমাণ এবং প্রতি-প্ল্যাটফর্ম মানগুলি সংশ্লিষ্ট WeaveConfig.h- এ উপস্থিত হয়।

বৈশিষ্ট্য
kBindingTableSize

এটি WDM প্রোটোকল ইঞ্জিনে বাঁধাই টেবিলের ডিফল্ট আকার।

এই মানটি WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE এর মাধ্যমে কনফিগার করা যেতে পারে।

kCancelSubscriptionPoolSize

এটি একটি WDM ক্লায়েন্টের জন্য বাতিল সাবস্ক্রিপশন অনুরোধ লেনদেন পুলের ডিফল্ট আকার।

এই মানটি WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE এর মাধ্যমে কনফিগার করা হতে পারে।

kNotifierTableSize

এটি WDM ক্লায়েন্টদের জন্য বিজ্ঞপ্তি টেবিলের ডিফল্ট আকার।

এই মানটি WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE এর মাধ্যমে কনফিগার করা যেতে পারে।

kNotifyPoolSize

এটি একটি WDM প্রকাশকের জন্য বিজ্ঞপ্তি অনুরোধ লেনদেন পুলের ডিফল্ট আকার।

এই মানটি WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE এর মাধ্যমে কনফিগার করা হতে পারে।

kSubscribePoolSize

এটি একটি WDM ক্লায়েন্টের জন্য সাবস্ক্রাইব অনুরোধ লেনদেন পুলের ডিফল্ট আকার।

এই মানটি WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE এর মাধ্যমে কনফিগার করা হতে পারে।

kSubscriptionMgrTableSize

এটি WDM প্রকাশকদের জন্য সাবস্ক্রিপশন টেবিলের ডিফল্ট আকার।

এই মানটি WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE এর মাধ্যমে কনফিগার করা যেতে পারে।

kTransactionTableSize

এটি WDM প্রোটোকল ইঞ্জিনে লেনদেন টেবিলের ডিফল্ট আকার।

এই মানটি WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE এর মাধ্যমে কনফিগার করা হতে পারে।

kUpdatePoolSize

এটি একটি WDM ক্লায়েন্টের জন্য আপডেট অনুরোধ লেনদেন পুলের ডিফল্ট আকার।

এই মানটি WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE এর মাধ্যমে কনফিগার করা হতে পারে।

kViewPoolSize

এটি একটি WDM ক্লায়েন্টের জন্য ভিউ অনুরোধ লেনদেন পুলের ডিফল্ট আকার।

এই মানটি WEAVE_CONFIG_WDM_VIEW_POOL_SIZE এর মাধ্যমে কনফিগার করা হতে পারে।

@167

 @167

WDM প্রোফাইল বার্তা প্রকার।

এই মানগুলি ডেটা ম্যানেজমেন্ট স্পেসিফিকেশনে বলা হয়।

বিঃদ্রঃ!! Q1 2015 অনুসারে, WDM-এর পূর্ববর্তী সংস্করণগুলিতে ব্যবহৃত বার্তার ধরনগুলিকে অবমূল্যায়ন করা হয়েছে এবং নতুন বার্তার ধরনগুলিকে সংজ্ঞায়িত করা হয়েছে, যা একটি পরিষ্কার বিরতির ন্যায্যতা দেওয়ার জন্য অতীতের প্যাকিং এবং বিশদ বিশ্লেষণের সাথে পর্যাপ্ত পরিবর্তনকে প্রতিফলিত করে।

বৈশিষ্ট্য
kMsgType_CancelSubscriptionRequest

সদস্যতা অনুরোধ বার্তা বাতিল.

kMsgType_CancelSubscriptionRequest_Deprecated

অবমূল্যায়ন

kMsgType_NotifyRequest

অনুরোধ বার্তা বিজ্ঞপ্তি.

kMsgType_NotifyRequest_Deprecated

অবমূল্যায়ন

kMsgType_SubscribeRequest

সাবস্ক্রাইব অনুরোধ বার্তা.

kMsgType_SubscribeRequest_Deprecated

অবমূল্যায়ন

kMsgType_SubscribeResponse

সাবস্ক্রাইব প্রতিক্রিয়া বার্তা.

kMsgType_SubscribeResponse_Deprecated

অবমূল্যায়ন

kMsgType_UpdateRequest

আপডেট অনুরোধ বার্তা.

kMsgType_UpdateRequest_Deprecated

অবমূল্যায়ন

kMsgType_ViewRequest

অনুরোধ বার্তা দেখুন.

kMsgType_ViewRequest_Deprecated

অবমূল্যায়ন

kMsgType_ViewResponse

প্রতিক্রিয়া বার্তা দেখুন.

kMsgType_ViewResponse_Deprecated

অবমূল্যায়ন

@168

 @168

বিবিধ WDM-নির্দিষ্ট ধ্রুবক।

বৈশিষ্ট্য
kDefaultBindingTableIndex

একাধিক এন্ট্রি সহ একটি প্রোটোকল ইঞ্জিন বাইন্ডিং টেবিলে ডিফল্ট বাঁধাইয়ের সূচক৷

kInstanceIdNotSpecified

যে কলগুলির জন্য প্রোফাইল ইনস্ট্যান্স স্পেসিফিকেশন প্রয়োজন, তাতে "কোনটিই নয়" নির্দেশ করে৷

প্রায়শই এর মানে হল যে প্রোফাইলের শুধুমাত্র একটি উদাহরণ প্রশ্নে থাকা সত্তায় উপস্থিত থাকে।

kResponseTimeoutNotSpecified

একটি লেনদেনের অনুরোধ করার পদ্ধতিতে, নির্দেশ করে যে কলকারী একটি সময়সীমা নির্দিষ্ট করতে অস্বীকার করেছে৷

সাধারণত এর মানে একটি ডিফল্ট ব্যবহার করা উচিত।

kTransactionIdNotSpecified

একটি লেনদেন আইডি নেওয়া পদ্ধতি এবং ডেটা স্ট্রাকচারে, "কোনটিই নয়" বা ওয়াইল্ড-কার্ড মান নির্দেশ করে।

kVersionNotSpecified

একটি ডেটা সংস্করণের স্পেসিফিকেশন প্রয়োজন এমন কলগুলিতে, "কোন নির্দিষ্ট সংস্করণ" নির্দেশ করে।

kWeaveTLVControlByteLen

TLV কন্ট্রোল বাইটের দৈর্ঘ্য, সমর্থন পদ্ধতিতে ব্যবহৃত হয় যা TLV- তে WDM কাঠামো এনকোড করে।

kWeaveTLVTagLen

একটি পূর্ণ-যোগ্য TLV ট্যাগের বাইটে আদর্শ দৈর্ঘ্য, সমর্থন পদ্ধতিতে ব্যবহৃত হয় যা TLV- তে WDM কাঠামো এনকোড করে।

@169

 @169

WDM-নির্দিষ্ট স্থিতি কোড।

বৈশিষ্ট্য
kStatus_CancelSuccess

এই লিগ্যাসি স্ট্যাটাস কোড মানে একটি সাবস্ক্রিপশন সফলভাবে বাতিল করা হয়েছে।

এই স্ট্যাটাস কোড মানে একটি সাবস্ক্রিপশন সফলভাবে বাতিল করা হয়েছে।

kStatus_IllegalReadRequest

এই লিগ্যাসি স্ট্যাটাস কোড মানে যে নোডটি একটি নির্দিষ্ট ডেটা আইটেম পড়ার জন্য অনুরোধ করে তার এটি করার অনুমতি নেই।

এই স্ট্যাটাস কোড মানে যে নোডটি একটি নির্দিষ্ট ডেটা আইটেম পড়ার জন্য অনুরোধ করছে তার এটি করার অনুমতি নেই।

kStatus_IllegalWriteRequest

এই লিগ্যাসি স্ট্যাটাস কোড মানে যে নোডটি একটি নির্দিষ্ট ডেটা আইটেম লেখার জন্য অনুরোধ করে তার এটি করার অনুমতি নেই।

এই স্ট্যাটাস কোড মানে যে নোডটি একটি নির্দিষ্ট ডেটা আইটেম লেখার জন্য অনুরোধ করছে তার এটি করার অনুমতি নেই।

kStatus_InvalidPath

এই লিগ্যাসি স্ট্যাটাস কোড মানে একটি ভিউ বা আপডেট রিকোয়েস্ট ফ্রেমের পাথ লিস্ট থেকে একটি পাথ উত্তরদাতার নোড-রেসিডেন্ট স্কিমার সাথে মেলেনি।

এই স্ট্যাটাস কোডের অর্থ হল একটি ভিউ বা আপডেট রিকোয়েস্ট ফ্রেমের পাথ লিস্ট থেকে একটি পাথ উত্তরদাতার নোড-রেসিডেন্ট স্কিমার সাথে মেলেনি।

kStatus_InvalidVersion

এই লিগ্যাসি স্ট্যাটাস কোডের অর্থ হল আপডেটের অনুরোধে অন্তর্ভুক্ত ডেটার সংস্করণ প্রকাশকের সাম্প্রতিকতম সংস্করণের সাথে মেলেনি এবং তাই আপডেটটি প্রয়োগ করা যায়নি।

এই স্ট্যাটাস কোডের অর্থ হল আপডেটের অনুরোধে অন্তর্ভুক্ত ডেটার সংস্করণটি প্রকাশকের সাম্প্রতিকতম সংস্করণের সাথে মেলেনি এবং তাই আপডেটটি প্রয়োগ করা যায়নি।

kStatus_UnknownTopic

এই লিগ্যাসি স্ট্যাটাস কোড মানে একটি বাতিল অনুরোধ বা বিজ্ঞপ্তিতে প্রদত্ত বিষয় শনাক্তকারী প্রাপ্তি নোডে বিদ্যমান কোনো সাবস্ক্রিপশনের সাথে মেলেনি।

এই স্ট্যাটাস কোডের অর্থ হল একটি বাতিল অনুরোধ বা বিজ্ঞপ্তিতে প্রদত্ত বিষয় শনাক্তকারী প্রাপ্তি নোডে বিদ্যমান কোনো সাবস্ক্রিপশনের সাথে মেলেনি।

kStatus_UnsupportedSubscriptionMode

এই লিগ্যাসি স্ট্যাটাস কোড মানে সাবস্ক্রিপশনের অনুরোধ করা মোড গ্রহীতা ডিভাইস দ্বারা সমর্থিত নয়।

এই স্ট্যাটাস কোড মানে সাবস্ক্রিপশনের অনুরোধ করা মোড গ্রহীতা ডিভাইস দ্বারা সমর্থিত নয়।

@170

 @170

ডেটা ম্যানেজমেন্ট প্রোটোকল ট্যাগ।

ডেটা ম্যানেজমেন্ট প্রোটোকল প্রোফাইল ডেটার TLV প্রতিনিধিত্বে ব্যবহার করার জন্য বেশ কয়েকটি ট্যাগ সংজ্ঞায়িত করে।

যথারীতি নতুন WDM এবং পুরানো মধ্যে সামঞ্জস্য সমস্যা আছে। খারাপ পুরানো দিনগুলিতে, এই সমস্ত ট্যাগগুলি প্রোফাইল-নির্দিষ্ট হিসাবে প্রয়োগ করা হয়েছিল, যা স্থানের অপচয় ছিল। এখন আমরা যেখানে সম্ভব কনটেক্সট ট্যাগ ব্যবহার করছি কিন্তু যেখানে উপযুক্ত সেখানে আমাদের পুরানোগুলিকে আশেপাশে রাখতে হবে (এবং তাদের সাথে পাথ এনকোড করার জন্য একটি ব্যবস্থা থাকতে হবে)।

kTag_WDMDataListElementData ট্যাগ পূর্ববর্তী রিলিজে ব্যবহার করা হয়নি এবং কোড দ্বারা সম্পূর্ণরূপে উপেক্ষা করা হয়েছিল, তাই আমাদের একটি অবনমিত সংস্করণ প্রদান করতে হবে না।

বৈশিষ্ট্য
kTag_WDMDataList

উপাদানটি পাথ, ঐচ্ছিক সংস্করণ এবং ডেটা উপাদান ধারণকারী কাঠামোর একটি তালিকা।

ট্যাগ টাইপ: প্রোফাইল-নির্দিষ্ট উপাদানের ধরন: অ্যারে ডিসপোজিশন: টপ-লেভেল

kTag_WDMDataListElementData

উপাদানটি প্রদত্ত পথ এবং প্রদত্ত সংস্করণ দ্বারা নির্দেশিত ডেটা উপস্থাপন করে।

ট্যাগ প্রকার: প্রসঙ্গ-নির্দিষ্ট উপাদান প্রকার: যেকোন স্বভাব: প্রয়োজনীয়

kTag_WDMDataListElementData_Deprecated

অবচয়।

ট্যাগ প্রকার: প্রসঙ্গ-নির্দিষ্ট উপাদান প্রকার: যেকোন স্বভাব: প্রয়োজনীয়

kTag_WDMDataListElementPath

উপাদানটি একটি ডেটা তালিকা উপাদানের পাথ উপাদান।

ট্যাগের ধরন: প্রসঙ্গ-নির্দিষ্ট উপাদানের ধরন: পথের স্বভাব: প্রয়োজনীয়

kTag_WDMDataListElementPath_Deprecated

অবচয়।

ট্যাগের ধরন: প্রোফাইল-নির্দিষ্ট উপাদানের ধরন: পাথ ডিসপোজিশন: প্রয়োজনীয়

kTag_WDMDataListElementVersion

উপাদানটি একটি ডেটা তালিকা উপাদানের সংস্করণ উপাদান।

ট্যাগ প্রকার: প্রসঙ্গ-নির্দিষ্ট উপাদান প্রকার: পূর্ণসংখ্যার বিন্যাস: প্রয়োজনীয়

kTag_WDMDataListElementVersion_Deprecated

অবচয়।

ট্যাগ প্রকার: প্রোফাইল-নির্দিষ্ট উপাদান প্রকার: পূর্ণসংখ্যার বিন্যাস: প্রয়োজনীয়

kTag_WDMPathArrayIndexSelector

পাথ উপাদানটি স্কিমার একটি অ্যারের সাথে মিলে যায় এবং এতে থাকা পূর্ণসংখ্যা উপাদানটিকে সেই অ্যারের মধ্যে একটি সূচক হিসাবে ব্যবহার করতে হয়।

ট্যাগ প্রকার: প্রোফাইল-নির্দিষ্ট উপাদান প্রকার: পূর্ণসংখ্যার বিন্যাস: ঐচ্ছিক

kTag_WDMPathArrayValueSelector

পাথ উপাদানটি স্কিমার একটি অ্যারের সাথে মিলে যায় এবং এনক্যাপসুলেটেড উপাদানটি রেকর্ড নির্বাচক হিসাবে ব্যবহার করা হয়।

ট্যাগের ধরন: প্রোফাইল-নির্দিষ্ট উপাদানের ধরন: কাঠামোগত বিন্যাস: ঐচ্ছিক

kTag_WDMPathList

উপাদানটি হল TLV পাথের একটি তালিকা।

ট্যাগ টাইপ: প্রোফাইল-নির্দিষ্ট উপাদানের ধরন: অ্যারে ডিসপোজিশন: টপ-লেভেল

kTag_WDMPathProfile

উপাদান হল একটি কাঠামো যা একটি পথ শুরু করতে ব্যবহৃত হয় এবং এতে প্রোফাইল তথ্য থাকে যার আলোকে পাথের ট্যাগগুলিকে ব্যাখ্যা করা হয়।

ট্যাগের ধরন: প্রোফাইল-নির্দিষ্ট উপাদানের ধরন: কাঠামোগত বিন্যাস: প্রয়োজনীয়

kTag_WDMPathProfileId

উপাদানটি পাথ প্রোফাইল উপাদানের একটি প্রোফাইল আইডি উপাদান যা একটি TLV পাথ শুরু করে।

ট্যাগ প্রকার: প্রসঙ্গ-নির্দিষ্ট উপাদান প্রকার: পূর্ণসংখ্যার বিন্যাস: প্রয়োজনীয়

kTag_WDMPathProfileId_Deprecated

অবচয়।

ট্যাগ প্রকার: প্রোফাইল-নির্দিষ্ট উপাদান প্রকার: পূর্ণসংখ্যার বিন্যাস: প্রয়োজনীয়

kTag_WDMPathProfileInstance

উপাদানটি একটি প্রোফাইল উদাহরণ, যা একটি TLV পাথে প্রোফাইল আইডি অনুসরণ করতে পারে।

মনে রাখবেন যে একটি নোডে একটি নির্দিষ্ট প্রোফাইলের একাধিক দৃষ্টান্ত থাকতে পারে বা নাও থাকতে পারে এবং যেখানে শুধুমাত্র একটি আছে, এই উপাদানটি বাদ দেওয়া যেতে পারে।

ট্যাগের ধরন: প্রসঙ্গ-নির্দিষ্ট উপাদানের ধরন: যেকোন স্বভাব: ঐচ্ছিক

kTag_WDMPathProfileInstance_Deprecated

অবচয়।

ট্যাগের ধরন: প্রোফাইল-নির্দিষ্ট উপাদানের ধরন: যেকোন স্বভাব: ঐচ্ছিক

@171

 @171

বিশিষ্ট বিষয় আইডি.

আগ্রহের তিনটি বিশিষ্ট বিষয় আইডি আছে, যে তিনটির তিনটিই "প্রকাশক-নির্দিষ্ট" হিসাবে ফর্ম্যাট করা হয়েছে৷

বৈশিষ্ট্য
kAnyTopicId

এটি একটি ওয়াইল্ড-কার্ড বিষয় আইডি হিসাবে সংরক্ষিত।

kTopicIdNotSpecified

এটি একটি বিশেষ মান যা একটি অবৈধ বা একটি ওয়াইল্ড-কার্ড বিষয় ID প্রকাশ করার জন্য সংরক্ষিত।

kTopicIdPublisherSpecificMask

এটি একটি টপসি আইডি তৈরি বা পচানোর জন্য একটি মুখোশ হিসাবে ব্যবহৃত হয়।

ওয়েভ ট্রান্সপোর্ট অপশন

 WeaveTransportOption

WDM পরিবহন বিকল্প।

এগুলি WDM-এর জন্য পারস্পরিক একচেটিয়া পরিবহন বিকল্প।

বৈশিষ্ট্য
kTransport_TCP

অন্তর্নিহিত পরিবহন হল TCP.

বাইন্ডিং হয় সার্ভিস ম্যানেজার ব্যবহার করে বা সরাসরি মেসেজ লেয়ার ব্যবহার করে সম্পন্ন করা যেতে পারে।

kTransport_UDP

অন্তর্নিহিত পরিবহন একচেটিয়াভাবে UDP.

kTransport_WRMP

অন্তর্নিহিত পরিবহন একচেটিয়াভাবে UDP কিন্তু "অ্যাপ্লিকেশন সমর্থন স্তর" নির্ভরযোগ্যতা বৃদ্ধির সাথে।

Typedefs

বিষয় শনাক্তকারী

uint64_t TopicIdentifier

বিষয় শনাক্তকারী.

বিষয় শনাক্তকারী হল 64-বিট পরিমাণ দুটি সম্পর্কিত ব্যবহার/শব্দার্থবিদ্যা সহ। প্রথমত, এগুলি একটি সুপরিচিত পথের সেটের জন্য একটি প্রচলিত সংক্ষিপ্ত হস্ত হিসাবে ব্যবহার করা যেতে পারে, যেমন "নেস্ট স্মোক ডিটেক্টর"। এইভাবে ব্যবহৃত টপিক আইডিতে, প্রোফাইল শনাক্তকারীর মতো, একটি ভেন্ডর কোড থাকবে যা স্বায়ত্তশাসিতভাবে বেছে নেওয়া টপিক আইডিগুলিকে দ্বন্দ্ব থেকে বিরত রাখে, নিম্নরূপ:

বিট 48 - 63 বিট 0 - 47
বিক্রেতা সনাক্তকরন সংখ্যা বিষয় নম্বর
WDM ক্লায়েন্ট এবং একজন প্রকাশকের মধ্যে একটি গতিশীল সাবস্ক্রিপশনের ক্ষেত্রে টপিক শনাক্তকারীর জন্য দ্বিতীয় ব্যবহার/অর্থবোধকটি দেখা দেয়। এই ক্ষেত্রে, প্রকাশক সর্বদা একটি অনন্য টপিক আইডি সরবরাহ করবে যা নির্দিষ্ট সাবস্ক্রিপশনের জন্য দাঁড়ায় এবং এটি একটি সুপরিচিত বিষয় আইডি বা একটি নির্বিচারী পথ তালিকা ব্যবহার করে সাবস্ক্রিপশনের অনুরোধ করা হোক না কেন তা করবে৷ এই ফর্মের বিষয় শনাক্তকারীদের 0xFFFF এর একটি বিক্রেতা কোড দ্বারা আলাদা করা হয়।

আরো দেখুন:
WeaveVendorIdentifiers.hpp

ফাংশন

টিএলভি টাইপ চেক করুন

bool CheckTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

একটি TLV উপাদান যে পড়া হচ্ছে তার প্রত্যাশিত TLV প্রকার আছে কিনা পরীক্ষা করুন।

একটি TLV রিডারের মাথায় উপাদানের প্রকারের বিপরীতে একটি প্রদত্ত TLV প্রকার পরীক্ষা করুন।

বিস্তারিত
পরামিতি
[in] aType
TLVType একটি নির্দিষ্ট উপাদানের বিরুদ্ধে পরীক্ষা করা হবে
[in] aReader
একটি TLV রিডারের একটি রেফারেন্স যা চেক করার উপাদানটিতে অবস্থান করে
রিটার্নস
সত্য যদি উপাদানটির TLVType এবং aType মিলে যায়।
আরো দেখুন:
WeaveTLVTypes.h

WDMTag চেক করুন

bool CheckWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

একটি WDM-নির্দিষ্ট ট্যাগ পরীক্ষা করুন।

একটি TLV রিডারের মাথায় প্রকৃত ট্যাগের বিপরীতে .../data-management/DMConstants.h থেকে একটি WDM-নির্দিষ্ট ট্যাগের সংখ্যা পরীক্ষা করুন।

বিস্তারিত
পরামিতি
[in] aTagNum
একটি নির্দিষ্ট TLV উপাদানের বিপরীতে চেক করা ট্যাগ নম্বর।
[in] aReader
একটি TLV পাঠকের একটি রেফারেন্স যা চেক করা উপাদানটির দিকে নির্দেশ করে৷
রিটার্নস
true iff aReader.GetTag() একটি ট্যাগ তৈরি করে যা প্রদত্ত ট্যাগ নম্বরের জন্য প্রত্যাশিত ট্যাগ ফর্মগুলির একটির সাথে মেলে।

DataListElement বন্ধ করুন

WEAVE_ERROR CloseDataListElement(
  nl::Weave::TLV::TLVReader & aReader
)

একটি WDM ডেটা তালিকা উপাদান পড়া বন্ধ করুন।

এই পদ্ধতিটি অনুমান করে যে প্রশ্নে থাকা উপাদানটি একটি WDM ডেটা তালিকার অংশ এবং তাই kTLVType_Array কে ExitContainer() এ পাস করে।

বিস্তারিত
পরামিতি
[in,out] aReader
একটি TLV রিডার একটি WDM ডেটা তালিকা উপাদানে অবস্থান করে।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় একটি WEAVE_ERROR ফেরত যা একটি ধারক থেকে প্রস্থান করতে অক্ষমতা প্রতিফলিত করে৷

ক্লোজলিস্ট

WEAVE_ERROR CloseList(
  nl::Weave::TLV::TLVReader & aReader
)

একটি WDM পাথ বা ডেটা তালিকা পড়া বন্ধ করুন।

এই পদ্ধতিটি অনুমান করে যে প্রশ্নে থাকা তালিকাটি শীর্ষস্থানীয় TLV উপাদান এবং তাই kTLVType_Sructure থেকে ExitContainer() কে পাস করে।

বিস্তারিত
পরামিতি
[in,out] aReader
একটি TLV রিডার একটি WDM পাথ বা ডেটা তালিকায় অবস্থান করে।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় একটি WEAVE_ERROR ফেরত যা একটি ধারক থেকে প্রস্থান করতে অক্ষমতা প্রতিফলিত করে৷

Encode DeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

একটি ডাব্লুডিএম পাথকে অবহেলিত ট্যাগ এবং একটি পূর্ণসংখ্যা ইনস্ট্যান্স আইডি সহ এনকোড করুন।

দ্রষ্টব্য: Weave রিলিজ 2.0 এর আগে পরিষেবা দ্বারা গৃহীত অবচ্যুত ট্যাগ সেট ব্যবহার করে একটি পাথ এনকোড করুন। পদ্ধতির এই সংস্করণটি একটি সংখ্যাসূচক উদাহরণ শনাক্তকারী লাগে। এই পদ্ধতিটি ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) সহ একটি ধারক শুরু করে এবং তারপরে ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated) সহ প্রোফাইল ID সন্নিবেশ করায়। এটি তারপরে ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated) সহ ইনস্ট্যান্স আইডি সন্নিবেশ করায়। এটি একটি পাথ এনকোড করার জন্য অবহেলিত সংস্করণগুলির মধ্যে একটি, এবং নতুন ডিজাইনগুলি এই বিন্যাসটি ব্যবহার করা এড়িয়ে চলবে।

বিস্তারিত
পরামিতি
[in] aWriter
TLV লেখকের একটি রেফারেন্স পথটি লিখতে ব্যবহৃত হয়।
[in] aTag
সম্পূর্ণ-যোগ্য TLV ট্যাগের একটি রেফারেন্স যা এই পথে প্রযোজ্য।
[in] aProfileId
প্রোফাইল আইডি যার অধীনে পথের উপাদানগুলিকে ব্যাখ্যা করতে হবে৷
[in] aInstanceId
ব্যবহার করা প্রোফাইলের ঐচ্ছিক ইনস্ট্যান্স আইডির একটি রেফারেন্স।
[in] aPathLen
প্রাথমিক প্রোফাইল স্পেসিফায়ারের বাইরে পাথ উপাদানের তালিকার দৈর্ঘ্য সম্ভবত 0।
[in] ...
অতিরিক্ত পাথ ট্যাগের ঐচ্ছিক পরিবর্তনশীল-দৈর্ঘ্যের তালিকা।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় প্রদত্ত পাথ ফর্ম্যাট করতে অক্ষমতা প্রতিফলিত করে একটি WEAVE_ERROR ফেরত দিন।

Encode DeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

অপ্রচলিত ট্যাগ এবং একটি স্ট্রিং ইনস্ট্যান্স আইডি সহ একটি WDM পাথ এনকোড করুন।

দ্রষ্টব্য: অবচিত ট্যাগ সেট ব্যবহার করে একটি পাথ এনকোড করুন (DMConstants.h দেখুন)। পদ্ধতির এই সংস্করণটি একটি ইনস্ট্যান্স আইডি স্ট্রিং নেয়। এই পদ্ধতিটি ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) সহ একটি ধারক শুরু করে এবং তারপরে ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated) সহ প্রোফাইল ID সন্নিবেশ করায়। এটি তারপরে ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated) সহ ইনস্ট্যান্স আইডি সন্নিবেশ করায়। এটি একটি পাথ এনকোড করার জন্য অবহেলিত সংস্করণগুলির মধ্যে একটি, এবং নতুন ডিজাইনগুলি এই বিন্যাসটি ব্যবহার করা এড়িয়ে চলবে।

বিস্তারিত
পরামিতি
[in] aWriter
TLV লেখকের একটি রেফারেন্স পথটি লিখতে ব্যবহৃত হয়।
[in] aTag
সম্পূর্ণ-যোগ্য TLV ট্যাগের একটি রেফারেন্স যা এই পথে প্রযোজ্য।
[in] aProfileId
প্রোফাইল আইডি যার অধীনে পথের উপাদানগুলিকে ব্যাখ্যা করতে হবে৷
[in] aInstanceId
প্রোফাইল ইনস্ট্যান্স শনাক্তকারী হিসেবে ব্যবহৃত ঐচ্ছিক স্ট্রিং। কোন ইনস্ট্যান্স আইডি নির্দিষ্ট না থাকলে এই আর্গুমেন্টটি NULL হতে পারে।
[in] aPathLen
প্রাথমিক প্রোফাইল স্পেসিফায়ারের বাইরে পাথ উপাদানের তালিকার দৈর্ঘ্য সম্ভবত 0।
[in] ...
অতিরিক্ত পাথ ট্যাগের ঐচ্ছিক, পরিবর্তনশীল-দৈর্ঘ্যের তালিকা।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় প্রদত্ত পাথ ফর্ম্যাট করতে অক্ষমতা প্রতিফলিত করে একটি WEAVE_ERROR ফেরত দিন।

এনকোডপথ

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

একটি পূর্ণসংখ্যা প্রোফাইল ইনস্ট্যান্স আইডি সহ একটি WDM পাথ এনকোড করুন।

দ্রষ্টব্য: ডেটা ম্যানেজমেন্টে ব্যবহৃত ধরনের একটি TLV পাথ লিখুন যেখানে, বিশেষ করে, পরবর্তী পাথ উপাদানগুলির ব্যাখ্যার অনুমতি দেওয়ার জন্য শুরুতে একটি প্রোফাইল উপাধি দেওয়া আছে। পদ্ধতির এই সংস্করণটি একটি পূর্ণসংখ্যা প্রোফাইল ইনস্ট্যান্স আইডি নেয়।

এই পদ্ধতিটি ContextTag(kTag_WDMPathProfileInstance) ব্যবহার করে ইনস্ট্যান্স আইডি সন্নিবেশ করায়, যা একটি পাথ এনকোড করার সর্বশেষ সংস্করণ।

বিস্তারিত
পরামিতি
[in] aWriter
TLV লেখকের একটি রেফারেন্স পথটি লিখতে ব্যবহৃত হয়।
[in] aTag
সম্পূর্ণ-যোগ্য TLV ট্যাগের একটি রেফারেন্স যা এই পথে প্রযোজ্য।
[in] aProfileId
প্রোফাইল আইডি যার অধীনে পথের উপাদানগুলিকে ব্যাখ্যা করতে হবে৷
[in] aInstanceId
ব্যবহার করা প্রোফাইলের ঐচ্ছিক উদাহরণ শনাক্তকারীর একটি রেফারেন্স। যদি কোনো ইনস্ট্যান্স আইডি ব্যবহার করা না হয় তাহলে এই প্যারামিটারের একটি মান kInstanceIdNotSpecified থাকা উচিত।
[in] aPathLen
প্রাথমিক প্রোফাইল স্পেসিফায়ারের বাইরে পাথ উপাদানের তালিকার দৈর্ঘ্য সম্ভবত 0।
[in] ...
অতিরিক্ত পাথ ট্যাগের ঐচ্ছিক পরিবর্তনশীল-দৈর্ঘ্যের তালিকা।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় প্রদত্ত পাথ ফর্ম্যাট করতে অক্ষমতা প্রতিফলিত করে একটি WEAVE_ERROR ফেরত দিন।

এনকোডপথ

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint32_t aInstanceIdLen,
  const uint8_t *aInstanceId,
  uint32_t aPathLen,
  ...
)

একটি বাইট অ্যারে ইনস্ট্যান্স আইডি সহ একটি WDM পাথ এনকোড করুন।

দ্রষ্টব্য: ডেটা ম্যানেজমেন্টে ব্যবহৃত ধরনের একটি TLV পাথ লিখুন যেখানে, বিশেষ করে, পরবর্তী পাথ উপাদানগুলির ব্যাখ্যার অনুমতি দেওয়ার জন্য শুরুতে একটি প্রোফাইল উপাধি দেওয়া আছে। পদ্ধতির এই সংস্করণটি একটি দৈর্ঘ্য সহ একটি বাইট-অ্যারে প্রোফাইল ইনস্ট্যান্স আইডি নেয়।

এই পদ্ধতিটি ContextTag(kTag_WDMPathProfileInstance) ব্যবহার করে ইনস্ট্যান্স আইডি সন্নিবেশ করায়, যা একটি পাথ এনকোড করার সর্বশেষ সংস্করণ।

বিস্তারিত
পরামিতি
[in] aWriter
TLV লেখকের একটি রেফারেন্স পথটি লিখতে ব্যবহৃত হয়।
[in] aTag
সম্পূর্ণ-যোগ্য TLV ট্যাগের একটি রেফারেন্স যা এই পথে প্রযোজ্য।
[in] aProfileId
প্রোফাইল আইডি যার অধীনে পথের উপাদানগুলিকে ব্যাখ্যা করতে হবে৷
[in] aInstanceIdLen
বাইট অ্যারের দৈর্ঘ্য যা ইনস্ট্যান্স আইডি গঠন করে। যদি কোনো আইডি না থাকে তাহলে এই প্যারামিটারটির মান 0 হবে।
[in] aInstanceId
ঐচ্ছিক বাইট অ্যারে প্রোফাইল ইনস্ট্যান্স শনাক্তকারী হিসাবে ব্যবহৃত হয়। এই আর্গুমেন্টটি NULL হতে পারে যেখানে কোন ইনস্ট্যান্স আইডি নির্দিষ্ট করা নেই।
[in] aPathLen
প্রাথমিক প্রোফাইল স্পেসিফায়ারের বাইরে পাথ উপাদানের তালিকার দৈর্ঘ্য সম্ভবত 0।
[in] ...
অতিরিক্ত পাথ ট্যাগের ঐচ্ছিক, পরিবর্তনশীল-দৈর্ঘ্যের তালিকা।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় প্রদত্ত পাথ ফর্ম্যাট করতে অক্ষমতা প্রতিফলিত করে একটি WEAVE_ERROR ফেরত দিন।

এনকোডপথ

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

একটি স্ট্রিং ইনস্ট্যান্স আইডি সহ একটি WDM পাথ এনকোড করুন।

দ্রষ্টব্য: ডেটা ম্যানেজমেন্টে ব্যবহৃত ধরনের একটি TLV পাথ লিখুন যেখানে, বিশেষ করে, পরবর্তী পাথ উপাদানগুলির ব্যাখ্যার অনুমতি দেওয়ার জন্য শুরুতে একটি প্রোফাইল উপাধি দেওয়া আছে। পদ্ধতির এই সংস্করণটি একটি স্ট্রিং প্রোফাইল ইনস্ট্যান্স আইডি নেয়।

এই পদ্ধতিটি ContextTag(kTag_WDMPathProfileInstance) ব্যবহার করে ইনস্ট্যান্স আইডি সন্নিবেশ করায়, যা একটি পাথ এনকোড করার সর্বশেষ সংস্করণ।

বিস্তারিত
পরামিতি
[in] aWriter
TLV লেখকের একটি রেফারেন্স পথটি লিখতে ব্যবহৃত হয়।
[in] aTag
সম্পূর্ণ-যোগ্য TLV ট্যাগের একটি রেফারেন্স যা এই পথে প্রযোজ্য।
[in] aProfileId
প্রোফাইল আইডি যার অধীনে পথের উপাদানগুলিকে ব্যাখ্যা করতে হবে৷
[in] aInstanceId
প্রোফাইল ইনস্ট্যান্স শনাক্তকারী হিসেবে ব্যবহৃত ঐচ্ছিক স্ট্রিং। কোন ইনস্ট্যান্স আইডি নির্দিষ্ট না থাকলে এই আর্গুমেন্টটি NULL হতে পারে।
[in] aPathLen
প্রাথমিক প্রোফাইল স্পেসিফায়ারের বাইরে পাথ উপাদানের তালিকার দৈর্ঘ্য সম্ভবত 0।
[in] ...
অতিরিক্ত পাথ ট্যাগের ঐচ্ছিক, পরিবর্তনশীল-দৈর্ঘ্যের তালিকা।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় প্রদত্ত পাথ ফর্ম্যাট করতে অক্ষমতা প্রতিফলিত করে একটি WEAVE_ERROR ফেরত দিন।

EndDataListElement

WEAVE_ERROR EndDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

একটি ডেটা তালিকা উপাদান লেখা শেষ করুন।

একটি WDM ডেটা তালিকা উপাদানের শেষের জন্য TLV লিখুন। মনে রাখবেন যে এটি স্বয়ংক্রিয়ভাবে এক ধরনের kTLVType_Array-এ EndContainer() কলে চলে যায় এই অনুমান করে যে আমরা সবসময় একটি তালিকা আইটেম বন্ধ করছি।

বিস্তারিত
পরামিতি
[in] aWriter
একটি TLV লেখকের একটি রেফারেন্স যা দিয়ে আইটেমের শেষ লিখতে হবে।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় একটি WEAVE_ERROR ফেরত যা একটি ধারক শেষ করতে অক্ষমতা প্রতিফলিত করে৷

EndEncodePath

WEAVE_ERROR EndEncodePath(
  TLVWriter & aWriter,
  TLVType & mOuterContainer,
  WEAVE_ERROR mError
)

শেষ তালিকা

WEAVE_ERROR EndList(
  nl::Weave::TLV::TLVWriter & aWriter
)

একটি পথ তালিকা বা ডেটা তালিকা লেখা শেষ করুন।

একটি WDM পথ বা ডেটা তালিকার শেষের জন্য TLV লিখুন। এছাড়াও, লেখক চূড়ান্ত করুন.

বিস্তারিত
পরামিতি
[in,out] aWriter
একটি TLV লেখকের একটি রেফারেন্স যার সাথে তালিকার শেষ লিখতে হবে।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় একটি WEAVE_ERROR ফেরত যা একটি ধারক শেষ করতে অক্ষমতা প্রতিফলিত করে৷

শেষ তালিকা

WEAVE_ERROR EndList(
  ReferencedTLVData & aList,
  nl::Weave::TLV::TLVWriter & aWriter
)

একটি পথ তালিকা বা ডেটা তালিকা লেখা শেষ করুন।

একটি WDM পথ বা ডেটা তালিকার শেষের জন্য TLV লিখুন। এছাড়াও, লেখক চূড়ান্ত করুন. এই ক্ষেত্রে, যে রেফারেন্সডটিএলভিডেটা অবজেক্টে টিএলভি লেখা হচ্ছে তা পাস করা হয় এবং লেখা ডেটার পরিমাণ প্রতিফলিত করার জন্য পরিবর্তন করা হয়।

বিস্তারিত
পরামিতি
[in,out] aList
ReferenceTLVData অবজেক্টের একটি রেফারেন্স যেখানে তালিকাটি লেখা হচ্ছে।
[in] aWriter
একটি TLV লেখকের একটি রেফারেন্স যার সাথে তালিকার শেষ লিখতে হবে।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় একটি WEAVE_ERROR ফেরত যা একটি ধারক শেষ করতে অক্ষমতা প্রতিফলিত করে৷

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

একটি বিষয় আইডি প্রকাশক-নির্দিষ্ট কিনা তা পরীক্ষা করুন।

বিস্তারিত
পরামিতি
[in] aTopicId
একটি বিষয় সনাক্তকারী এবং চেক
রিটার্নস
বিষয় ID প্রকাশক-নির্দিষ্ট হলে সত্য, অন্যথায় মিথ্যা

OpenDataList

WEAVE_ERROR OpenDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVReader & aReader
)

একটি ডেটা তালিকা পড়া শুরু করুন।

একটি নতুন পাঠক এবং একটি ডেটা তালিকা দেওয়া হয়েছে, তালিকাটি পড়া শুরু করুন এবং প্রক্রিয়াটিতে প্রাথমিকভাবে সম্মুখীন ট্যাগ এবং প্রকারগুলি যাচাই করুন৷ সবকিছু ঠিকঠাক থাকলে, তালিকা ধারক প্রবেশ করার পরে পাঠক থামে।

বিস্তারিত
পরামিতি
[in] aDataList
একটি রেফারেন্সডটিএলভিডেটা অবজেক্টের রেফারেন্স হিসাবে পাস করা একটি ডেটা তালিকা। প্রাপ্তির পরেও তালিকাটি প্রকৃতপক্ষে বাফারে থাকা অবস্থায় সাধারণ ব্যবহারের ক্ষেত্রে হবে।
[out] aReader
ডেটা তালিকা পড়তে ব্যবহৃত একটি TLV পাঠকের একটি রেফারেন্স। এই পাঠককে তালিকার প্রথম আইটেমের ঠিক আগে নির্দেশ করে ছেড়ে দেওয়া হবে।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় ডেটা তালিকা খুলুন এবং/অথবা প্রাসঙ্গিক ট্যাগ এবং প্রকারগুলি যাচাই করে ব্যর্থতা প্রতিফলিত করে একটি WEAVE_ERROR ফেরত দিন।

OpenDataListElement

WEAVE_ERROR OpenDataListElement(
  nl::Weave::TLV::TLVReader & aReader,
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t & aVersion
)

একটি তথ্য তালিকা উপাদান পড়া শুরু করুন.

একটি ডেটা তালিকা উপাদানে অবস্থানরত একজন পাঠককে দেওয়া, উপাদানটি পড়া শুরু করুন এবং প্রক্রিয়াটিতে প্রাথমিকভাবে সম্মুখীন ট্যাগ এবং প্রকারগুলি যাচাই করুন৷ সবকিছু ঠিকঠাক থাকলে, পাঠক ডেটা উপাদান ডেটাতে অবস্থান করে এবং ইন/আউট পাথ রিডার সংশ্লিষ্ট পাথে অবস্থান করে।

বিস্তারিত
পরামিতি
[in] aReader
একটি তথ্য তালিকা উপাদানে অবস্থান করা একটি TLV পাঠকের একটি রেফারেন্স।
[out] aPathReader
ডেটা তালিকা উপাদানের পাথ উপাদানের দিকে নির্দেশ করতে একটি TLV পাঠকের একটি রেফারেন্স।
[out] aVersion
একটি 64-বিট পূর্ণসংখ্যার একটি রেফারেন্স যা হয় ডেটা তালিকা উপাদান সংস্করণে সেট করতে হবে যদি একটি উপস্থিত থাকে বা অন্যথায় kVersionNotSpecified.
রিটার্নস
সাফল্যের উপর WEAVE_NO_ERROR বা অন্যথায় একটি WEAVE_ERROR ডেটা তালিকা উপাদান খোলার এবং পড়ার সাথে যুক্ত৷

OpenPathList

WEAVE_ERROR OpenPathList(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVReader & aReader
)

একটি পথ তালিকা পড়া শুরু করুন.

একটি নতুন পাঠক এবং একটি পাথ তালিকা দেওয়া হয়েছে, তালিকাটি পড়া শুরু করুন এবং প্রক্রিয়াটিতে প্রাথমিকভাবে সম্মুখীন ট্যাগ এবং প্রকারগুলি যাচাই করুন৷ সবকিছু ঠিকঠাক থাকলে, তালিকা ধারক প্রবেশ করার পরে পাঠক থামে।

বিস্তারিত
পরামিতি
[in] aPathList
একটি ReferencedTLVData অবজেক্টের রেফারেন্স হিসাবে একটি পাথ তালিকা পাস করা হয়েছে। প্রাপ্তির পরেও তালিকাটি প্রকৃতপক্ষে বাফারে থাকা অবস্থায় সাধারণ ব্যবহারের ক্ষেত্রে হবে।
[out] aReader
পাথ তালিকা পড়তে ব্যবহৃত একটি TLV পাঠকের একটি রেফারেন্স। এই পাঠককে তালিকার প্রথম পথের ঠিক আগে নির্দেশ করা হবে।
রিটার্নস
সাফল্যে WEAVE_NO_ERROR ; অন্যথায়, একটি WEAVE_ERROR ব্যর্থতা প্রতিফলিত করে পাথ তালিকা খুলুন এবং/অথবা প্রাসঙ্গিক ট্যাগ এবং প্রকারগুলি যাচাই করুন৷

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

স্ক্র্যাচ থেকে একটি প্রকাশক-নির্দিষ্ট বিষয় আইডি তৈরি করুন।

বিস্তারিত
রিটার্নস
নতুন বিষয় শনাক্তকারী।

স্ট্যাটাস রিপোর্ট পাঠান

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

WEAVE_ERROR StartDataList(
  nl::Weave::TLV::TLVWriter & aWriter
)

একটি ডেটা তালিকা লিখতে শুরু করুন।

একটি WDM ডেটা তালিকার শুরুর জন্য TLV লিখুন, যেমন একটি UpdateRequest() এর প্রাথমিক আর্গুমেন্ট হিসাবে।

বিস্তারিত
পরামিতি
[in] aWriter
একটি TLV লেখকের একটি রেফারেন্স যা দিয়ে লেখা শুরু করতে হবে।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় একটি WEAVE_ERROR ফেরত যা একটি ধারক শুরু করতে অক্ষমতা প্রতিফলিত করে৷

StartDataList

WEAVE_ERROR StartDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVWriter & aWriter
)

একটি প্রদত্ত ReferencedTLVData অবজেক্টে একটি ডেটা তালিকা লেখা শুরু করুন।

একটি WDM ডেটা তালিকার শুরুর জন্য TLV লিখুন। এই ক্ষেত্রে, আমরা অনুমান করি যে আমরা একটি উল্লেখিত TLV ডেটা কাঠামোতে ডেটা তালিকা লিখছি। লেখককে অপ্রচলিত বলে ধরে নেওয়া হয় - বা, যে কোনও ক্ষেত্রে, প্রদত্ত বস্তুটিকে নির্দেশ করার জন্য শুরু করা হবে।

বিস্তারিত
পরামিতি
[out] aDataList
একটি ReferencedTLVData অবজেক্টের একটি রেফারেন্স যা লেখকের লক্ষ্য হতে হবে এবং অবশেষে আগ্রহের ডেটা ধারণ করবে।
[in] aWriter
একটি TLV লেখকের একটি রেফারেন্স যা দিয়ে লেখা শুরু করতে হবে।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় একটি WEAVE_ERROR ফেরত যা একটি ধারক শুরু করতে অক্ষমতা প্রতিফলিত করে৷

StartDataListElement

WEAVE_ERROR StartDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

একটি ডেটা তালিকা উপাদান লেখা শুরু করুন।

একটি WDM ডেটা তালিকা উপাদানের শুরুর জন্য TLV লিখুন।

বিস্তারিত
পরামিতি
[in] aWriter
একটি TLV লেখকের একটি রেফারেন্স যা দিয়ে লেখা শুরু করতে হবে।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় একটি WEAVE_ERROR ফেরত যা একটি ধারক শুরু করতে অক্ষমতা প্রতিফলিত করে৷

এনকোডপাথ শুরু করুন

WEAVE_ERROR StartEncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  TLVType & mOuterContainer,
  TLVType & mPath
)

স্টার্টপাথলিস্ট

WEAVE_ERROR StartPathList(
  nl::Weave::TLV::TLVWriter & aWriter
)

একটি পথ তালিকা লিখতে শুরু করুন।

একটি WDM পাথ তালিকার শুরুর জন্য TLV লিখুন, যেমন একটি ViewRequest() এর প্রাথমিক যুক্তি হিসাবে।

বিস্তারিত
পরামিতি
[in] aWriter
একটি TLV লেখকের একটি রেফারেন্স যা দিয়ে লেখা শুরু করতে হবে।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় একটি WEAVE_ERROR ফেরত যা একটি ধারক শুরু করতে অক্ষমতা প্রতিফলিত করে৷

TxnResponseHandler

void TxnResponseHandler(
  ExchangeContext *anExchangeCtx,
  const IPPacketInfo *anAddrInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

TxnTimeoutHandler

void TxnTimeoutHandler(
  ExchangeContext *anExchangeCtx
)

TLVType যাচাই করুন

WEAVE_ERROR ValidateTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

একটি TLV উপাদান যে পঠিত হচ্ছে তার প্রত্যাশিত TLV প্রকার রয়েছে তা যাচাই করুন।

একটি TLV রিডারের মাথায় উপাদান প্রকারের বিপরীতে একটি প্রদত্ত TLV প্রকার চেক করুন এবং কোনো মিল না থাকলে একটি ত্রুটি ফেরত দিন।

বিস্তারিত
পরামিতি
[in] aType
TLVType একটি নির্দিষ্ট উপাদানের বিরুদ্ধে যাচাই করা হবে।
[in] aReader
যাচাই করার জন্য উপাদানটিতে অবস্থান করা একটি TLV পাঠকের একটি রেফারেন্স।
রিটার্নস
মিল থাকলে WEAVE_NO_ERROR অথবা WEAVE_ERROR_WRONG_TLV_TYPE না থাকলে।
আরো দেখুন:
WeaveTLVTypes.h

WDMTag যাচাই করুন

WEAVE_ERROR ValidateWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

একটি TLV উপাদান যে পঠিত হচ্ছে তাতে প্রত্যাশিত WDM ট্যাগ রয়েছে তা যাচাই করুন।

বিস্তারিত
পরামিতি
[in] aTagNum
প্রত্যাশিত WDM ট্যাগের 32-বিট ট্যাগ নম্বর।
[in] aReader
একটি TLV পাঠক উপাদানটিতে অবস্থান করে যা যাচাই করা হবে।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় WEAVE_ERROR_INVALID_TLV_TAG যদি একটি WDM ট্যাগ হিসাবে ব্যাখ্যা করার সময় ট্যাগটি প্রদত্ত ট্যাগ নম্বরের সাথে মেলে না।