Google is committed to advancing racial equity for Black communities. See how.

এনএল :: তাঁত :: ওয়েভফ্যাব্রিক স্টেট

#include <src/lib/core/WeaveFabricState.h>

এর ফরোয়ার্ড ঘোষণা WeaveFabricState

সারসংক্ষেপ

নির্মাণকারী এবং ধ্বংসকারী

WeaveFabricState (void)

পাবলিক প্রকার

PeerIndexType টাইপডেফ
uint8_t
SessionEndCbFunct )(uint16_t keyId, uint64_t peerNodeId, void *context) টাইপডেফ
void(*
State এনাম

জনসাধারণের গুণাবলী

AutoCreateKeys
bool
DebugFabricId
uint64_t
DefaultSubnet
uint16_t
FabricId
uint64_t
GroupKeyStore
ListenIPv4Addr
IPAddress
ListenIPv6Addr
IPAddress
LocalNodeId
uint64_t
LogKeys
bool
MaxUnencUDPMsgIdRcvd [WEAVE_CONFIG_MAX_PEER_NODES]
uint32_t
MessageLayer
MostRecentlyUsedIndexes [WEAVE_CONFIG_MAX_PEER_NODES]
PeerIndexType
NodeId [WEAVE_CONFIG_MAX_PEER_NODES]
uint64_t
PairingCode
const char *
State
uint8_t
UnencRcvFlags [WEAVE_CONFIG_MAX_PEER_NODES]
WeaveSessionState::ReceiveFlagsType
UseTestKey
bool

পাবলিক ফাংশন

AddSharedSessionEndNode (uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId)
AddSharedSessionEndNode ( WeaveSessionKey *sessionKey, uint64_t endNodeId)
এই পদ্ধতিটি ভাগ করা শেষ নোড রেকর্ডে নতুন প্রান্ত নোড যুক্ত করে।
AllocSessionKey (uint64_t peerNodeId, uint16_t keyId, WeaveConnection *boundCon, WeaveSessionKey *& sessionKey)
ClearFabricState (void)
void
CreateFabric (void)
FindSessionKey (uint16_t keyId, uint64_t peerNodeId, bool create, WeaveSessionKey *& retRec)
এই পদ্ধতিটি সেশন কী এন্ট্রি সন্ধান করে।
FindSharedSession (uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType)
একটি প্রতিষ্ঠিত ভাগ করা সেশন কীটির জন্য সেশন কী সারণী সন্ধান করুন যা নির্দিষ্ট টার্মিনেটিং নোডকে লক্ষ্য করে এবং প্রদত্ত লেখক মোড এবং এনক্রিপশন ধরণের সাথে মেলে।
GetFabricState (uint8_t *buf, uint32_t bufSize, uint32_t & fabricStateLen)
GetPassword (uint8_t pwSrc, const char *& ps, uint16_t & pwLen)
GetSessionKey (uint16_t keyId, uint64_t peerNodeId, WeaveSessionKey *& outSessionKey)
GetSessionState (uint64_t remoteNodeId, uint16_t keyId, uint8_t encType, WeaveConnection *con, WeaveSessionState & outSessionState)
GetSharedSessionEndNodeIds (const WeaveSessionKey *sessionKey, uint64_t *endNodeIds, uint8_t endNodeIdsBufSize, uint8_t & endNodeIdsCount)
এই পদ্ধতিটি সুনির্দিষ্ট অধিবেশন ভাগ করে নেওয়ার সমস্ত শেষ নোড আইডি দেয়।
HandleConnectionClosed ( WeaveConnection *con)
void
Init (void)
Init ( nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore)
IsFabricAddress (const IPAddress & addr) const
bool
কোনও আইপি ঠিকানা স্থানীয় ওয়েভ ফ্যাব্রিকের মধ্যে কোনও নোডের ঠিকানা উপস্থাপন করে তা নির্ধারণ করে।
IsLocalFabricAddress (const IPAddress & addr) const
bool
কোনও আইপি ঠিকানা স্থানীয় নোডের জন্য ওয়েভ ফ্যাব্রিক ঠিকানা উপস্থাপন করে কিনা তা নির্ধারণ করে।
IsSharedSession (uint16_t keyId, uint64_t peerNodeId)
bool
এই পদ্ধতিটি নির্দিষ্ট পিয়ার এবং কীআইডির সাথে সুরক্ষিত সেশনটি ভাগ করা আছে কিনা তা পরীক্ষা করে।
JoinExistingFabric (const uint8_t *fabricState, uint32_t fabricStateLen)
RegisterSessionEndCallback ( SessionEndCbCtxt *sessionEndCb)
RemoveIdleSessionKeys ()
bool
RemoveSessionKey (uint16_t keyId, uint64_t peerNodeId)
RemoveSessionKey ( WeaveSessionKey *sessionKey, bool wasIdle)
void
RemoveSharedSessionEndNodes (const WeaveSessionKey *sessionKey)
void
RestoreSession (uint8_t *serializedSession, uint16_t serializedSessionLen)
সিরিয়ালযুক্ত অবস্থা থেকে পূর্বের স্থগিত ওয়েভ সুরক্ষা অধিবেশন পুনরুদ্ধার করুন।
SelectNodeAddress (uint64_t nodeId, uint16_t subnet) const
একটি নির্দিষ্ট নোডের জন্য ওয়েভ ইউএল সমন্বিত একটি আইপিএড্রেসস প্রদান করে।
SelectNodeAddress (uint64_t nodeId) const
একটি নির্দিষ্ট নোডের জন্য ওয়েভ ইউএল সমন্বিত একটি আইপিএড্রেসস প্রদান করে।
SetDelegate ( FabricStateDelegate *aDelegate)
void
এই পদ্ধতিটি প্রতিনিধি অবজেক্টটি সেট করে।
SetSessionKey (uint16_t keyId, uint64_t peerNodeId, uint8_t encType, WeaveAuthMode authMode, constWeaveEncryptionKey *encKey)
SetSessionKey ( WeaveSessionKey *sessionKey, uint8_t encType, WeaveAuthMode authMode, constWeaveEncryptionKey *encKey)
Shutdown (void)
SuspendSession (uint16_t keyId, uint64_t peerNodeId, uint8_t *buf, uint16_t bufSize, uint16_t & serializedSessionLen)
একটি সক্রিয় বুনন সুরক্ষা সেশনের স্থিতি স্থগিত ও সিরিয়ালাইজ করুন।

স্ট্রাক্টস

nl এর :: বুনা :: WeaveFabricState :: SessionEndCbCtxt

পাবলিক প্রকার

পিয়ারআইন্ডেক্সটাইপ

uint8_t PeerIndexType

সেশনএন্ডসিবিফান্ট

void(* SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)

রাষ্ট্র

 State

জনসাধারণের গুণাবলী

অটোক্রেটকি

bool AutoCreateKeys

ডিবাগফ্যাব্রিক আইডি

uint64_t DebugFabricId

ডিফল্টসুবনেট

uint16_t DefaultSubnet

FabricId

uint64_t FabricId

গ্রুপকি স্টোর

nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase * GroupKeyStore

শুনুনআইভিভি 4 অ্যাডর

IPAddress ListenIPv4Addr

শুনুনআইভিভি 6 অ্যাডর

IPAddress ListenIPv6Addr

স্থানীয় নোডআইড

uint64_t LocalNodeId

লগকি

bool LogKeys

MaxUnencUDPMsgIdRcvd

uint32_t MaxUnencUDPMsgIdRcvd[WEAVE_CONFIG_MAX_PEER_NODES]

ম্যাসেজলায়ার

WeaveMessageLayer * MessageLayer

MostRecentlyUsedIndexes

PeerIndexType MostRecentlyUsedIndexes[WEAVE_CONFIG_MAX_PEER_NODES]

নোডআইড

uint64_t NodeId[WEAVE_CONFIG_MAX_PEER_NODES]

পেয়ারিংকোড

const char * PairingCode

রাষ্ট্র

uint8_t State

UnencRcvFlags

WeaveSessionState::ReceiveFlagsType UnencRcvFlags[WEAVE_CONFIG_MAX_PEER_NODES]

ইউজটেষ্টকি

bool UseTestKey

পাবলিক ফাংশন

অ্যাডশেয়ারডসেশনএন্ডনোড

WEAVE_ERROR AddSharedSessionEndNode(
  uint64_t endNodeId,
  uint64_t terminatingNodeId,
  uint16_t keyId
)

অ্যাডশেয়ারডসেশনএন্ডনোড

WEAVE_ERROR AddSharedSessionEndNode(
  WeaveSessionKey *sessionKey,
  uint64_t endNodeId
)

এই পদ্ধতিটি ভাগ করা শেষ নোড রেকর্ডে নতুন প্রান্ত নোড যুক্ত করে।

বিশদ
পরামিতি
[in] sessionKey
WeaveSessionKey বস্তুর অধিবেশন, যার জন্য নতুন শেষ নোড যুক্ত করা উচিত উপস্থাপন করে।
[in] endNodeId
যোগ করার জন্য সেশন শেষ নোডের নোড আইডি।
রিটার্ন মান
WEAVE_ERROR_TOO_MANY_SHARED_SESSION_END_NODES
ভাগ করা শেষ নোডগুলির তালিকায় নতুন প্রবেশের জন্য যদি কোনও মুক্ত স্থান না থাকে।
WEAVE_NO_ERROR
সাফল্যের উপর।

অলোকসেশনকি

WEAVE_ERROR AllocSessionKey(
  uint64_t peerNodeId,
  uint16_t keyId,
  WeaveConnection *boundCon,
  WeaveSessionKey *& sessionKey
)

ক্লিয়ারফ্যাব্রিক স্টেট

void ClearFabricState(
  void
)

ক্রিয়েটফ্যাব্রিক

WEAVE_ERROR CreateFabric(
  void
)

ফাইন্ডসেশনকি

WEAVE_ERROR FindSessionKey(
  uint16_t keyId,
  uint64_t peerNodeId,
  bool create,
  WeaveSessionKey *& retRec
)

এই পদ্ধতিটি সেশন কী এন্ট্রি সন্ধান করে।

বিশদ
পরামিতি
[in] keyId
মূল শনাক্তকারী বুনুন।
[in] peerNodeId
পিয়ারের নোড শনাক্তকারী
[in] create
উল্লিখিত কীটি পাওয়া না গেলে নতুন কী তৈরি করা উচিত কিনা তা নির্দেশ করে এমন একটি বুলিয়ান মান।
[out] retRec
একটি একটি পয়েন্টার রেফারেন্স WeaveSessionKey অবজেক্ট।
রিটার্ন মান
WEAVE_ERROR_WRONG_KEY_TYPE
নির্দিষ্ট কীটি সেশন কী টাইপ না হলে।
WEAVE_ERROR_INVALID_ARGUMENT
যদি ইনপুট আর্গুমেন্টগুলির ভুল মান থাকে।
WEAVE_ERROR_KEY_NOT_FOUND
যদি নির্দিষ্ট কী খুঁজে পাওয়া যায় না।
WEAVE_ERROR_TOO_MANY_KEYS
নতুন সেশন কী তৈরি করার জন্য নিখরচায় এন্ট্রি না থাকলে।
WEAVE_NO_ERROR
সাফল্যের উপর।

ফাইন্ডশ্রেডসেশন

WeaveSessionKey * FindSharedSession(
  uint64_t terminatingNodeId,
  WeaveAuthMode authMode,
  uint8_t encType
)

একটি প্রতিষ্ঠিত ভাগ করা সেশন কীটির জন্য সেশন কী সারণী সন্ধান করুন যা নির্দিষ্ট টার্মিনেটিং নোডকে লক্ষ্য করে এবং প্রদত্ত লেখক মোড এবং এনক্রিপশন ধরণের সাথে মেলে।

বিশদ
পরামিতি
[in] terminatingNodeId
সেশন টার্মিনেটরের নোড শনাক্তকারী।
[in] authMode
পছন্দসই সেশন প্রমাণীকরণ মোড।
[in] encType
পছন্দসই বার্তা এনক্রিপশন প্রকার।
রিটার্ন মান
WeaveSessionKey
* একটি একটি পয়েন্টার WeaveSessionKey বস্তুর ম্যাচিং ভাগ অধিবেশন প্রতিনিধিত্বমূলক; বা যদি কোনও মিলের সেশন পাওয়া না যায় তবে NULL।

গেটফ্যাব্রিক স্টেট

WEAVE_ERROR GetFabricState(
  uint8_t *buf,
  uint32_t bufSize,
  uint32_t & fabricStateLen
)

পাসওয়ার্ড পেতে

WEAVE_ERROR GetPassword(
  uint8_t pwSrc,
  const char *& ps,
  uint16_t & pwLen
)

গেটসেশনকি

WEAVE_ERROR GetSessionKey(
  uint16_t keyId,
  uint64_t peerNodeId,
  WeaveSessionKey *& outSessionKey
)

গেটসেশন স্টেট

WEAVE_ERROR GetSessionState(
  uint64_t remoteNodeId,
  uint16_t keyId,
  uint8_t encType,
  WeaveConnection *con,
  WeaveSessionState & outSessionState
)

GetSharedSessionEndNodeIds

WEAVE_ERROR GetSharedSessionEndNodeIds(
  const WeaveSessionKey *sessionKey,
  uint64_t *endNodeIds,
  uint8_t endNodeIdsBufSize,
  uint8_t & endNodeIdsCount
)

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

বিশদ
পরামিতি
[in] sessionKey
সেশন কী অবজেক্টের পয়েন্টার।
[in] endNodeIds
নোড আইডি বাফার একটি পয়েন্টার।
[in] endNodeIdsMaxCount
বাফারে ফিট করতে পারে এমন সর্বোচ্চ নোড আইডি n
[out] endNodeIdsCount
সুনির্দিষ্ট অধিবেশন ভাগ করে পাওয়া শেষ নোড আইডিগুলির সংখ্যা।
রিটার্ন মান
WEAVE_ERROR_BUFFER_TOO_SMALL
যদি শেষ নোড আইডি বাফার সরবরাহ করা হয় তবে তা যথেষ্ট বড় নয়।
WEAVE_NO_ERROR
সাফল্যের উপর।

হ্যান্ডেল কানেকশন বন্ধ

void HandleConnectionClosed(
  WeaveConnection *con
)

এটা

WEAVE_ERROR Init(
  void
)

এটা

WEAVE_ERROR Init(
  nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore
)

#FabricAddress

bool IsFabricAddress(
  const IPAddress & addr
) const 

কোনও আইপি ঠিকানা স্থানীয় ওয়েভ ফ্যাব্রিকের মধ্যে কোনও নোডের ঠিকানা উপস্থাপন করে তা নির্ধারণ করে।

#LocalFabricAdress

bool IsLocalFabricAddress(
  const IPAddress & addr
) const 

কোনও আইপি ঠিকানা স্থানীয় নোডের জন্য ওয়েভ ফ্যাব্রিক ঠিকানা উপস্থাপন করে কিনা তা নির্ধারণ করে।

#SharedSession

bool IsSharedSession(
  uint16_t keyId,
  uint64_t peerNodeId
)

এই পদ্ধতিটি নির্দিষ্ট পিয়ার এবং কীআইডির সাথে সুরক্ষিত সেশনটি ভাগ করা আছে কিনা তা পরীক্ষা করে।

বিশদ
পরামিতি
[in] keyId
সেশন কী সনাক্তকারী।
[in] peerNodeId
পিয়ারের নোড শনাক্তকারী
রিটার্ন মান
bool
নির্দিষ্ট অধিবেশন ভাগ করা আছে কিনা।

জয়েনএক্সিংফ্যাব্রিক

WEAVE_ERROR JoinExistingFabric(
  const uint8_t *fabricState,
  uint32_t fabricStateLen
)

রেজিস্টারসেশনএন্ডক্যালব্যাক

WEAVE_ERROR RegisterSessionEndCallback(
  SessionEndCbCtxt *sessionEndCb
)

সরানআইডলসেশনকি

bool RemoveIdleSessionKeys()

সরানসেশনকি

WEAVE_ERROR RemoveSessionKey(
  uint16_t keyId,
  uint64_t peerNodeId
)

সরানসেশনকি

void RemoveSessionKey(
  WeaveSessionKey *sessionKey,
  bool wasIdle
)

শেয়ারডসেশনএন্ডনোডস সরান

void RemoveSharedSessionEndNodes(
  const WeaveSessionKey *sessionKey
)

সেশন পুনঃস্থাপন করুন

WEAVE_ERROR RestoreSession(
  uint8_t *serializedSession,
  uint16_t serializedSessionLen
)

সিরিয়ালযুক্ত রাষ্ট্র থেকে পূর্বের স্থগিত ওয়েভ সুরক্ষা অধিবেশন পুনরুদ্ধার করুন।

নির্বাচন করুন নোড অ্যাড্রেস

IPAddress SelectNodeAddress(
  uint64_t nodeId,
  uint16_t subnet
) const 

একটি নির্দিষ্ট নোডের জন্য ওয়েভ ইউএল সমন্বিত একটি আইপিএড্রেসস প্রদান করে।

এই রূপটি একটি সাবনেট নির্দিষ্ট করার অনুমতি দেয়।

বিশদ
পরামিতি
[in] nodeId
প্রশ্নযুক্ত নোডের নোড আইডি নম্বর।
[in] subnet
ইউএলএর কাঙ্ক্ষিত সাবনেট।
রিটার্ন মান
IPAddress
একটি আইপিএড্রেস অবজেক্ট।

নির্বাচন করুন নোড অ্যাড্রেস

IPAddress SelectNodeAddress(
  uint64_t nodeId
) const 

একটি নির্দিষ্ট নোডের জন্য একটি ওয়েভ ইউএলযুক্ত একটি আইপিএড্রেস ফেরত দেয়।

এই রূপটি স্থানীয় নোডের ডিফল্ট সাবনেট ব্যবহার করে।

বিশদ
পরামিতি
[in] nodeId
প্রশ্নযুক্ত নোডের নোড আইডি নম্বর।
রিটার্ন মান
IPAddress
একটি আইপিএড্রেস অবজেক্ট।

সেটডেলিগেট

void SetDelegate(
  FabricStateDelegate *aDelegate
)

এই পদ্ধতিটি প্রতিনিধি অবজেক্টটি সেট করে।

যখনই ফ্যাব্রিকআইডি পরিবর্তন করা হয়, অর্থাত্ যখন আমরা একটি ফ্যাব্রিক যোগদান করি / তৈরি করি বা যখন আমরা কোনও ফ্যাব্রিক ছেড়ে যাই (ডেস্কটপ পরিষ্কার অবস্থা) তখন ডেলিগেটের কলব্যাক পদ্ধতিগুলি ডাকা হয় whenever

যদি প্রতিনিধিটি আগে সেট করা থাকে, তবে এই পদ্ধতির দ্বিতীয় কলটি পূর্ববর্তী প্রতিনিধিটিকে ওভাররাইট করে।

বিশদ
পরামিতি
[in] aDelegate
প্রতিনিধি আপত্তি। কোনও প্রতিনিধি প্রয়োজন না হলে এটি NULL হতে পারে।

সেটসেশনকি

WEAVE_ERROR SetSessionKey(
  uint16_t keyId,
  uint64_t peerNodeId,
  uint8_t encType,
  WeaveAuthMode authMode,
  const WeaveEncryptionKey *encKey
)

সেটসেশনকি

WEAVE_ERROR SetSessionKey(
  WeaveSessionKey *sessionKey,
  uint8_t encType,
  WeaveAuthMode authMode,
  const WeaveEncryptionKey *encKey
)

শাটডাউন

WEAVE_ERROR Shutdown(
  void
)

সাসপেন্ডসেশন

WEAVE_ERROR SuspendSession(
  uint16_t keyId,
  uint64_t peerNodeId,
  uint8_t *buf,
  uint16_t bufSize,
  uint16_t & serializedSessionLen
)

একটি সক্রিয় বুনন সুরক্ষা সেশনের স্থিতি স্থগিত ও সিরিয়ালাইজ করুন।

সরবরাহিত বাফারে একটি চিহ্নিত ওয়েভ সুরক্ষা অধিবেশনটির অবস্থা সিরিয়ালিকৃত করে এবং সেশনটি স্থগিত করে যাতে আর কোনও বার্তা প্রেরণ বা গ্রহণ করা যায় না।

এই পদ্ধতিটি এমন ডিভাইসগুলির দ্বারা ব্যবহারের উদ্দেশ্যে করা হয়েছে যা ঘুমের সময় র‌্যাম ধরে রাখে না, তাদের সক্রিয় সেশনের অবস্থা ধরে রাখার অনুমতি দেয় এবং ততক্ষণে যখন তারা জেগে যায় তখন সেশনটি পুনরায় প্রতিষ্ঠিত করার প্রয়োজনীয়তা এড়াতে পারে।

ওয়েভফ্যাব্রিক স্টেট

 WeaveFabricState(
  void
)