nl:: বুনা:: WeaveFabricState
#include <src/lib/core/WeaveFabricState.h>
WeaveFabricState এর ফরোয়ার্ড ঘোষণা।
সারাংশ
কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর | |
---|---|
WeaveFabricState (void) |
পাবলিক প্রকার | |
---|---|
PeerIndexType | typedefuint8_t |
SessionEndCbFunct )(uint16_t keyId, uint64_t peerNodeId, void *context) | typedefvoid(* |
State | enum |
পাবলিক বৈশিষ্ট্য | |
---|---|
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 একটি IP ঠিকানা স্থানীয় ওয়েভ ফ্যাব্রিকের মধ্যে একটি নোডের একটি ঠিকানা প্রতিনিধিত্ব করে কিনা তা নির্ধারণ করে। |
IsLocalFabricAddress (const IPAddress & addr) const | bool একটি IP ঠিকানা স্থানীয় নোডের জন্য একটি Weave ফ্যাব্রিক ঠিকানা প্রতিনিধিত্ব করে কিনা তা নির্ধারণ করে। |
IsSharedSession (uint16_t keyId, uint64_t peerNodeId) | bool এই পদ্ধতিটি নির্দিষ্ট পিয়ার এবং keyId এর সাথে যুক্ত নিরাপদ সেশন শেয়ার করা হয়েছে কিনা তা পরীক্ষা করে। |
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 | একটি নির্দিষ্ট নোডের জন্য একটি Weave ULA সমন্বিত একটি IPA ঠিকানা প্রদান করে। |
SelectNodeAddress (uint64_t nodeId) const | একটি নির্দিষ্ট নোডের জন্য একটি Weave ULA সমন্বিত একটি IPA ঠিকানা প্রদান করে। |
SetDelegate ( FabricStateDelegate *aDelegate) | void এই পদ্ধতিটি প্রতিনিধি বস্তু সেট করে। |
SetSessionKey (uint16_t keyId, uint64_t peerNodeId, uint8_t encType, WeaveAuthMode authMode, const WeaveEncryptionKey *encKey) | |
SetSessionKey ( WeaveSessionKey *sessionKey, uint8_t encType, WeaveAuthMode authMode, const WeaveEncryptionKey *encKey) | |
Shutdown (void) | |
SuspendSession (uint16_t keyId, uint64_t peerNodeId, uint8_t *buf, uint16_t bufSize, uint16_t & serializedSessionLen) | একটি সক্রিয় ওয়েভ নিরাপত্তা সেশনের অবস্থা স্থগিত করুন এবং সিরিয়াল করুন। |
কাঠামো | |
---|---|
nl:: Weave:: WeaveFabricState:: SessionEndCbCtxt |
পাবলিক প্রকার
PeerIndexType
uint8_t PeerIndexType
SessionEndCbFunct
void(* SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
রাজ্য
State
পাবলিক বৈশিষ্ট্য
AutoCreateKeys
bool AutoCreateKeys
DebugFabricId
uint64_t DebugFabricId
ডিফল্ট সাবনেট
uint16_t DefaultSubnet
ফ্যাব্রিকআইডি
uint64_t FabricId
গ্রুপকিস্টোর
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase * GroupKeyStore
ListenIPv4Addr
IPAddress ListenIPv4Addr
ListenIPv6Addr
IPAddress ListenIPv6Addr
LocalNodeId
uint64_t LocalNodeId
লগকি
bool LogKeys
MaxUnencUDPMsgIdRcvd
uint32_t MaxUnencUDPMsgIdRcvd[WEAVE_CONFIG_MAX_PEER_NODES]
মেসেজ লেয়ার
WeaveMessageLayer * MessageLayer
সর্বাধিক সাম্প্রতিক ব্যবহৃত সূচকগুলি৷
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
পাবলিক ফাংশন
ShareedSessionEndNode যোগ করুন
WEAVE_ERROR AddSharedSessionEndNode( uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId )
ShareedSessionEndNode যোগ করুন
WEAVE_ERROR AddSharedSessionEndNode( WeaveSessionKey *sessionKey, uint64_t endNodeId )
এই পদ্ধতি শেয়ার করা শেষ নোড রেকর্ডে নতুন শেষ নোড যোগ করে।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্ন মান |
|
AllocSessionKey
WEAVE_ERROR AllocSessionKey( uint64_t peerNodeId, uint16_t keyId, WeaveConnection *boundCon, WeaveSessionKey *& sessionKey )
ClearFabricState
void ClearFabricState( void )
ফ্যাব্রিক তৈরি করুন
WEAVE_ERROR CreateFabric( void )
FindSessionKey
WEAVE_ERROR FindSessionKey( uint16_t keyId, uint64_t peerNodeId, bool create, WeaveSessionKey *& retRec )
এই পদ্ধতিটি সেশন কী এন্ট্রি খুঁজে পায়।
বিস্তারিত | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||||
রিটার্ন মান |
|
শেয়ার করা সেশন খুঁজুন
WeaveSessionKey * FindSharedSession( uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType )
একটি প্রতিষ্ঠিত শেয়ার্ড সেশন কীর জন্য সেশন কী টেবিলে অনুসন্ধান করুন যা নির্দিষ্ট টার্মিনেটিং নোডকে লক্ষ্য করে এবং প্রদত্ত প্রমাণীকরণ মোড এবং এনক্রিপশন প্রকারের সাথে মেলে।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||
রিটার্ন মান |
|
GetFabricState
WEAVE_ERROR GetFabricState( uint8_t *buf, uint32_t bufSize, uint32_t & fabricStateLen )
পাসওয়ার্ড পান
WEAVE_ERROR GetPassword( uint8_t pwSrc, const char *& ps, uint16_t & pwLen )
GetSessionKey
WEAVE_ERROR GetSessionKey( uint16_t keyId, uint64_t peerNodeId, WeaveSessionKey *& outSessionKey )
GetSessionState
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 )
এই পদ্ধতিটি নির্দিষ্ট সেশন ভাগ করে এমন সমস্ত শেষ নোড আইডি প্রদান করে।
বিস্তারিত | |||||||||
---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||
রিটার্ন মান |
|
হ্যান্ডেল সংযোগ বন্ধ
void HandleConnectionClosed( WeaveConnection *con )
ইনিট
WEAVE_ERROR Init( void )
ইনিট
WEAVE_ERROR Init( nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore )
IsFabricAddress
bool IsFabricAddress( const IPAddress & addr ) const
একটি IP ঠিকানা স্থানীয় ওয়েভ ফ্যাব্রিকের মধ্যে একটি নোডের একটি ঠিকানা প্রতিনিধিত্ব করে কিনা তা নির্ধারণ করে।
IsLocalFabricAddress
bool IsLocalFabricAddress( const IPAddress & addr ) const
একটি IP ঠিকানা স্থানীয় নোডের জন্য একটি Weave ফ্যাব্রিক ঠিকানা প্রতিনিধিত্ব করে কিনা তা নির্ধারণ করে।
শেয়ার করা অধিবেশন
bool IsSharedSession( uint16_t keyId, uint64_t peerNodeId )
এই পদ্ধতিটি নির্দিষ্ট পিয়ার এবং keyId এর সাথে যুক্ত নিরাপদ সেশন শেয়ার করা হয়েছে কিনা তা পরীক্ষা করে।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্ন মান |
|
বিদ্যমান ফ্যাব্রিকে যোগ দিন
WEAVE_ERROR JoinExistingFabric( const uint8_t *fabricState, uint32_t fabricStateLen )
RegisterSessionEndCallback
WEAVE_ERROR RegisterSessionEndCallback( SessionEndCbCtxt *sessionEndCb )
IdleSessionKeys সরান
bool RemoveIdleSessionKeys()
RemoveSessionKey
WEAVE_ERROR RemoveSessionKey( uint16_t keyId, uint64_t peerNodeId )
RemoveSessionKey
void RemoveSessionKey( WeaveSessionKey *sessionKey, bool wasIdle )
শেয়ার করা সেশন এন্ডনোডগুলি সরান৷
void RemoveSharedSessionEndNodes( const WeaveSessionKey *sessionKey )
রিস্টোর সেশন
WEAVE_ERROR RestoreSession( uint8_t *serializedSession, uint16_t serializedSessionLen )
একটি ক্রমিক অবস্থা থেকে পূর্বে স্থগিত করা উইভ নিরাপত্তা সেশন পুনরুদ্ধার করুন।
NodeAddress নির্বাচন করুন
IPAddress SelectNodeAddress( uint64_t nodeId, uint16_t subnet ) const
একটি নির্দিষ্ট নোডের জন্য একটি Weave ULA সমন্বিত একটি IPA ঠিকানা প্রদান করে।
এই বৈকল্পিকটি একটি সাবনেট নির্দিষ্ট করার অনুমতি দেয়।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্ন মান |
|
NodeAddress নির্বাচন করুন
IPAddress SelectNodeAddress( uint64_t nodeId ) const
একটি নির্দিষ্ট নোডের জন্য একটি Weave ULA সমন্বিত একটি IPA ঠিকানা প্রদান করে।
এই বৈকল্পিক স্থানীয় নোডের ডিফল্ট সাবনেট ব্যবহার করে।
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
| ||
রিটার্ন মান |
|
ডেলিগেট সেট করুন
void SetDelegate( FabricStateDelegate *aDelegate )
এই পদ্ধতিটি প্রতিনিধি বস্তু সেট করে।
যখনই FabricId পরিবর্তন করা হয়, অর্থাৎ, যখন আমরা একটি ফ্যাব্রিকে যোগদান করি/তৈরি করি, বা যখন আমরা একটি ফ্যাব্রিক ছেড়ে চলে যাই (ক্লিয়ার ফ্যাব্রিক স্টেট) তখন ডেলিগেটের কলব্যাক পদ্ধতিগুলি চালু করা হয়৷
যদি প্রতিনিধি পূর্বে সেট করা থাকে, তাহলে এই পদ্ধতিতে একটি দ্বিতীয় কল পূর্ববর্তী প্রতিনিধিকে ওভাররাইট করবে।
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
|
SetSessionKey
WEAVE_ERROR SetSessionKey( uint16_t keyId, uint64_t peerNodeId, uint8_t encType, WeaveAuthMode authMode, const WeaveEncryptionKey *encKey )
SetSessionKey
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 )
একটি সক্রিয় ওয়েভ নিরাপত্তা সেশনের অবস্থা স্থগিত করুন এবং সিরিয়াল করুন।
সরবরাহকৃত বাফারে একটি চিহ্নিত ওয়েভ সিকিউরিটি সেশনের অবস্থাকে সিরিয়ালাইজ করে এবং সেশনটিকে স্থগিত করে যাতে আর কোনো বার্তা পাঠানো বা গ্রহণ করা না যায়।
এই পদ্ধতিটি এমন ডিভাইসগুলির দ্বারা ব্যবহার করার উদ্দেশ্যে করা হয়েছে যেগুলি ঘুমানোর সময় RAM ধরে রাখে না, তাদের একটি সক্রিয় অধিবেশনের অবস্থা বজায় রাখতে দেয় এবং এর ফলে তারা জেগে উঠলে সেশনটি পুনঃস্থাপন করার প্রয়োজন এড়াতে পারে।
WeaveFabricState
WeaveFabricState( void )