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
|
عرض عنوان IP الذي يحتوي على ULA Weave لعقدة محددة.
|
SelectNodeAddress(uint64_t nodeId) const
|
عرض عنوان IP الذي يحتوي على 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:: |
الأنواع المتاحة للجميع
نوع بيانات PeerIndex
uint8_t PeerIndexType
نهاية الجلسة
void(* SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
الولاية
State
السمات العامة
إنشاء المفاتيح تلقائيًا
bool AutoCreateKeys
معرف DebugFabric
uint64_t DebugFabricId
الشبكة الفرعية التلقائية
uint16_t DefaultSubnet
معرِّف أقمشة
uint64_t FabricId
GroupKeyStore
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase * GroupKeyStore
أداة AddIPv4Addr
IPAddress ListenIPv4Addr
أداة AddIPv6Addr
IPAddress ListenIPv6Addr
رقم تعريف العقدة المحلية
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
وظائف عامة
إضافة SharedSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId )
إضافة SharedSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( WeaveSessionKey *sessionKey, uint64_t endNodeId )
تضيف هذه الطريقة عُقدة نهاية جديدة إلى سجل عُقد النهاية المشتركة.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
||||
قيم الإرجاع |
|
مفتاح الجلسة
WEAVE_ERROR AllocSessionKey( uint64_t peerNodeId, uint16_t keyId, WeaveConnection *boundCon, WeaveSessionKey *& sessionKey )
ClearFabricState
void ClearFabricState( void )
إنشاء أقمشة
WEAVE_ERROR CreateFabric( void )
مفتاح الجلسة
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 )
حالة الجلسة
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 يمثّل عنوانًا لعقدة ضمن نسيج Weave المحلي.
عنوان IsLocalFabric
bool IsLocalFabricAddress( const IPAddress & addr ) const
تحدِّد هذه السياسة ما إذا كان عنوان IP يمثّل عنوان قماش Weave للعقدة المحلية.
جلسة مشتركة
bool IsSharedSession( uint16_t keyId, uint64_t peerNodeId )
تتحقّق هذه الطريقة مما إذا كانت الجلسة الآمنة المرتبطة بالنظير المُحدَّد ورقم تعريف المفتاح المشترك ستتم مشاركتها.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
||||
قيم الإرجاع |
|
الانضمام الحاليFabric
WEAVE_ERROR JoinExistingFabric( const uint8_t *fabricState, uint32_t fabricStateLen )
LoginSessionEndCallback
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 )
استعادة جلسة أمان Weave معلّقة سابقًا من حالة متسلسل.
تحديد عقدة العنوان
IPAddress SelectNodeAddress( uint64_t nodeId, uint16_t subnet ) const
عرض عنوان IP الذي يحتوي على ULA Weave لعقدة محددة.
يسمح هذا المتغير بتحديد شبكة فرعية.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
||||
قيم الإرجاع |
|
تحديد عقدة العنوان
IPAddress SelectNodeAddress( uint64_t nodeId ) const
عرض عنوان IP الذي يحتوي على ULA Weave لعقدة محددة.
يستخدم هذا المتغير الشبكة الفرعية التلقائية للعقدة المحلية.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
قيم الإرجاع |
|
ضبط التفويض
void SetDelegate( FabricStateDelegate *aDelegate )
تضبط هذه الطريقة عنصر التفويض.
يتم استدعاء أساليب رد الاتصال للمفوّض عند تغيير معرّف FabricId، أي عند انضمامنا إلى الأقمشة أو إنشائها أو عندما نترك قماشًا (حالة القماش الشفاف)
في حال ضبط المفوَّض من قبل، سيؤدي الاستدعاء الثاني لهذه الطريقة إلى استبدال المفوَّض السابق.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
ضبط الجلسة
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 )
يمكنك تعليق حالة جلسة أمان Weave نشطة ووضع تسلسل لها.
تسلسل حالة جلسة أمان Weave المحددة في المخزن المؤقت الذي تم توفيره وتعليق الجلسة بحيث لا يمكن إرسال أو استلام المزيد من الرسائل.
ومن المفترض أن يتم استخدام هذه الطريقة من خلال الأجهزة التي لا تحتفظ بذاكرة الوصول العشوائي (RAM) أثناء السكون، مما يسمح لها بالاحتفاظ بحالة الجلسة النشطة وبالتالي تجنب الحاجة إلى إعادة إنشاء الجلسة عند تنشيطها.
WeaveFabricState
WeaveFabricState( void )