nl::Weave

সারাংশ

গণনা

@21{
  kFlagConnectionClosed = 0x0002,
  kFlagAutoRequestAck = 0x0004,
  kFlagDropAck = 0x0008,
  kFlagResponseExpected = 0x0010,
  kFlagAckPending = 0x0020,
  kFlagPeerRequestedAck = 0x0040,
  kFlagMsgRcvdFromPeer = 0x0080,
  kFlagAutoReleaseKey = 0x0100,
  kFlagAutoReleaseConnection = 0x0200,
  kFlagUseEphemeralUDPPort = 0x0400
}
enum
@36 enum
@37 enum
@38{
  kFabricIdDefaultForTest = 1ULL
}
enum
@39{
  kCertType_NotSpecified = 0x00,
  kCertType_General = 0x01,
  kCertType_Device = 0x02,
  kCertType_ServiceEndpoint = 0x03,
  kCertType_FirmwareSigning = 0x04,
  kCertType_AccessToken = 0x05,
  kCertType_CA = 0x06,
  kCertType_AppDefinedBase = 0x7F,
  kCertType_Max = 0xFF
}
enum
সার্টিফিকেটের উদ্দেশ্য বা অ্যাপ্লিকেশন শনাক্ত করে।
@40 enum
পাসওয়ার্ড-ভিত্তিক যাচাইকরণ প্রোটোকলে (যেমন,
@41{
  kWeaveAuthMode_NotSpecified = 0x0000,
  kWeaveAuthModeCategory_General = 0x0000,
  kWeaveAuthModeCategory_PASE = 0x1000,
  kWeaveAuthModeCategory_CASE = 0x2000,
  kWeaveAuthModeCategory_TAKE = 0x3000,
  kWeaveAuthModeCategory_GroupKey = 0x4000,
  kWeaveAuthModeCategory_AppDefinedBase = 0xC000,
  kWeaveAuthMode_Unauthenticated = kWeaveAuthModeCategory_General | 0x001,
  kWeaveAuthMode_PASE_PairingCode = kWeaveAuthModeCategory_PASE | kPasswordSource_PairingCode,
  kWeaveAuthMode_CASE_AnyCert = kWeaveAuthModeCategory_CASE | kCertType_NotSpecified,
  kWeaveAuthMode_CASE_GeneralCert = kWeaveAuthModeCategory_CASE | kCertType_General,
  kWeaveAuthMode_CASE_Device = kWeaveAuthModeCategory_CASE | kCertType_Device,
  kWeaveAuthMode_CASE_ServiceEndPoint = kWeaveAuthModeCategory_CASE | kCertType_ServiceEndpoint,
  kWeaveAuthMode_CASE_AccessToken = kWeaveAuthModeCategory_CASE | kCertType_AccessToken,
  kWeaveAuthMode_TAKE_IdentificationKey = kWeaveAuthModeCategory_TAKE | 0x001
}
enum
@42{
  kFabricSecretScope_All = 0x00
}
enum
@43{
  kTestKey_AES128CTRSHA1_DataKeyByte = 0xAB,
  kTestKey_AES128CTRSHA1_IntegrityKeyByte = 0xBA
}
enum
@44 enum
Weave মেসেজ এনক্রিপশন অ্যাপ্লিকেশন কী ডাইভার্সিফায়ার সাইজ।
@45 enum
@53 enum
@54{
  kWeavePeerDescription_MaxLength = 100
}
enum
@55{
  kWeaveHeaderFlag_DestNodeId = 0x0100,
  kWeaveHeaderFlag_SourceNodeId = 0x0200,
  kWeaveHeaderFlag_TunneledData = 0x0400,
  kWeaveHeaderFlag_MsgCounterSyncReq = 0x0800
}
enum
এনকোড করা Weave মেসেজের হেডারের সাথে সম্পর্কিত সংজ্ঞা।
@56{
  kEUI64_UL_Mask = 0x0200000000000000ULL,
  kEUI64_UL_Unversal = 0,
  kEUI64_UL_Local = kEUI64_UL_Mask,
  kEUI64_IG_Mask = 0x0100000000000000ULL,
  kEUI64_IG_Individual = 0,
  kEUI64_IG_Group = kEUI64_IG_Mask
}
enum
IEEE EUI-64 শনাক্তকারীর জন্য বিট ফিল্ডের সংজ্ঞা।
@57{
  kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
enum
Weave নোড আইডির বিশেষ রেঞ্জ।
WeaveEncryptionType{
  kWeaveEncryptionType_None = 0,
  kWeaveEncryptionType_AES128CTRSHA1 = 1
}
enum
Weave মেসেজের জন্য এনক্রিপশনের ধরন।
WeaveExchangeFlags{
  kWeaveExchangeFlag_Initiator = 0x1,
  kWeaveExchangeFlag_AckId = 0x2,
  kWeaveExchangeFlag_NeedsAck = 0x4
}
enum
Weave Exchange হেডার ফ্ল্যাগ বিট।
WeaveExchangeVersion enum
Weave Exchange হেডার ভার্সন।
WeaveMessageFlags{
  kWeaveMessageFlag_ReuseMessageId = 0x00000010,
  kWeaveMessageFlag_ReuseSourceId = 0x00000020,
  kWeaveMessageFlag_DelaySend = 0x00000040,
  kWeaveMessageFlag_RetainBuffer = 0x00000080,
  kWeaveMessageFlag_MessageEncoded = 0x00001000,
  kWeaveMessageFlag_DefaultMulticastSourceAddress = 0x00002000,
  kWeaveMessageFlag_PeerRequestedAck = 0x00004000,
  kWeaveMessageFlag_DuplicateMessage = 0x00008000,
  kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized = 0x00010000,
  kWeaveMessageFlag_FromInitiator = 0x00020000,
  kWeaveMessageFlag_ViaEphemeralUDPPort = 0x00040000,
  kWeaveMessageFlag_MulticastFromLinkLocal = kWeaveMessageFlag_DefaultMulticastSourceAddress,
  kWeaveMessageFlag_DestNodeId = kWeaveHeaderFlag_DestNodeId,
  kWeaveMessageFlag_SourceNodeId = kWeaveHeaderFlag_SourceNodeId,
  kWeaveMessageFlag_TunneledData = kWeaveHeaderFlag_TunneledData,
  kWeaveMessageFlag_MsgCounterSyncReq = kWeaveHeaderFlag_MsgCounterSyncReq
}
enum
ইনবাউন্ড বা আউটবাউন্ড Weave মেসেজের সাথে যুক্ত ফ্ল্যাগ।
WeaveMessageVersion{
  kWeaveMessageVersion_Unspecified = 0,
  kWeaveMessageVersion_V1 = 1,
  kWeaveMessageVersion_V2 = 2
}
enum
Weave মেসেজ ফর্ম্যাটের ভার্সন।
WeaveSubnetId{
  kWeaveSubnetId_NotSpecified = 0,
  kWeaveSubnetId_PrimaryWiFi = 1,
  kWeaveSubnetId_ThreadAlarm = 2,
  kWeaveSubnetId_WiFiAP = 3,
  kWeaveSubnetId_MobileDevice = 4,
  kWeaveSubnetId_Service = 5,
  kWeaveSubnetId_ThreadMesh = 6
}
enum
সাধারণ ডিভাইসে বিশিষ্ট নেটওয়ার্ক ইন্টারফেসের জন্য Weave-এর কিছু সংরক্ষিত সাবনেট নম্বর রয়েছে।
WeaveVendorId enum

Typedefs

FabricSecretRotationScheme typedef
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
ফ্যাব্রিক সিক্রেট আছে এবং ব্যবহার করতে পারে এমন ডিভাইসের বিভাগ শনাক্ত করে।
WeaveAuthMode typedef
uint16_t
একটি পিয়ার নোড কীভাবে যাচাই করা হয় তা শনাক্ত করে।
WeaveEncryptionKey typedef
WeaveEncryptionType typedef
enum nl::Weave::WeaveEncryptionType
Weave মেসেজের জন্য এনক্রিপশনের ধরন।
WeaveExchangeFlags typedef
enum nl::Weave::WeaveExchangeFlags
Weave এক্সচেঞ্জ হেডার ফ্ল্যাগ বিট।
WeaveExchangeVersion typedef
enum nl::Weave::WeaveExchangeVersion
Weave Exchange হেডার ভার্সন।
WeaveMessageFlags typedef
enum nl::Weave::WeaveMessageFlags
ইনবাউন্ড বা আউটবাউন্ড Weave মেসেজের সাথে যুক্ত ফ্ল্যাগ।
WeaveMessageHeader typedef
WeaveMessageVersion typedef
enum nl::Weave::WeaveMessageVersion
Weave মেসেজ ফর্ম্যাটের ভার্সন।
WeaveSubnetId typedef
enum nl::Weave::WeaveSubnetId
সাধারণ ডিভাইসে আলাদা আলাদা নেটওয়ার্ক ইন্টারফেসের জন্য Weave-এ কিছু রিজার্ভ করা সাবনেট নম্বর থাকে।

ভেরিয়েবল

ExchangeMgr
NL_DLL_EXPORT WeaveExchangeManager
FabricState
NL_DLL_EXPORT WeaveFabricState
MessageLayer
NL_DLL_EXPORT WeaveMessageLayer
SecurityMgr
NL_DLL_EXPORT WeaveSecurityManager
WeaveConnection
class NL_DLL_EXPORT
WeaveExchangeManager
class NL_DLL_EXPORT
WeaveMessageLayer
class NL_DLL_EXPORT
gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
const WRMPConfig
kWeaveMsgEncAppKeyDiversifier = { 0xB1, 0x1D, 0xAE, 0x5B }[]
const uint8_t
Weave মেসেজ এনক্রিপশন কী ডেরিভেশনের জন্য ব্যবহৃত কী ডাইভারসিফায়ার।

ফাংশন

AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
uint8_t
যাচাইকরণ মোডের সাথে যুক্ত অ্যাপ্লিকেশন গ্রুপ মাস্টার কী আইডি রিটার্ন করে।
CASEAuthMode(uint8_t certType)
WeaveAuthMode
প্রদত্ত সার্টিফিকেটের ধরনের জন্য সংশ্লিষ্ট CASE যাচাইকরণ মোড রিটার্ন করে।
CertTypeFromAuthMode(WeaveAuthMode authMode)
uint8_t
প্রদত্ত যাচাইকরণ মোডের জন্য পাসওয়ার্ড সোর্স রিটার্ন করে।
DecodeHeaderField(const uint16_t headerField, WeaveMessageInfo *msgInfo)
void
DefaultOnMessageReceived(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
EncodeHeaderField(const WeaveMessageInfo *msgInfo)
uint16_t
FindMessageName(uint32_t inProfileId, uint8_t inMsgType)
const char *
FindProfileName(uint32_t inProfileId)
const char *
FormatWeaveError(char *buf, uint16_t bufSize, int32_t err)
bool
Weave সংক্রান্ত সমস্যা হলে, সমস্যাটির বিবরণ সহ মানুষের-পঠনযোগ্য NULL-সমাপ্ত C স্ট্রিং রিটার্ন করে।
GenerateWeaveNodeId(uint64_t & nodeId)
NL_DLL_EXPORT WEAVE_ERROR
র‍্যান্ডম Weave নোড আইডি জেনারেট করুন।
GetFibonacciForIndex(uint32_t index)
uint32_t
এই ফাংশন প্রদত্ত ৩২-বিট ইনডেক্সের জন্য ৩২-বিট ফিবোনাচ্চি নম্বর তৈরি করে।
GetMessageName(uint32_t profileId, uint8_t msgType)
const char *
GetProfileName(uint32_t profileId)
const char *
GetRandU16(void)
uint16_t
এই ফাংশন ১৬-বিট আনসাইনড র‍্যান্ডম নম্বর তৈরি করে।
GetRandU32(void)
uint32_t
এই ফাংশন ৩২-বিট আনসাইনড র‍্যান্ডম নম্বর তৈরি করে।
GetRandU64(void)
uint64_t
এই ফাংশন ৬৪-বিট আনসাইনড র‍্যান্ডম নম্বর তৈরি করে।
GetRandU8(void)
uint8_t
এই ফাংশন ৮-বিট আনসাইনড র‍্যান্ডম নম্বর তৈরি করে।
GetVendorName(uint16_t vendorId)
const char *
GroupKeyAuthMode(uint32_t keyId)
WeaveAuthMode
প্রদত্ত কী আইডির জন্য সংশ্লিষ্ট গ্রুপ কী যাচাইকরণ মোড দেখায়।
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
uint64_t
IPv6 অ্যাড্রেস ইন্টারফেস শনাক্তকারীকে Weave নোড শনাক্তকারীতে কনভার্ট করুন।
IsCASEAuthMode(WeaveAuthMode authMode)
bool
যাচাইকরণ মোড Weave CASE প্রোটোকলের উপর ভিত্তি করে হলে True।
IsCertAuthMode(WeaveAuthMode authMode)
bool
সার্টিফিকেটের সাথে যুক্ত ব্যক্তিগত কী-এর মালিকানার উপর যাচাইকরণ মোড নির্ভর করলে, এটি সত্য হিসেবে বিবেচিত হয়।
IsGroupKeyAuthMode(WeaveAuthMode authMode)
bool
যাচাইকরণ মোড শেয়ার করা গ্রুপ কী-এর মালিকানার উপর ভিত্তি করে হলে, এর মান 'সত্য' হয়।
IsPASEAuthMode(WeaveAuthMode authMode)
bool
যাচাইকরণ মোড Weave PASE প্রোটোকলের উপর ভিত্তি করে হলে সত্য।
IsPasswordAuthMode(WeaveAuthMode authMode)
bool
যাচাইকরণ মোড শেয়ার করা পাসওয়ার্ডের উপর ভিত্তি করে হলে, এটি সত্য।
IsTAKEAuthMode(WeaveAuthMode authMode)
bool
যাচাইকরণ মোড Weave TAKE প্রোটোকলের উপর ভিত্তি করে হলে সত্য।
IsWRMPControlMessage(uint32_t profileId, uint8_t msgType)
bool
J2N_ByteArray(JNIEnv *env, jbyteArray inArray, uint8_t *& outArray, uint32_t & outArrayLen)
J2N_ByteArrayFieldVal(JNIEnv *env, jobject obj, const char *fieldName, uint8_t *& outArray, uint32_t & outArrayLen)
J2N_ByteArrayInPlace(JNIEnv *env, jbyteArray inArray, uint8_t *outArray, uint32_t maxArrayLen)
J2N_EnumFieldVal(JNIEnv *env, jobject obj, const char *fieldName, const char *fieldType, int & outVal)
J2N_EnumVal(JNIEnv *env, jobject enumObj, int & outVal)
J2N_IntFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jint & outVal)
J2N_LongFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jlong & outVal)
J2N_ShortFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jshort & outVal)
J2N_StringFieldVal(JNIEnv *env, jobject obj, const char *fieldName, char *& outVal)
MakeClassName(const char *basePackageName, const char *relativeClassName, char *& classNameBuf)
PASEAuthMode(uint8_t pwSource)
WeaveAuthMode
প্রদত্ত পাসওয়ার্ড সোর্সের জন্য সংশ্লিষ্ট PASE যাচাইকরণ মোড রিটার্ন করে।
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
uint8_t
প্রদত্ত যাচাইকরণ মোডের জন্য পাসওয়ার্ড সোর্স রিটার্ন করে।
PrintTunnelInfo(const WeaveConnectionTunnel & tun, const TCPEndPoint & fromEndPoint, const TCPEndPoint & toEndPoint, const PacketBuffer & data)
void
ToHex(const uint8_t data)
char
ToHexString(const uint8_t *data, size_t dataLen, char *& outBuf, size_t & outBufSize)
void
WeaveEncryptionKeyToString(uint8_t encType, const WeaveEncryptionKey & key, char *buf, size_t bufSize)
void
WeaveFabricIdToIPv6GlobalId(uint64_t fabricId)
uint64_t
Weave ফ্যাব্রিক আইডেন্টিফায়ারকে IPv6 ULA গ্লোবাল আইডেন্টিফায়ারে কনভার্ট করুন।
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
void
সচল নয় এর পরিবর্তে WeaveMessageLayer::GetPeerDescription() ব্যবহার করুন।
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
void
সচল নয় এর পরিবর্তে WeaveMessageLayer::GetPeerDescription() ব্যবহার করুন।
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
uint64_t
Weave নোড আইডেন্টিফায়ারকে IPv6 অ্যাড্রেস ইন্টারফেস আইডেন্টিফায়ারে কনভার্ট করুন।
max(const _T & a, const _T & b)
const _T &
min(const _T & a, const _T & b)
const _T &

ক্লাস

nl::Weave::Binding

Weave কমিউনিকেশনের অভিপ্রেত টার্গেট এবং সংশ্লিষ্ট কনফিগারেশন সংক্রান্ত তথ্য ক্যাপচার করে।

nl::Weave::Counter

পূর্ণসংখ্যা মান হিসেবে কাউন্টার ম্যানেজ করার ইন্টারফেস।

nl::Weave::ExchangeContext

এই ক্লাসটি দুই বা তার বেশি নোডের মধ্যে চলমান কথোপকথনকে (ExchangeContext) উপস্থাপন করে।

nl::Weave::FabricStateDelegate

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

nl::Weave::HostPortList

Weave পরিষেবা ডিরেক্টরির সাথে যুক্ত হোস্ট ও পোর্ট শনাক্তকারী টিউপলের কম্প্যাক্ট, বাইনারি-এনকোডেড সংগ্রহ, হোস্ট পোর্ট তালিকা ম্যানেজ ও ম্যানিপুলেট করার জন্য।

nl::Weave::JNIUtils
nl::Weave::MonotonicallyIncreasingCounter

পূর্ণসংখ্যা মান হিসেবে একঘেয়েভাবে ক্রমবর্ধমান কাউন্টার ম্যানেজ করার জন্য একটি ক্লাস।

nl::Weave::PersistedCounter

রিবুট জুড়ে বজায় রাখার জন্য একটি পূর্ণসংখ্যা মান হিসাবে কাউন্টার ম্যানেজ করার জন্য একটি ক্লাস।

nl::Weave::WeaveConnection

Weave কানেকশন ক্লাসের সংজ্ঞা।

nl::Weave::WeaveConnectionTunnel

WeaveConnectionTunnel ক্লাসের সংজ্ঞা, যা TCPEndPoints-এর একটি পেয়ার ম্যানেজ করে, যার আসল WeaveConnections কাপেল করা হয়েছে এবং যার মধ্যে WeaveMessageLayer সব ডেটা ও কানেকশন ক্লোজার ফরওয়ার্ড করে।

nl::Weave::WeaveEncryptionKey_AES128CTRSHA1
nl::Weave::WeaveExchangeHeader

এটি ExchangeContext-এর মধ্যে নির্দিষ্ট Weave মেসেজের Weave প্রোফাইল ও মেসেজের ধরন নির্দিষ্ট করে।

nl::Weave::WeaveExchangeManager

অন্যান্য Weave নোডের সাথে ExchangeContexts ম্যানেজ করার জন্য এই ক্লাস ব্যবহার করা হয়।

nl::Weave::WeaveFabricState

WeaveFabricState-এর ফরোয়ার্ড ডিক্লারেশন।

nl::Weave::WeaveKeyId

Weave Key শনাক্তকারীর সংজ্ঞা।

nl::Weave::WeaveMessageLayer

WeaveMessageLayer ক্লাসের সংজ্ঞা, যা অন্যান্য Weave নোডের সাথে যোগাযোগ ম্যানেজ করে।

nl::Weave::WeaveMsgEncryptionKey

Weave মেসেজ এনক্রিপশন কী সম্পর্কে তথ্য রয়েছে।

nl::Weave::WeaveMsgEncryptionKeyCache

Weave মেসেজ এনক্রিপশন কী-এর জন্য কী ক্যাশে।

nl::Weave::WeaveSecurityManager
nl::Weave::WeaveServerBase

Weave প্রোফাইল অনাহূত রেসপন্ডার (সার্ভার) প্রয়োগ করার জন্য সাধারণ, বেস অবজেক্ট যা যাচাই করা অনুরোধের বৈধতা এবং স্ট্যাটাস রিপোর্ট পাঠানোকে এনক্যাপসুলেট করে এবং ফ্যাব্রিক স্টেট ও এক্সচেঞ্জ ম্যানেজারের জন্য সাধারণ ডেটা মেম্বার স্টোরেজ প্রদান করে।

nl::Weave::WeaveServerDelegateBase

Weave সার্ভার ডেলিগেট অবজেক্ট প্রয়োগ করার জন্য একটি সাধারণ বেস ক্লাস।

nl::Weave::WeaveSessionKey

Weave সেশন কী সম্পর্কে তথ্য থাকে।

nl::Weave::WeaveSessionState

অন্য নোডের সাথে মেসেজ পাঠানো/রিসিভ করার জন্য প্রয়োজনীয় কমিউনিকেশন স্টেট কনভে করে।

স্ট্রাক্ট

nl::Weave::JNILibraryMethod
nl::Weave::WRMPConfig

WRMP কনফিগারেশন।

nl::Weave::WeaveMessageInfo

প্রেরণ বা গ্রহণ করার প্রসেসে থাকা Weave মেসেজ সংক্রান্ত তথ্য।

ইউনিয়ন

nl::Weave::WeaveEncryptionKey

নেমস্পেস

nl::Weave::ASN1

এই নেমস্পেসে অ্যাবস্ট্রাক্ট সিনট্যাক্স নোটেশন ওয়ান (ASN.1)-এর সাথে কাজ করার জন্য Weave-এর মধ্যে সব ইন্টারফেস অন্তর্ভুক্ত আছে।

nl::Weave::Crypto

এই নেমস্পেসে শেয়ার করা ক্রিপ্টোগ্রাফিক সাপোর্টের জন্য Weave-এর মধ্যে সব ইন্টারফেস অন্তর্ভুক্ত।

nl::Weave::DeviceLayer
nl::Weave::DeviceManager
nl::Weave::Encoding

এই নেমস্পেসের মাধ্যমে এইসব ফাংশন ব্যবহার করা যায়:

nl::Weave::Logging

এই নেমস্পেসে শেয়ার করা লগিংয়ের জন্য Weave-এর মধ্যে সব ইন্টারফেস অন্তর্ভুক্ত আছে।

nl::Weave::Platform
nl::Weave::Profiles

এই নেমস্পেসে Weave প্রোফাইলের জন্য Weave-এর মধ্যে থাকা সব ইন্টারফেস অন্তর্ভুক্ত, সাধারণ এবং Nest Labs ভেন্ডর-নির্দিষ্ট, দুটিই।

nl::Weave::SecuritySupport
nl::Weave::Stats
nl::Weave::Support
nl::Weave::System
nl::Weave::TLV

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

nl::Weave::Warm

এই নেমস্পেসে Weave অ্যাড্রেস ও রাউটিং মডিউলের ইন্টারফেস, Weave IP অ্যাড্রেস ও রুট কনফিগার করার জন্য একটি পোর্টেবল মডিউল অন্তর্ভুক্ত।

গণনা

@21

 @21
প্রপার্টি
kFlagAckPending

পাঠানো মেসেজের উত্তর পাওয়ার প্রয়োজন হলে।

kFlagAutoReleaseConnection

এক্সচেঞ্জ কনটেক্সট ফ্রি হয়ে গেলে মেসেজ এনক্রিপশন কী অটোমেটিক রিলিজ করুন।

kFlagAutoReleaseKey

সেট করা থাকলে, এর অর্থ হল এই এক্সচেঞ্জ কনটেক্সটে পিয়ার থেকে অন্তত একটি মেসেজ পাওয়া গেছে।

kFlagAutoRequestAck

এই প্রসঙ্গ WeaveConnection-এর সাথে যুক্ত ছিল।

kFlagConnectionClosed

এই কনটেক্সট হল এক্সচেঞ্জের ইনিশিয়েটর।

kFlagDropAck

সেট করা হলে, UDP-এর মাধ্যমে কোনও মেসেজ পাঠানো হলে অটোমেটিক অ্যাকনলেজমেন্টের অনুরোধ করা হয়।

kFlagMsgRcvdFromPeer

সেট করা থাকলে, এর অর্থ হল এই এক্সচেঞ্জে প্রাপ্ত অন্তত একটি মেসেজ প্রাপ্তি স্বীকার করার অনুরোধ করেছে।

অ্যাপ্লিকেশন এই ফ্ল্যাগটি পড়ে দেখে যে, এটি যে উত্তর মেসেজটি পাঠাতে চলেছে তার জন্য কোনও স্বীকৃতি অনুরোধ করার প্রয়োজন আছে কিনা। এই ফ্ল্যাগটি পিয়ার WRMP ব্যবহার করছে কিনা তাও ইঙ্গিত করতে পারে।

kFlagPeerRequestedAck

সেট করা থাকলে, এটি বোঝায় যে একটি অ্যাকনলেজমেন্ট ফেরত পাঠানো বাকি আছে।

kFlagResponseExpected

শুধুমাত্র ইন্টার্নাল ও ডিবাগ: সেট করা থাকলে, এক্সচেঞ্জ লেয়ার অ্যাকনলেজমেন্ট পাঠায় না।

kFlagUseEphemeralUDPPort

এক্সচেঞ্জ কনটেক্সট ফ্রি হয়ে গেলে, সংশ্লিষ্ট WeaveConnection অটোমেটিক রিলিজ হয়ে যায়।

@৩৬

 @36

@37

 @37

@38

 @38
প্রপার্টি
kFabricIdDefaultForTest

ডিফল্ট ফ্যাব্রিক আইডি, যা শুধুমাত্র পরীক্ষার উদ্দেশ্যে ব্যবহার করা উচিত।

@৩৯

 @39

সার্টিফিকেটের উদ্দেশ্য বা অ্যাপ্লিকেশন শনাক্ত করে।

সার্টিফিকেটের ধরন হল এমন একটি লেবেল যা সার্টিফিকেটের উদ্দেশ্য বা প্রয়োগ বর্ণনা করে। সার্টিফিকেটের ধরন সংশ্লিষ্ট সার্টিফিকেটের অ্যাট্রিবিউট হিসেবে বহন করা হয় না, বরং সার্টিফিকেটের গঠন এবং/অথবা যে প্রসঙ্গে এটি ব্যবহার করা হয় তা থেকে প্রাপ্ত হয়। সার্টিফিকেটের ধরন সংক্রান্ত গণনাতে সাধারণত ব্যবহৃত সার্টিফিকেট অ্যাপ্লিকেশন বর্ণনা করে এমন পূর্ব-নির্ধারিত ভ্যালুর সেট অন্তর্ভুক্ত থাকে। এছাড়াও, ডেভেলপাররা অ্যাপ্লিকেশন-নির্দিষ্ট ধরনের মাধ্যমে সার্টিফিকেট ধরনের ভ্যালু রেঞ্জ বাড়াতে পারেন যা কাস্টম সার্টিফিকেট বা অনন্য নিরাপত্তা প্রপার্টি সহ সার্টিফিকেট বর্ণনা করে।

অ্যাক্সেস কন্ট্রোল নীতি প্রয়োগ করার ক্ষেত্রে মূলত সার্টিফিকেটের ধরন ব্যবহার করা হয়, যেখানে কোনও অনুরোধকারীর জমা দেওয়া সার্টিফিকেটের ধরন অনুযায়ী অ্যাপ্লিকেশন ফিচারের অ্যাক্সেস প্রভাবিত হয়।

প্রপার্টি
kCertType_AccessToken

Weave অ্যাক্সেস টোকেন সার্টিফিকেট।

kCertType_AppDefinedBase

অ্যাপ্লিকেশন-নির্দিষ্ট সার্টিফিকেট প্রকারের মান >= এই মান হতে হবে।

kCertType_CA

CA সার্টিফিকেট।

kCertType_Device

Weave ডিভাইস সার্টিফিকেট।

kCertType_FirmwareSigning

Weave ফার্মওয়্যার সাইনিং সার্টিফিকেট।

kCertType_General

সার্টিফিকেটটি সাধারণ বা নির্দিষ্ট নয় এমন ধরনের।

kCertType_Max

সার্টিফিকেটের ধরন এই ভ্যালুর চেয়ে বেশি হওয়া উচিত নয়।

kCertType_NotSpecified

সার্টিফিকেটের ধরন নির্দিষ্ট করা হয়নি।

kCertType_ServiceEndpoint

Weave পরিষেবা এন্ডপয়েন্ট সার্টিফিকেট।

@৪০

 @40

পাসওয়ার্ড-ভিত্তিক যাচাইকরণ প্রোটোকলে (যেমন,

Weave PASE)

@41

 @41
প্রপার্টি
kWeaveAuthModeCategory_AppDefinedBase

অ্যাপ্লিকেশন-নির্ধারিত যাচাইকরণ বিভাগের জন্য বেস ভ্যালু।

kWeaveAuthModeCategory_CASE

Weave CASE প্রোটোকল ব্যবহার করে পিয়ার যাচাই করা হয়েছে।

kWeaveAuthModeCategory_General

সাধারণ মেকানিজমের একটি সেট ব্যবহার করে পিয়ার যাচাই করা হয়েছে।

kWeaveAuthModeCategory_GroupKey

শেয়ার করা গ্রুপ কী ব্যবহার করে পিয়ার যাচাই করা হয়েছে।

kWeaveAuthModeCategory_PASE

Weave PASE প্রোটোকল ব্যবহার করে পিয়ার যাচাই করা হয়েছে।

kWeaveAuthModeCategory_TAKE

Weave TAKE প্রোটোকল ব্যবহার করে পিয়ার যাচাই করা হয়েছে।

kWeaveAuthMode_CASE_AccessToken

Weave অ্যাক্সেস টোকেন সার্টিফিকেটের সাথে CASE ব্যবহার করে পিয়ার যাচাই করা হয়েছে।

kWeaveAuthMode_CASE_AnyCert

যথেচ্ছ সার্টিফিকেট বা অজানা ধরনের সার্টিফিকেট সহ CASE ব্যবহার করে পিয়ার যাচাই করা হয়েছে।

kWeaveAuthMode_CASE_Device

Weave ডিভাইস সার্টিফিকেট সহ CASE ব্যবহার করে পিয়ার যাচাই করা হয়েছে।

kWeaveAuthMode_CASE_GeneralCert

সাধারণ বা অ-নির্দিষ্ট সার্টিফিকেট ধরনের CASE ব্যবহার করে পিয়ার যাচাই করা হয়েছে।

kWeaveAuthMode_CASE_ServiceEndPoint

Weave পরিষেবা এন্ডপয়েন্ট সার্টিফিকেটের সাথে CASE ব্যবহার করে পিয়ারকে প্রমাণীকরণ করা হয়।

kWeaveAuthMode_NotSpecified

যাচাইকরণ মোড নির্দিষ্ট করা হয়নি।

kWeaveAuthMode_PASE_PairingCode

ডিভাইস পেয়ারিং কোড সহ PASE ব্যবহার করে পিয়ারকে যাচাই করা হয়েছে।

kWeaveAuthMode_TAKE_IdentificationKey

টোকেন শনাক্তকরণ কী সহ TAKE ব্যবহার করে পিয়ার যাচাই করা হয়েছে।

kWeaveAuthMode_Unauthenticated

পিয়ার যাচাই করা হয়নি।

@৪২

 @42
প্রপার্টি
kFabricSecretScope_All

সব ডিভাইসে সংশ্লিষ্ট ফ্যাব্রিক সিক্রেট থাকতে পারে।

@৪৩

 @43
প্রপার্টি
kTestKey_AES128CTRSHA1_DataKeyByte

এনক্রিপশন কী তৈরি করে এমন বাইট ভ্যালু, যা শুধুমাত্র পরীক্ষার জন্য ব্যবহার করা হয়।

kTestKey_AES128CTRSHA1_IntegrityKeyByte

বাইট ভ্যালু যা ইন্টিগ্রিটি কী তৈরি করে, যা শুধুমাত্র পরীক্ষার জন্য ব্যবহার করা হয়।

@৪৪

 @44

Weave মেসেজ এনক্রিপশন অ্যাপ্লিকেশন কী ডাইভারসিফায়ার সাইজ।

@৪৫

 @45

@53

 @53

@৫৪

 @54
প্রপার্টি
kWeavePeerDescription_MaxLength

WeaveMessageLayer::GetPeerDescription()-এর মাধ্যমে রিটার্ন করা স্ট্রিংয়ের সর্বাধিক দৈর্ঘ্য (NUL অক্ষর সহ)।

@৫৫

 @55

এনকোড করা Weave মেসেজের হেডার সম্পর্কিত সংজ্ঞা।

প্রপার্টি
kWeaveHeaderFlag_DestNodeId

Weave মেসেজ হেডারে ডেস্টিনেশন নোড আইডি আছে কিনা তা দেখায়।

kWeaveHeaderFlag_MsgCounterSyncReq

এটি দেখায় যে প্রেরক মেসেজ কাউন্টার সিঙ্ক করার অনুরোধ করেছেন।

kWeaveHeaderFlag_SourceNodeId

এর থেকে বোঝা যায় যে সোর্স নোড আইডি Weave মেসেজ হেডারে আছে।

kWeaveHeaderFlag_TunneledData

এটি দেখায় যে Weave মেসেজ পেলোড হল একটি টানেল করা IP প্যাকেট।

@৫৬

 @56

IEEE EUI-64 শনাক্তকারীর জন্য বিট ফিল্ডের সংজ্ঞা।

প্রপার্টি
kEUI64_IG_Group

ব্যক্তিগত/গ্রুপ বিট ভ্যালু যা গ্রুপ অ্যাড্রেস EUI-64 আইডেন্টিফায়ারকে নির্দেশ করে।

kEUI64_IG_Individual

ব্যক্তিগত/গ্রুপ বিট ভ্যালু যা ব্যক্তিগত ঠিকানা EUI-64 শনাক্তকারীকে নির্দেশ করে।

kEUI64_IG_Mask

EUI-64 আইডেন্টিফায়ারের মধ্যে ব্যক্তি/গ্রুপ (I/G) বিটের জন্য বিটমাস্ক।

০ ভ্যালু থাকলে বুঝতে হবে যে আইডিটি হল কোনও ব্যক্তির ঠিকানা। ১ ভ্যালু থেকে বোঝা যায় যে আইডিটি একটি গ্রুপ অ্যাড্রেস।

kEUI64_UL_Local

ইউনিভার্সাল/লোকাল বিট ভ্যালু যা স্থানীয়ভাবে পরিচালিত EUI-64 শনাক্তকারীকে নির্দেশ করে।

kEUI64_UL_Mask

EUI-64 শনাক্তকারীর মধ্যে ইউনিভার্সাল/লোকাল (U/L) বিটের জন্য বিটমাস্ক।

০ ভ্যালু থেকে বোঝা যায় যে আইডিটি বিশ্বব্যাপী (গ্লোবালি) পরিচালিত হয়। ১ ভ্যালু থেকে বোঝা যায় যে আইডিটি স্থানীয়ভাবে পরিচালিত হয়।

kEUI64_UL_Unversal

সর্বজনীন/স্থানীয় বিট ভ্যালু যা সর্বজনীনভাবে পরিচালিত EUI-64 শনাক্তকারীকে নির্দেশ করে।

@৫৭

 @57

Weave Node Id-এর বিশেষ রেঞ্জ।

প্রপার্টি
kMaxAlwaysLocalWeaveNodeId

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

WeaveEncryptionType

 WeaveEncryptionType

Weave মেসেজের জন্য এনক্রিপশনের ধরন।

প্রপার্টি
kWeaveEncryptionType_AES128CTRSHA1

HMAC-SHA-1 মেসেজ ইন্টিগ্রিটি সহ AES-128-CTR এনক্রিপশন ব্যবহার করে মেসেজ এনক্রিপ্ট করা হয়েছে।

kWeaveEncryptionType_None

মেসেজ এনক্রিপ্ট করা হয়নি।

WeaveExchangeFlags

 WeaveExchangeFlags

Weave Exchange হেডার ফ্ল্যাগ বিট।

প্রপার্টি
kWeaveExchangeFlag_AckId

আগে পাওয়া মেসেজের স্বীকৃতি হিসেবে বর্তমান মেসেজটি পাঠানো হলে তা সেট করুন।

kWeaveExchangeFlag_Initiator

এক্সচেঞ্জ শুরু করা ব্যক্তি বর্তমান মেসেজ পাঠালে সেট করা হয়।

kWeaveExchangeFlag_NeedsAck

বর্তমান মেসেজ প্রাপকের কাছ থেকে প্রাপ্তি স্বীকারের অনুরোধ করলে সেট করুন।

WeaveExchangeVersion

 WeaveExchangeVersion

Weave Exchange হেডার ভার্সন।

WeaveMessageFlags

 WeaveMessageFlags

ইনবাউন্ড বা আউটবাউন্ড Weave মেসেজের সাথে যুক্ত ফ্ল্যাগ।

এখানে সংজ্ঞায়িত ভ্যালুগুলি WeaveMessageInfo.Flags ফিল্ডের মধ্যে ব্যবহার করার জন্য।

প্রপার্টি
kWeaveMessageFlag_DefaultMulticastSourceAddress

IPv6 মাল্টিকাস্ট মেসেজ পাঠানোর সময় ডিফল্ট IPv6 সোর্স অ্যাড্রেস বেছে নেওয়া উচিত বলে ইঙ্গিত করে।

kWeaveMessageFlag_DelaySend

মেসেজ পাঠানোর ক্ষেত্রে দেরি করতে হবে তা বোঝায়।

kWeaveMessageFlag_DestNodeId

ইঙ্গিত করে যে গন্তব্য নোড আইডি Weave মেসেজ হেডারে উপস্থিত আছে।

kWeaveMessageFlag_DuplicateMessage

এর অর্থ হল, মেসেজটি আগে পাওয়া মেসেজের ডুপ্লিকেট।

kWeaveMessageFlag_FromInitiator

মেসেজের সোর্স যে Weave এক্সচেঞ্জের প্রবর্তক তা বোঝায়।

kWeaveMessageFlag_MessageEncoded

Weave মেসেজ আগে থেকেই এনকোড করা আছে বলে দেখায়।

kWeaveMessageFlag_MsgCounterSyncReq

এর মাধ্যমে বোঝা যায় যে প্রেরক পিয়ারের মেসেজ কাউন্টার সিঙ্ক্রোনাইজ করার অনুরোধ করেছেন।

kWeaveMessageFlag_MulticastFromLinkLocal

kWeaveMessageFlag_DefaultMulticastSourceAddress-এর জন্য বাতিল করা উপনাম।

kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized

এটি দেখায় যে পিয়ারের গ্রুপ কী মেসেজ কাউন্টার সিঙ্ক করা নেই।

kWeaveMessageFlag_PeerRequestedAck

মেসেজের প্রেরক যে স্বীকৃতি চেয়েছেন তা দেখায়।

kWeaveMessageFlag_RetainBuffer

এটি দেখায় যে মেসেজ বাফার পাঠানোর পরে খালি করা উচিত নয়।

kWeaveMessageFlag_ReuseMessageId

এটি ইঙ্গিত করে যে আগে থেকে থাকা মেসেজ আইডেন্টিফায়ার অবশ্যই আবার ব্যবহার করতে হবে।

kWeaveMessageFlag_ReuseSourceId

এর অর্থ হল, আগে থেকে থাকা সোর্স নোড শনাক্তকারীকে আবার ব্যবহার করতে হবে।

kWeaveMessageFlag_SourceNodeId

Weave মেসেজ হেডারে সোর্স নোড আইডি আছে কিনা তা দেখায়।

kWeaveMessageFlag_TunneledData

এর থেকে বোঝা যায় যে Weave মেসেজ পেলোড হল একটি টানেল করা IP প্যাকেট।

kWeaveMessageFlag_ViaEphemeralUDPPort

লোকাল ক্ষণস্থায়ী UDP পোর্টের মাধ্যমে মেসেজ পাঠানো/রিসিভ করা হচ্ছে বলে দেখায়।

WeaveMessageVersion

 WeaveMessageVersion

Weave মেসেজ ফর্ম্যাটের ভার্সন।

Weave মেসেজের জন্য প্রয়োজনীয় ফ্রেম ফর্ম্যাটের উপর ভিত্তি করে Weave উপযুক্ত মেসেজ ভার্সন বেছে নেবে। ডিফল্ট হিসেবে, মেসেজের ভার্সন হল kWeaveMessageVersion_V1। যেমন, Weave Reliable Messaging ব্যবহার করার সময়, ভার্সন হল kWeaveMessageVersion_V2।

প্রপার্টি
kWeaveMessageVersion_Unspecified

মেসেজের ভার্সন উল্লেখ করা নেই।

kWeaveMessageVersion_V1

মেসেজ হেডার ফর্ম্যাট ভার্সন V1।

kWeaveMessageVersion_V2

মেসেজ হেডার ফর্ম্যাট ভার্সন V2।

WeaveSubnetId

 WeaveSubnetId

সাধারণ ডিভাইসে আলাদা আলাদা নেটওয়ার্ক ইন্টারফেসের জন্য Weave-এ কিছু রিজার্ভ করা সাবনেট নম্বর থাকে।

These numbers are assigned here to symbolic constants. এই সাবনেট নম্বরগুলি Weave দ্বারা উপযুক্ত ইন্টারফেসে IPv6 ULA ঠিকানাগুলি কনফিগার করতে ব্যবহৃত হয়।

প্রপার্টি
kWeaveSubnetId_MobileDevice

সব মোবাইল ডিভাইসের জন্য সাবনেট শনাক্তকারী।

kWeaveSubnetId_NotSpecified

অনির্দিষ্ট বা শূন্য মান হিসেবে সংরক্ষিত।

kWeaveSubnetId_PrimaryWiFi

ওয়াই-ফাই রেডিও ইন্টারফেস সাবনেট নম্বর।

kWeaveSubnetId_Service

Nest পরিষেবা এন্ডপয়েন্টের জন্য সাবনেট শনাক্তকারী।

kWeaveSubnetId_ThreadAlarm

থ্রেড অ্যালার্ম রেডিও ইন্টারফেস সাবনেট নম্বর।

kWeaveSubnetId_ThreadMesh

থ্রেড মেশ রেডিও ইন্টারফেস সাবনেট শনাক্তকারী।

kWeaveSubnetId_WiFiAP

লোকাল ওয়াই-ফাই AP ইন্টারফেস সাবনেট নম্বর।

WeaveVendorId

 WeaveVendorId

Typedefs

FabricSecretRotationScheme

uint8_t FabricSecretRotationScheme

FabricSecretScope

uint8_t FabricSecretScope

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

WeaveAuthMode

uint16_t WeaveAuthMode

একটি পিয়ার নোড কীভাবে যাচাই করা হয় তা শনাক্ত করে।

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

ইনকামিং Weave মেসেজে অ্যাসাইন করা WeaveAuthMode, সেই মেসেজ এনক্রিপ্ট করার জন্য ব্যবহৃত 'কী'-এর প্রকৃতির সাথে সম্পর্কিত। WeaveAuthMode সেই মেকানিজম থেকে আসে যার মাধ্যমে কী তৈরি করা হয়েছে এবং কী তৈরির সময় যোগাযোগকারী পার্টির পরিচয় যাচাই করার জন্য ব্যবহৃত মানদণ্ড।

WeaveAuthMode-এ সাধারণ যাচাইকরণ মোড বর্ণনা করে এমন পূর্ব-নির্ধারিত মানের সেট অন্তর্ভুক্ত থাকে। এগুলি মূল চুক্তি সংক্রান্ত মেকানিজম (CASE, PASE, GroupKey ইত্যাদি) অনুযায়ী ভাগ করা হয়। ডেভেলপাররা অ্যাপ্লিকেশন-নির্দিষ্ট মোড নির্ধারণ করে WeaveAuthMode-এর মেয়াদ বাড়াতে পারেন, যা তারা নির্দিষ্ট এনক্রিপশন 'কী'-তে অ্যাটাচ করতে পারেন।

WeaveEncryptionKey

union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey

WeaveEncryptionType

enum nl::Weave::WeaveEncryptionType WeaveEncryptionType

Weave মেসেজের এনক্রিপশনের ধরন।

WeaveExchangeFlags

enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags

Weave এক্সচেঞ্জ হেডার ফ্ল্যাগ বিট।

WeaveExchangeVersion

enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion

Weave Exchange হেডার ভার্সন।

WeaveMessageFlags

enum nl::Weave::WeaveMessageFlags WeaveMessageFlags

ইনবাউন্ড বা আউটবাউন্ড Weave মেসেজের সাথে যুক্ত ফ্ল্যাগ।

এখানে সংজ্ঞায়িত ভ্যালু WeaveMessageInfo.Flags ফিল্ডের মধ্যে ব্যবহার করার জন্য।

WeaveMessageHeader

struct WeaveMessageInfo WeaveMessageHeader

WeaveMessageVersion

enum nl::Weave::WeaveMessageVersion WeaveMessageVersion

Weave মেসেজ ফর্ম্যাটের ভার্সন।

Weave মেসেজের জন্য প্রয়োজনীয় ফ্রেম ফর্ম্যাটের উপর ভিত্তি করে Weave উপযুক্ত মেসেজ ভার্সন বেছে নেবে। ডিফল্ট হিসেবে, মেসেজের ভার্সন হল kWeaveMessageVersion_V1। যেমন, Weave Reliable Messaging ব্যবহার করার সময়, ভার্সন হল kWeaveMessageVersion_V2।

WeaveSubnetId

enum nl::Weave::WeaveSubnetId WeaveSubnetId

সাধারণ ডিভাইসে আলাদা আলাদা নেটওয়ার্ক ইন্টারফেসের জন্য Weave-এ কিছু রিজার্ভ করা সাবনেট নম্বর থাকে।

এই নম্বরগুলি এখানে প্রতীকী ধ্রুবকগুলিতে অ্যাসাইন করা হয়েছে। উপযুক্ত ইন্টারফেসে IPv6 ULA অ্যাড্রেস কনফিগার করার জন্য Weave এই সাবনেট নম্বর ব্যবহার করে।

ভেরিয়েবল

ExchangeMgr

NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr

FabricState

NL_DLL_EXPORT WeaveFabricState FabricState

MessageLayer

NL_DLL_EXPORT WeaveMessageLayer MessageLayer

SecurityMgr

NL_DLL_EXPORT WeaveSecurityManager SecurityMgr

WeaveConnection

class NL_DLL_EXPORT WeaveConnection

WeaveExchangeManager

class NL_DLL_EXPORT WeaveExchangeManager

WeaveMessageLayer

class NL_DLL_EXPORT WeaveMessageLayer

gDefaultWRMPConfig

const WRMPConfig gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT,
                                        WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT,
                                        WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT,
                                        WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }

kWeaveMsgEncAppKeyDiversifier

const uint8_t kWeaveMsgEncAppKeyDiversifier[] = { 0xB1, 0x1D, 0xAE, 0x5B }

Weave মেসেজ এনক্রিপশন কী ডেরিভেশনের জন্য ব্যবহৃত কী ডাইভারসিফায়ার।

এই ভ্যালু "Nest Weave Message EK and AK" বাক্যাংশের SHA-1 HASH-এর প্রথম ৪ বাইটকে দেখায়।

ফাংশন

AppGroupMasterKeyIdFromAuthMode

uint8_t AppGroupMasterKeyIdFromAuthMode(
  WeaveAuthMode authMode
)

যাচাইকরণ মোডের সাথে যুক্ত অ্যাপ্লিকেশন গ্রুপ মাস্টার কী আইডি রিটার্ন করে।

CASEAuthMode

WeaveAuthMode CASEAuthMode(
  uint8_t certType
)

প্রদত্ত সার্টিফিকেটের ধরনের জন্য সংশ্লিষ্ট CASE যাচাইকরণ মোড রিটার্ন করে।

CertTypeFromAuthMode

uint8_t CertTypeFromAuthMode(
  WeaveAuthMode authMode
)

প্রদত্ত যাচাইকরণ মোডের জন্য পাসওয়ার্ড সোর্স রিটার্ন করে।

DecodeHeaderField

void DecodeHeaderField(
  const uint16_t headerField,
  WeaveMessageInfo *msgInfo
)

DefaultOnMessageReceived

void DefaultOnMessageReceived(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

EncodeHeaderField

uint16_t EncodeHeaderField(
  const WeaveMessageInfo *msgInfo
)

FindMessageName

const char * FindMessageName(
  uint32_t inProfileId,
  uint8_t inMsgType
)

FindProfileName

const char * FindProfileName(
  uint32_t inProfileId
)

FormatWeaveError

bool FormatWeaveError(
  char *buf,
  uint16_t bufSize,
  int32_t err
)

Weave-এ কোনও সমস্যা হলে, সমস্যাটি বর্ণনা করে এমন একটি মানুষের-পঠনযোগ্য NULL-টার্মিনেটেড C স্ট্রিং রিটার্ন করে।

বিবরণ
প্যারামিটারগুলি
[in] buf
যে বাফারে সমস্যার স্ট্রিং প্লেস করা হবে।
[in] bufSize
প্রদান করা বাফারের সাইজ বাইটে।
[in] err
সমস্যার বিবরণ।
ফেরত
প্রদত্ত বাফারে বিবরণের স্ট্রিং লেখা থাকলে true।
ফেরত
false যদি প্রদত্ত সমস্যাটি Weave সংক্রান্ত সমস্যা না হয়।

GenerateWeaveNodeId

NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId(
  uint64_t & nodeId
)

র‍্যান্ডম Weave নোড আইডি জেনারেট করুন।

এই ফাংশনটি ৬৪-বিট লোকালি অনন্য Weave নোড আইডি তৈরি করে। তৈরি করা ভ্যালুর অনন্যতা নিশ্চিত করতে এই ফাংশনটি ক্রিপ্টোগ্রাফিক্যালি শক্তিশালী র‍্যান্ডম ডেটা সোর্স ব্যবহার করে। মনে রাখবেন যে জেনারেট করা Weave নোড আইডির ৫৭ নম্বর বিট ১-এ সেট করা আছে, যা ইঙ্গিত করে যে জেনারেট করা Weave নোড আইডি স্থানীয়ভাবে (বিশ্বব্যাপী নয়) অনন্য।

বিবরণ
প্যারামিটারগুলি
nodeId
৬৪-বিট Weave নোড আইডির রেফারেন্স।
রিটার্ন ভ্যালু
WEAVE_NO_ERROR
Weave নোড আইডি তৈরি করা হয়েছে কিনা।

GetFibonacciForIndex

uint32_t GetFibonacciForIndex(
  uint32_t index
)

এই ফাংশন প্রদত্ত ৩২-বিট ইনডেক্সের জন্য ৩২-বিট ফিবোনাচ্চি নম্বর তৈরি করে।

বিবরণ
ফেরত
৩২-বিট আনসাইনড ফিবোনাচ্চি সংখ্যা।

GetMessageName

const char * GetMessageName(
  uint32_t profileId,
  uint8_t msgType
)

GetProfileName

const char * GetProfileName(
  uint32_t profileId
)

GetRandU16

uint16_t GetRandU16(
  void
)

এই ফাংশন ১৬-বিট আনসাইনড র‍্যান্ডম নম্বর তৈরি করে।

বিবরণ
ফেরত
১৬-বিট আনসাইনড র‍্যান্ডম ইন্টিজার।

GetRandU32

uint32_t GetRandU32(
  void
)

এই ফাংশন ৩২-বিট আনসাইনড র‍্যান্ডম নম্বর তৈরি করে।

বিবরণ
ফেরত
৩২-বিট আনসাইনড র‍্যান্ডম পূর্ণসংখ্যা।

GetRandU64

uint64_t GetRandU64(
  void
)

এই ফাংশন ৬৪-বিট আনসাইনড র‍্যান্ডম নম্বর তৈরি করে।

বিবরণ
ফেরত
৬৪-বিট আনসাইনড র‍্যান্ডম পূর্ণসংখ্যা।

GetRandU8

uint8_t GetRandU8(
  void
)

এই ফাংশন ৮-বিট আনসাইনড র‍্যান্ডম নম্বর তৈরি করে।

বিবরণ
ফেরত
৮-বিট আনসাইনড র‍্যান্ডম ইন্টিজার।

GetVendorName

const char * GetVendorName(
  uint16_t vendorId
)

GroupKeyAuthMode

WeaveAuthMode GroupKeyAuthMode(
  uint32_t keyId
)

প্রদত্ত কী আইডির জন্য সংশ্লিষ্ট গ্রুপ কী যাচাইকরণ মোড রিটার্ন করে।

IPv6InterfaceIdToWeaveNodeId

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

IPv6 অ্যাড্রেস ইন্টারফেস শনাক্তকারীকে Weave নোড শনাক্তকারীতে কনভার্ট করুন।

পরীক্ষা করার সুবিধা হিসেবে, #kMaxAlwaysLocalWeaveNodeId (65535)-এর থেকে কম বা সমান নোড আইডেন্টিফায়ারকে 'লোকাল' হিসেবে বিবেচনা করা হয় এবং সেগুলির ইউনিভার্সাল/লোকাল বিট শূন্যে সেট করা থাকে। এটি সংশ্লিষ্ট IPv6 অ্যাড্রেসের স্ট্রিং উপস্থাপনাকে সহজ করে। যেমন, নোড শনাক্তকারী 10-এর জন্য ULA হবে FD00:0:1:1::A।

বিবরণ
প্যারামিটারগুলি
[in] interfaceId
৬৪ বিট ইন্টারফেস শনাক্তকারী।
ফেরত
ম্যাপ করা ৬৪ বিট Weave নোড শনাক্তকারী।

IsCASEAuthMode

bool IsCASEAuthMode(
  WeaveAuthMode authMode
)

যাচাইকরণ মোড Weave CASE প্রোটোকলের উপর ভিত্তি করে হলে সত্য।

IsCertAuthMode

bool IsCertAuthMode(
  WeaveAuthMode authMode
)

সার্টিফিকেটের সাথে যুক্ত ব্যক্তিগত কী-এর মালিকানার উপর যাচাইকরণ মোড নির্ভর করলে, এটি সত্য হিসেবে বিবেচিত হয়।

IsGroupKeyAuthMode

bool IsGroupKeyAuthMode(
  WeaveAuthMode authMode
)

শেয়ার করা গ্রুপ 'কী' থাকার উপর যাচাইকরণ মোড নির্ভর করলে, এটি সত্য হয়।

IsPASEAuthMode

bool IsPASEAuthMode(
  WeaveAuthMode authMode
)

যাচাইকরণ মোড Weave PASE প্রোটোকলের উপর ভিত্তি করে হলে, এর মান 'সত্য' হবে।

IsPasswordAuthMode

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

যাচাইকরণ মোড শেয়ার করা পাসওয়ার্ডের উপর ভিত্তি করে হলে True।

IsTAKEAuthMode

bool IsTAKEAuthMode(
  WeaveAuthMode authMode
)

যাচাইকরণ মোড Weave TAKE প্রোটোকলের উপর ভিত্তি করে হলে, উত্তর 'সঠিক' হবে।

IsWRMPControlMessage

bool IsWRMPControlMessage(
  uint32_t profileId,
  uint8_t msgType
)

J2N_ByteArray

WEAVE_ERROR J2N_ByteArray(
  JNIEnv *env,
  jbyteArray inArray,
  uint8_t *& outArray,
  uint32_t & outArrayLen
)

J2N_ByteArrayFieldVal

WEAVE_ERROR J2N_ByteArrayFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  uint8_t *& outArray,
  uint32_t & outArrayLen
)

J2N_ByteArrayInPlace

WEAVE_ERROR J2N_ByteArrayInPlace(
  JNIEnv *env,
  jbyteArray inArray,
  uint8_t *outArray,
  uint32_t maxArrayLen
)

J2N_EnumFieldVal

WEAVE_ERROR J2N_EnumFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  const char *fieldType,
  int & outVal
)

J2N_EnumVal

WEAVE_ERROR J2N_EnumVal(
  JNIEnv *env,
  jobject enumObj,
  int & outVal
)

J2N_IntFieldVal

WEAVE_ERROR J2N_IntFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  jint & outVal
)

J2N_LongFieldVal

WEAVE_ERROR J2N_LongFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  jlong & outVal
)

J2N_ShortFieldVal

WEAVE_ERROR J2N_ShortFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  jshort & outVal
)

J2N_StringFieldVal

WEAVE_ERROR J2N_StringFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  char *& outVal
)

MakeClassName

WEAVE_ERROR MakeClassName(
  const char *basePackageName,
  const char *relativeClassName,
  char *& classNameBuf
)

PASEAuthMode

WeaveAuthMode PASEAuthMode(
  uint8_t pwSource
)

প্রদত্ত পাসওয়ার্ড সোর্সের জন্য সংশ্লিষ্ট PASE যাচাইকরণ মোড দেখায়।

PasswordSourceFromAuthMode

uint8_t PasswordSourceFromAuthMode(
  WeaveAuthMode authMode
)

প্রদত্ত যাচাইকরণ মোডের জন্য পাসওয়ার্ড সোর্স রিটার্ন করে।

PrintTunnelInfo

void PrintTunnelInfo(
  const WeaveConnectionTunnel & tun,
  const TCPEndPoint & fromEndPoint,
  const TCPEndPoint & toEndPoint,
  const PacketBuffer & data
)

ToHex

char ToHex(
  const uint8_t data
)

ToHexString

void ToHexString(
  const uint8_t *data,
  size_t dataLen,
  char *& outBuf,
  size_t & outBufSize
)

WeaveEncryptionKeyToString

void WeaveEncryptionKeyToString(
  uint8_t encType,
  const WeaveEncryptionKey & key,
  char *buf,
  size_t bufSize
)

WeaveFabricIdToIPv6GlobalId

uint64_t WeaveFabricIdToIPv6GlobalId(
  uint64_t fabricId
)

Weave ফ্যাব্রিক আইডেন্টিফায়ারকে IPv6 ULA গ্লোবাল আইডেন্টিফায়ারে কনভার্ট করুন।

ফ্যাব্রিক অ্যাড্রেসের জন্য ULA গ্লোবাল আইডেন্টিফায়ার হল ফ্যাব্রিকের ৬৪-বিট ফ্যাব্রিক আইডির নিচের ৪০ বিট।

বিবরণ
প্যারামিটারগুলি
[in] fabricId
Weave ফ্যাব্রিক শনাক্তকারী।
ফেরত
ম্যাপ করা IPv6 গ্লোবাল আইডেন্টিফায়ার।

WeaveMessageSourceToStr

void WeaveMessageSourceToStr(
  char *buf,
  uint32_t bufSize,
  const WeaveMessageInfo *msgInfo
)

সচল নয় এর পরিবর্তে WeaveMessageLayer::GetPeerDescription() ব্যবহার করুন।

WeaveNodeAddrToStr

void WeaveNodeAddrToStr(
  char *buf,
  uint32_t bufSize,
  uint64_t nodeId,
  const IPAddress *addr,
  uint16_t port,
  WeaveConnection *con
)

বন্ধ করা হয়েছে পরিবর্তে WeaveMessageLayer::GetPeerDescription() ব্যবহার করুন।

WeaveNodeIdToIPv6InterfaceId

uint64_t WeaveNodeIdToIPv6InterfaceId(
  uint64_t nodeId
)

Weave নোড শনাক্তকারীকে IPv6 অ্যাড্রেস ইন্টারফেস শনাক্তকারীতে কনভার্ট করুন।

Weave নোড শনাক্তকারী হল ইউনিভার্সাল/লোকাল EUI-64, যা RFC-3513 অনুযায়ী ইউনিভার্সাল/লোকাল বিট (LSB-কে ০ হিসেবে ধরে ৫৭ বিট) ইনভার্ট করে ইন্টারফেস শনাক্তকারীতে পরিবর্তন করা হয়।

পরীক্ষা করার সুবিধা হিসেবে, #kMaxAlwaysLocalWeaveNodeId (65535)-এর থেকে কম বা সমান নোড আইডেন্টিফায়ারকে 'লোকাল' হিসেবে বিবেচনা করা হয় এবং সেগুলির ইউনিভার্সাল/লোকাল বিট শূন্যে সেট করা থাকে। এটি সংশ্লিষ্ট IPv6 অ্যাড্রেসের স্ট্রিং উপস্থাপনাকে সহজ করে তোলে। যেমন, নোড শনাক্তকারী 10-এর জন্য ULA হবে FD00:0:1:1::A।

বিবরণ
প্যারামিটারগুলি
[in] nodeId
৬৪-বিট Weave নোড শনাক্তকারী।
ফেরত
IPv6 ইন্টারফেস শনাক্তকারী।

সর্বাধিক

const _T & max(
  const _T & a,
  const _T & b
)

মিঃ

const _T & min(
  const _T & a,
  const _T & b
)