nl:: বুনা:: টিএলভি

Weave TLV ফরম্যাটে এনকোড করা ডেটার সাথে কাজ করার সংজ্ঞা।

সারাংশ

উইভ TLV হল সাধারণ কাঠামোগত ডেটার জন্য একটি সাধারণ এনকোডিং পদ্ধতি। এটি সাধারণত ব্যবহৃত JSON সিরিয়ালাইজেশন বিন্যাসের সাথে অনেক বৈশিষ্ট্য শেয়ার করে যখন তারের উপর যথেষ্ট বেশি কম্প্যাক্ট হয়।

গণনা

@71 enum
@73 enum
@74 {
AnonymousTag = kSpecialTagMarker | 0x00000000FFFFFFFFULL
}
enum
@75 enum
TLVCommonProfiles {
kProfileIdNotSpecified = 0xFFFFFFFF
}
enum
TLVElementType enum
TLVFieldSize enum
TLVTagControl enum
TLVTagFields enum
TLVType enum
একটি TLV উপাদানের ধরন সনাক্তকারী একটি গণনা৷

ভেরিয়েবল

kWeaveTLVCopyChunkSize = 16
const size_t
পাঠক বস্তু থেকে লেখকের মধ্যে একটি TLV উপাদান কপি করে।
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
const uint8_t

ফাংশন

CommonTag (uint32_t tagNum)
uint64_t
একটি সাধারণ প্রোফাইল TLV ট্যাগের API উপস্থাপনা তৈরি করে।
ContextTag (uint8_t tagNum)
uint64_t
প্রসঙ্গ-নির্দিষ্ট TLV ট্যাগের জন্য API উপস্থাপনা তৈরি করে।
GetTLVFieldSize (uint8_t type)
TLVFieldSize
IsContextTag (uint64_t tag)
bool
সরবরাহকৃত ট্যাগটি একটি প্রসঙ্গ-নির্দিষ্ট ট্যাগ হলে সত্য দেখায়।
IsProfileTag (uint64_t tag)
bool
সরবরাহকৃত ট্যাগের সত্য রিটার্ন হল একটি প্রোফাইল-নির্দিষ্ট ট্যাগ।
IsSpecialTag (uint64_t tag)
bool
IsValidTLVType (uint8_t type)
bool
নির্দিষ্ট TLV প্রকার বৈধ হলে সত্য দেখায়।
ProfileIdFromTag (uint64_t tag)
uint32_t
একটি TLV ট্যাগ থেকে প্রোফাইল আইডি ফেরত দেয়।
ProfileNumFromTag (uint64_t tag)
uint16_t
একটি TLV ট্যাগ থেকে প্রোফাইল নম্বর প্রদান করে।
ProfileTag (uint32_t profileId, uint32_t tagNum)
uint64_t
একটি প্রোফাইল আইডি এবং ট্যাগ নম্বর থেকে একটি প্রোফাইল-নির্দিষ্ট TLV ট্যাগের API উপস্থাপনা তৈরি করে।
ProfileTag (uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
uint64_t
একটি বিক্রেতা আইডি, প্রোফাইল নম্বর এবং ট্যাগ নম্বর থেকে একটি প্রোফাইল-নির্দিষ্ট TLV ট্যাগের API উপস্থাপনা তৈরি করে।
TLVFieldSizeToBytes (TLVFieldSize fieldSize)
uint8_t
TLVTypeHasLength (uint8_t type)
bool
যদি নির্দিষ্ট TLV প্রকার একটি সংশ্লিষ্ট দৈর্ঘ্যের ক্ষেত্রের উপস্থিতি বোঝায় তাহলে সত্য ফেরত দেয়।
TLVTypeHasValue (uint8_t type)
bool
যদি নির্দিষ্ট TLV প্রকার একটি সংশ্লিষ্ট মান ক্ষেত্রের উপস্থিতি বোঝায় তাহলে সত্য প্রদান করে।
TLVTypeIsContainer (uint8_t type)
bool
নির্দিষ্ট TLV প্রকার একটি ধারক হলে সত্য প্রদান করে।
TLVTypeIsString (uint8_t type)
bool
নির্দিষ্ট TLV প্রকারটি একটি UTF8 বা বাইট স্ট্রিং হলে সত্য দেখায়।
TagNumFromTag (uint64_t tag)
uint32_t
একটি TLV ট্যাগ থেকে ট্যাগ নম্বর প্রদান করে।
VendorIdFromTag (uint64_t tag)
uint16_t
একটি TLV ট্যাগ থেকে বিক্রেতা আইডি ফেরত দেয়।

ক্লাস

nl:: বুনন:: TLV:: CircularTLVReader
nl:: বুনন:: TLV:: CircularTLVWriter
nl:: বুনা:: TLV:: TLVReader

Weave TLV ফর্ম্যাটে এনকোড করা ডেটার জন্য একটি মেমরি দক্ষ পার্সার প্রদান করে।

nl:: বুনন:: TLV:: TLVUpdater

TLV এনকোডিং-এ উপাদান সম্পাদনা/সংযোজন/মোছার জন্য একটি ইউনিফাইড রিডার/রাইটার ইন্টারফেস প্রদান করে।

nl:: বুনন:: TLV:: TLVWriter

Weave TLV ফরম্যাটে ডেটা লেখার জন্য একটি মেমরি দক্ষ এনকোডার প্রদান করে।

nl:: বুনন:: TLV:: WeaveCircularTLVBuffer

WeaveCircularTLVBuffer nl::Weave::TLV::TLVWriter এবং nl::Weave::TLVTLVReader-এর জন্য সার্কুলার স্টোরেজ প্রদান করে।

নামস্থান

nl:: বুনা:: TLV:: ডিবাগ

এই নেমস্পেসটিতে ওয়েভ টিএলভি ডিবাগিং এবং লগিং করার জন্য প্রকার এবং ইন্টারফেস অন্তর্ভুক্ত রয়েছে।

nl:: বুনন:: TLV:: উপযোগিতা

এই নেমস্পেসে ওয়েভ TLV-এর সাথে পরিচালনা এবং কাজ করার জন্য প্রকার এবং ইউটিলিটি ইন্টারফেস অন্তর্ভুক্ত রয়েছে।

গণনা

@71

 @71

@৭৩

 @73

@৭৪

 @74
বৈশিষ্ট্য
AnonymousTag

একটি মান যা একটি TLV উপাদানকে নির্দেশ করে যার কোনো ট্যাগ নেই (যেমন

একটি বেনামী উপাদান)।

@75

 @75

TLVCommonProfiles

 TLVCommonProfiles
বৈশিষ্ট্য
kProfileIdNotSpecified

ভেরিয়েবল বা সদস্যের প্রোফাইল আইডির অনুপস্থিতি নির্দেশ করতে ব্যবহৃত হয়।

এটি মূলত WeaveProfiles.h- এ সংজ্ঞায়িত kWeaveProfile_NotSpecified এর মতই।

TLVElementType

 TLVElementType

টিএলভিফিল্ড সাইজ

 TLVFieldSize

TLVTagControl

 TLVTagControl

TLVTagFields

 TLVTagFields

TLVType

 TLVType

একটি TLV উপাদানের ধরন সনাক্তকারী একটি গণনা৷

ভেরিয়েবল

kWeaveTLVCopyChunkSize

const size_t kWeaveTLVCopyChunkSize = 16

পাঠক বস্তু থেকে লেখকের মধ্যে একটি TLV উপাদান কপি করে।

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

বিস্তারিত
পরামিতি
[in] tag
কন্টেইনারের সাথে এনকোড করা TLV ট্যাগ, অথবা AnonymousTag যদি ধারকটিকে ট্যাগ ছাড়াই এনকোড করা উচিত। ট্যাগ মানগুলি একটি ট্যাগ সংজ্ঞা ফাংশন ProfileTag() , ContextTag() বা CommonTag() দিয়ে তৈরি করা উচিত।
[in] reader
একটি প্রাক-এনকোড করা TLV উপাদান সনাক্তকারী একটি TLVReader অবজেক্টের একটি রেফারেন্স যার ধরন এবং মান অনুলিপি করা উচিত।
রিটার্ন মান
WEAVE_NO_ERROR
যদি পদ্ধতি সফল হয়।
WEAVE_ERROR_INCORRECT_STATE
যদি সরবরাহকৃত পাঠক একটি উপাদানের উপর অবস্থান না করে থাকে।
WEAVE_ERROR_TLV_CONTAINER_OPEN
যদি বর্তমান লেখকের উপর একটি ধারক লেখক খোলা হয়েছে এবং এখনও বন্ধ করা হয়নি।
WEAVE_ERROR_TLV_UNDERRUN
যদি সরবরাহকৃত পাঠকের সাথে যুক্ত অন্তর্নিহিত TLV এনকোডিং অকালে শেষ হয়ে যায়।
WEAVE_ERROR_INVALID_TLV_ELEMENT
যদি সরবরাহকৃত পাঠক একটি অবৈধ বা অসমর্থিত TLV উপাদানের প্রকারের সম্মুখীন হয়।
WEAVE_ERROR_INVALID_TLV_TAG
যদি সরবরাহকৃত পাঠক একটি অবৈধ প্রসঙ্গে একটি TLV ট্যাগের সম্মুখীন হয়, অথবা যদি সরবরাহকৃত ট্যাগটি অবৈধ বা অনুপযুক্ত হয় যে প্রসঙ্গে নতুন ধারকটি লেখা হচ্ছে।
WEAVE_ERROR_BUFFER_TOO_SMALL
যদি লেখার মানটি লেখকের সূচনা করার সময় নির্দিষ্ট করা বাইটের সর্বোচ্চ সংখ্যার সীমা অতিক্রম করে।
WEAVE_ERROR_NO_MEMORY
যদি মেমরির অভাবের কারণে একটি আউটপুট বাফার বরাদ্দ করার প্রচেষ্টা ব্যর্থ হয়।
other
কনফিগার করা GetNewBuffer() বা FinalizeBuffer() ফাংশন, অথবা রিডার অবজেক্টের সাথে যুক্ত GetNextBuffer() ফাংশন দ্বারা ফেরত অন্যান্য ওয়েভ বা প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটি।

sTagSizes

const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }

ফাংশন

কমনট্যাগ

uint64_t CommonTag(
  uint32_t tagNum
)

একটি সাধারণ প্রোফাইল TLV ট্যাগের API উপস্থাপনা তৈরি করে।

বিস্তারিত
পরামিতি
[in] tagNum
ট্যাগের জন্য নির্ধারিত সাধারণ প্রোফাইল ট্যাগ নম্বর।
রিটার্নস
একটি 64-বিট পূর্ণসংখ্যা ট্যাগ প্রতিনিধিত্ব করে।

প্রসঙ্গ ট্যাগ

uint64_t ContextTag(
  uint8_t tagNum
)

প্রসঙ্গ-নির্দিষ্ট TLV ট্যাগের জন্য API উপস্থাপনা তৈরি করে।

বিস্তারিত
পরামিতি
[in] tagNum
ট্যাগের জন্য নির্ধারিত প্রসঙ্গ-নির্দিষ্ট ট্যাগ নম্বর।
রিটার্নস
একটি 64-বিট পূর্ণসংখ্যা ট্যাগ প্রতিনিধিত্ব করে।

GetTLVFieldSize

TLVFieldSize GetTLVFieldSize(
  uint8_t type
)

IsContextTag

bool IsContextTag(
  uint64_t tag
)

সরবরাহকৃত ট্যাগটি একটি প্রসঙ্গ-নির্দিষ্ট ট্যাগ হলে সত্য দেখায়।

IsProfileTag

bool IsProfileTag(
  uint64_t tag
)

সরবরাহকৃত ট্যাগের সত্য রিটার্ন হল একটি প্রোফাইল-নির্দিষ্ট ট্যাগ।

IsSpecialTag

bool IsSpecialTag(
  uint64_t tag
)

IsValidTLVType

bool IsValidTLVType(
  uint8_t type
)

নির্দিষ্ট TLV প্রকার বৈধ হলে সত্য দেখায়।

বিস্তারিত
রিটার্নস
নির্দিষ্ট TLV প্রকার বৈধ হলে true ; অন্যথায় false

ProfileIdFromTag

uint32_t ProfileIdFromTag(
  uint64_t tag
)

একটি TLV ট্যাগ থেকে প্রোফাইল আইডি ফেরত দেয়।

বিস্তারিত
পরামিতি
[in] tag
একটি প্রোফাইল-নির্দিষ্ট TLV ট্যাগের API উপস্থাপনা।
রিটার্নস
প্রোফাইল আইডি।

ProfileNumFromTag

uint16_t ProfileNumFromTag(
  uint64_t tag
)

একটি TLV ট্যাগ থেকে প্রোফাইল নম্বর প্রদান করে।

বিস্তারিত
পরামিতি
[in] tag
একটি প্রোফাইল-নির্দিষ্ট TLV ট্যাগের API উপস্থাপনা।
রিটার্নস
সংশ্লিষ্ট প্রোফাইল নম্বর।

প্রোফাইল ট্যাগ

uint64_t ProfileTag(
  uint32_t profileId,
  uint32_t tagNum
)

একটি প্রোফাইল আইডি এবং ট্যাগ নম্বর থেকে একটি প্রোফাইল-নির্দিষ্ট TLV ট্যাগের API উপস্থাপনা তৈরি করে।

বিস্তারিত
পরামিতি
[in] profileId
প্রোফাইলের আইডি যার মধ্যে ট্যাগটি সংজ্ঞায়িত করা হয়েছে৷
[in] tagNum
ট্যাগে নির্দিষ্ট করা প্রোফাইল-নির্দিষ্ট ট্যাগ নম্বর।
রিটার্নস
একটি 64-বিট পূর্ণসংখ্যা ট্যাগ প্রতিনিধিত্ব করে।

প্রোফাইল ট্যাগ

uint64_t ProfileTag(
  uint16_t vendorId,
  uint16_t profileNum,
  uint32_t tagNum
)

একটি বিক্রেতা আইডি, প্রোফাইল নম্বর এবং ট্যাগ নম্বর থেকে একটি প্রোফাইল-নির্দিষ্ট TLV ট্যাগের API উপস্থাপনা তৈরি করে।

বিস্তারিত
পরামিতি
[in] vendorId
ট্যাগ সংজ্ঞায়িত যে বিক্রেতার আইডি.
[in] profileNum
যে প্রোফাইলের মধ্যে ট্যাগটি সংজ্ঞায়িত করা হয়েছে তার জন্য বিক্রেতার নির্ধারিত নম্বর।
[in] tagNum
ট্যাগে নির্দিষ্ট করা প্রোফাইল-নির্দিষ্ট ট্যাগ নম্বর।
রিটার্নস
একটি 64-বিট পূর্ণসংখ্যা ট্যাগ প্রতিনিধিত্ব করে।

TLVFieldSizeToBytes

uint8_t TLVFieldSizeToBytes(
  TLVFieldSize fieldSize
)

TLVTypeHasLength

bool TLVTypeHasLength(
  uint8_t type
)

যদি নির্দিষ্ট TLV প্রকার একটি সংশ্লিষ্ট দৈর্ঘ্যের ক্ষেত্রের উপস্থিতি বোঝায় তাহলে সত্য ফেরত দেয়।

বিস্তারিত
রিটার্নস
true যদি নির্দিষ্ট TLV প্রকার একটি সংশ্লিষ্ট দৈর্ঘ্য ক্ষেত্রের উপস্থিতি বোঝায়; অন্যথায় false

TLVTypeHasValue

bool TLVTypeHasValue(
  uint8_t type
)

যদি নির্দিষ্ট TLV প্রকার একটি সংশ্লিষ্ট মান ক্ষেত্রের উপস্থিতি বোঝায় তাহলে সত্য প্রদান করে।

বিস্তারিত
রিটার্নস
true যদি নির্দিষ্ট TLV প্রকার একটি সম্পর্কিত মান ক্ষেত্রের উপস্থিতি বোঝায়; অন্যথায় false

TLVTypeIsContainer

bool TLVTypeIsContainer(
  uint8_t type
)

নির্দিষ্ট TLV প্রকার একটি ধারক হলে সত্য প্রদান করে।

বিস্তারিত
রিটার্নস
true যদি নির্দিষ্ট TLV প্রকার একটি ধারক হয়; অন্যথায় false

TLVTypeIsString

bool TLVTypeIsString(
  uint8_t type
)

নির্দিষ্ট TLV প্রকারটি একটি UTF8 বা বাইট স্ট্রিং হলে সত্য দেখায়।

বিস্তারিত
রিটার্নস
true যদি নির্দিষ্ট TLV প্রকারটি একটি UTF8 বা বাইট স্ট্রিং হয়; অন্যথায় false

TagNumFromTag

uint32_t TagNumFromTag(
  uint64_t tag
)

একটি TLV ট্যাগ থেকে ট্যাগ নম্বর প্রদান করে।

বিস্তারিত
পরামিতি
[in] tag
একটি প্রোফাইল-নির্দিষ্ট বা প্রসঙ্গ-নির্দিষ্ট TLV ট্যাগের API উপস্থাপনা।
রিটার্নস
সংশ্লিষ্ট ট্যাগ নম্বর।
আরও দেখুন:
IsProfileTag() এবং IsContextTag()

VendorIdFromTag

uint16_t VendorIdFromTag(
  uint64_t tag
)

একটি TLV ট্যাগ থেকে বিক্রেতা আইডি ফেরত দেয়।

বিস্তারিত
পরামিতি
[in] tag
একটি প্রোফাইল-নির্দিষ্ট TLV ট্যাগের API উপস্থাপনা।
রিটার্নস
সংশ্লিষ্ট বিক্রেতা আইডি।