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
|
تعداد |
السمات العامة |
|
---|---|
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 يمثل عنوان عقدة داخل نسيج Weave المحلي.
|
IsLocalFabricAddress(const IPAddress & addr) const
|
bool
تحدِّد ما إذا كان عنوان IP يمثّل عنوان نسيج Weave للعقدة المحلية.
|
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)
|
استعادة جلسة أمان Weave التي تم تعليقها سابقًا من حالة تسلسلية.
|
SelectNodeAddress(uint64_t nodeId, uint16_t subnet) const
|
لعرض عنوان IPAddress يحتوي على ULA في Weave لعقدة محددة.
|
SelectNodeAddress(uint64_t nodeId) const
|
لعرض عنوان IPAddress يحتوي على ULA في Weave لعقدة محددة.
|
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
تحدد ما إذا كان عنوان IP يمثل عنوان عقدة داخل نسيج Weave المحلي.
IsLocalFabricAddress
bool IsLocalFabricAddress( const IPAddress & addr ) const
تحدِّد ما إذا كان عنوان IP يمثّل عنوان نسيج Weave للعقدة المحلية.
IsSharedSession
bool IsSharedSession( uint16_t keyId, uint64_t peerNodeId )
تتحقّق هذه الطريقة مما إذا تمت مشاركة الجلسة الآمنة المرتبطة بزميل الفريق ورقم تعريف المفتاح المحدّدَين.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
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
لعرض عنوان IPAddress يحتوي على ULA في Weave لعقدة محددة.
يتيح هذا الخيار تحديد شبكة فرعية.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
SelectNodeAddress
IPAddress SelectNodeAddress( uint64_t nodeId ) const
لعرض عنوان IPAddress يحتوي على ULA في Weave لعقدة محددة.
يستخدم هذا المتغيّر الشبكة الفرعية التلقائية للعقدة المحلية.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
قيم الإرجاع |
|
SetDelegate
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 )
SuspendSession
WEAVE_ERROR SuspendSession( uint16_t keyId, uint64_t peerNodeId, uint8_t *buf, uint16_t bufSize, uint16_t & serializedSessionLen )
يمكنك تعليق حالة جلسة أمان Weave النشطة وإجراء تسلسل لها.
تسلسل حالة جلسة أمان Weave التي تم تحديدها في المخزن المؤقت المقدم، وتعليق الجلسة بحيث لا يمكن إرسال أي رسائل أخرى أو استلامها.
هذه الطريقة معدّة للاستخدام من قِبل الأجهزة التي لا تحتفظ بذاكرة الوصول العشوائي (RAM) أثناء السكون، ما يتيح لها مواصلة حالة الجلسة النشطة وبالتالي تجنُّب الحاجة إلى إعادة إنشاء الجلسة عند تنشيطها.
WeaveFabricState
WeaveFabricState( void )