nl:: Weave:: 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
यह तय करता है कि कोई आईपी पता, लोकल वीव फ़ैब्रिक के अंदर किसी नोड के पते को दिखाता है या नहीं.
|
IsLocalFabricAddress(const IPAddress & addr) const
|
bool
यह तय करता है कि कोई आईपी पता, लोकल नोड के लिए वीव फ़ैब्रिक पते को दिखाता है या नहीं.
|
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)
|
किसी क्रम वाली स्थिति से, पहले से निलंबित Weave सुरक्षा सेशन को वापस लाएं.
|
SelectNodeAddress(uint64_t nodeId, uint16_t subnet) const
|
किसी तय नोड के लिए Weave ULA वाला IPAddress देता है.
|
SelectNodeAddress(uint64_t nodeId) const
|
किसी तय नोड के लिए Weave ULA वाला IPAddress देता है.
|
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)
|
Weave सुरक्षा के किसी चालू सेशन की स्थिति को निलंबित करें और क्रम से लगाएं.
|
स्ट्रक्चर |
|
---|---|
nl:: |
सार्वजनिक प्रकार
PeerIndexType
uint8_t PeerIndexType
SessionEndCbFunct
void(* SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
स्थिति
State
सार्वजनिक विशेषताएं
AutoCreateKeys
bool AutoCreateKeys
DebugFabricId
uint64_t DebugFabricId
DefaultSubnet
uint16_t DefaultSubnet
FabricId
uint64_t FabricId
GroupKeyStore
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase * GroupKeyStore
ListenIPv4Addr
IPAddress ListenIPv4Addr
ListenIPv6Addr
IPAddress ListenIPv6Addr
LocalNodeId
uint64_t LocalNodeId
LogKeys
bool LogKeys
MaxUnencUDPMsgIdRcvd
uint32_t MaxUnencUDPMsgIdRcvd[WEAVE_CONFIG_MAX_PEER_NODES]
MessageLayer
WeaveMessageLayer * MessageLayer
MostRecentlyUsedIndexes
PeerIndexType MostRecentlyUsedIndexes[WEAVE_CONFIG_MAX_PEER_NODES]
NodeId
uint64_t NodeId[WEAVE_CONFIG_MAX_PEER_NODES]
PairingCode
const char * PairingCode
स्थिति
uint8_t State
UnencRcvFlags
WeaveSessionState::ReceiveFlagsType UnencRcvFlags[WEAVE_CONFIG_MAX_PEER_NODES]
UseTestKey
bool UseTestKey
सार्वजनिक फ़ंक्शन
AddSharedSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId )
AddSharedSessionEndNode
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 )
CreateFabric
WEAVE_ERROR CreateFabric( void )
FindSessionKey
WEAVE_ERROR FindSessionKey( uint16_t keyId, uint64_t peerNodeId, bool create, WeaveSessionKey *& retRec )
इस तरीके से सेशन की एंट्री का पता चलता है.
विवरण | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||
रिटर्न वैल्यू |
|
FindSharedSession
WeaveSessionKey * FindSharedSession( uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType )
शेयर किए गए किसी ऐसे सेशन की टेबल को खोजें जो शेयर किए गए किसी सेशन को खत्म करने के लिए बताए गए नोड को टारगेट करती है. साथ ही, यह दिए गए ऑथराइज़ेशन मोड और एन्क्रिप्शन टाइप से मैच करती है.
विवरण | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
GetFabricState
WEAVE_ERROR GetFabricState( uint8_t *buf, uint32_t bufSize, uint32_t & fabricStateLen )
GetPassword
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 )
इस तरीके से, किसी खास सेशन को शेयर करने वाले सभी आखिरी नोड के आईडी दिखते हैं.
विवरण | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
HandleConnectionClosed
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
यह तय करता है कि कोई आईपी पता, लोकल वीव फ़ैब्रिक के अंदर किसी नोड के पते को दिखाता है या नहीं.
IsLocalFabricAddress
bool IsLocalFabricAddress( const IPAddress & addr ) const
यह तय करता है कि कोई आईपी पता, लोकल नोड के लिए वीव फ़ैब्रिक पते को दिखाता है या नहीं.
IsSharedSession
bool IsSharedSession( uint16_t keyId, uint64_t peerNodeId )
इस तरीके से यह पता चलता है कि मिलते-जुलते ऐप्लिकेशन और keyId से जुड़ा सुरक्षित सेशन शेयर किया गया है या नहीं.
विवरण | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
रिटर्न वैल्यू |
|
JoinExistingFabric
WEAVE_ERROR JoinExistingFabric( const uint8_t *fabricState, uint32_t fabricStateLen )
RegisterSessionEndCallback
WEAVE_ERROR RegisterSessionEndCallback( SessionEndCbCtxt *sessionEndCb )
RemoveIdleSessionKeys
bool RemoveIdleSessionKeys()
RemoveSessionKey
WEAVE_ERROR RemoveSessionKey( uint16_t keyId, uint64_t peerNodeId )
RemoveSessionKey
void RemoveSessionKey( WeaveSessionKey *sessionKey, bool wasIdle )
RemoveSharedSessionEndNodes
void RemoveSharedSessionEndNodes( const WeaveSessionKey *sessionKey )
RestoreSession
WEAVE_ERROR RestoreSession( uint8_t *serializedSession, uint16_t serializedSessionLen )
किसी क्रम वाली स्थिति से, पहले से निलंबित Weave सुरक्षा सेशन को वापस लाएं.
SelectNodeAddress
IPAddress SelectNodeAddress( uint64_t nodeId, uint16_t subnet ) const
किसी खास नोड के लिए Weave ULA वाला IPAddress देता है.
इस वैरिएंट से, सबनेट तय करने की अनुमति मिलती है.
विवरण | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
रिटर्न वैल्यू |
|
SelectNodeAddress
IPAddress SelectNodeAddress( uint64_t nodeId ) const
किसी तय नोड के लिए Weave ULA वाला IPAddress देता है.
यह वैरिएंट, लोकल नोड के डिफ़ॉल्ट सबनेट का इस्तेमाल करता है.
विवरण | |||
---|---|---|---|
पैरामीटर |
|
||
रिटर्न वैल्यू |
|
SetDelegate
void SetDelegate( FabricStateDelegate *aDelegate )
यह तरीका डेलिगेट ऑब्जेक्ट सेट करता है.
जब हम फ़ैब्रिक आईडी बदलते हैं या कोई फ़ैब्रिक बनाते हैं या कोई कपड़ा छोड़ देते हैं, तो डेलिगेट के कॉलबैक मेथड शुरू हो जाते हैं (फ़ैब्रिक की स्थिति को साफ़ तौर पर सेट करते समय)
अगर डेलिगेट पहले से सेट है, तो इस तरीके का इस्तेमाल करने पर दूसरा कॉल करने पर पिछले डेलिगेट की जगह ले लिया जाएगा.
विवरण | |||
---|---|---|---|
पैरामीटर |
|
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 )
SuspendSession
WEAVE_ERROR SuspendSession( uint16_t keyId, uint64_t peerNodeId, uint8_t *buf, uint16_t bufSize, uint16_t & serializedSessionLen )
Weave सुरक्षा के किसी चालू सेशन की स्थिति को निलंबित करें और क्रम से लगाएं.
यह फ़ंक्शन, बताए गए Weave सुरक्षा सेशन की स्थिति को, दिए गए बफ़र में क्रम से लगाता है. साथ ही, सेशन को इस तरह निलंबित कर देता है कि कोई और मैसेज न तो भेजा जा सके और न ही लिया जा सके.
यह तरीका, उन डिवाइसों पर इस्तेमाल करने के लिए है जिनमें सोते समय रैम नहीं होती. इससे, उन्हें सक्रिय सेशन की स्थिति में बने रहने में मदद मिलती है और जागने पर सेशन को फिर से शुरू करने की ज़रूरत नहीं पड़ती.
WeaveFabricState
WeaveFabricState( void )