nl:: Menenun:: WeaveFabricState
#include <src/lib/core/WeaveFabricState.h>
Deklarasi maju dari WeaveFabricState.
Ringkasan
Konstruktor dan Destruktor |
|
---|---|
WeaveFabricState(void)
|
Jenis publik |
|
---|---|
PeerIndexType
|
typedefuint8_t
|
SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
|
typedefvoid(*
|
State
|
enum |
Atribut publik |
|
---|---|
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
|
Fungsi publik |
|
---|---|
AddSharedSessionEndNode(uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId)
|
|
AddSharedSessionEndNode(WeaveSessionKey *sessionKey, uint64_t endNodeId)
|
Metode ini menambahkan node akhir baru ke data node akhir bersama.
|
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)
|
Metode ini menemukan entri kunci sesi.
|
FindSharedSession(uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType)
|
Telusuri tabel kunci sesi untuk menemukan kunci sesi bersama yang dibuat, yang menargetkan node penghentian yang ditentukan, serta cocok dengan mode autentikasi dan jenis enkripsi yang ditentukan.
|
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)
|
Metode ini menampilkan semua ID node akhir yang berbagi sesi yang ditentukan.
|
HandleConnectionClosed(WeaveConnection *con)
|
void
|
Init(void)
|
|
Init(nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore)
|
|
IsFabricAddress(const IPAddress & addr) const
|
bool
Menentukan apakah alamat IP mewakili alamat node dalam kain Weave lokal.
|
IsLocalFabricAddress(const IPAddress & addr) const
|
bool
Menentukan apakah alamat IP mewakili alamat kain Weave untuk node lokal.
|
IsSharedSession(uint16_t keyId, uint64_t peerNodeId)
|
bool
Metode ini memeriksa apakah sesi aman yang dikaitkan dengan pembanding dan keyId yang ditentukan akan dibagikan.
|
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)
|
Memulihkan Sesi Keamanan Weave yang ditangguhkan sebelumnya dari status serial.
|
SelectNodeAddress(uint64_t nodeId, uint16_t subnet) const
|
Menampilkan IPAddress yang berisi Weave ULA untuk node tertentu.
|
SelectNodeAddress(uint64_t nodeId) const
|
Menampilkan IPAddress yang berisi Weave ULA untuk node tertentu.
|
SetDelegate(FabricStateDelegate *aDelegate)
|
void
Metode ini menetapkan objek delegasi.
|
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)
|
Menangguhkan dan menserialisasikan status sesi keamanan Weave yang aktif.
|
Struct |
|
---|---|
nl:: |
Jenis publik
PeerIndexType
uint8_t PeerIndexType
SesiEndCbFunct
void(* SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
Negara bagian
State
Atribut publik
KunciBuatOtomatis
bool AutoCreateKeys
ID KainDebug
uint64_t DebugFabricId
Subnet Default
uint16_t DefaultSubnet
ID Fabric
uint64_t FabricId
GroupKeyStore
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase * GroupKeyStore
DengarkanIPv4Addr
IPAddress ListenIPv4Addr
DengarkanIPv6Addr
IPAddress ListenIPv6Addr
ID Lokal
uint64_t LocalNodeId
LogKey
bool LogKeys
MaxUnencUDPmsgIdRcvd
uint32_t MaxUnencUDPMsgIdRcvd[WEAVE_CONFIG_MAX_PEER_NODES]
MessageLayer
WeaveMessageLayer * MessageLayer
Indeks yang Terakhir Digunakan
PeerIndexType MostRecentlyUsedIndexes[WEAVE_CONFIG_MAX_PEER_NODES]
ID Node
uint64_t NodeId[WEAVE_CONFIG_MAX_PEER_NODES]
KodePenyambungan
const char * PairingCode
Negara bagian
uint8_t State
FlagUnencRcvv
WeaveSessionState::ReceiveFlagsType UnencRcvFlags[WEAVE_CONFIG_MAX_PEER_NODES]
Menggunakan KunciPengujian
bool UseTestKey
Fungsi publik
MenambahkanSharedSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId )
MenambahkanSharedSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( WeaveSessionKey *sessionKey, uint64_t endNodeId )
Metode ini menambahkan node akhir baru ke data node akhir bersama.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Nilai yang Ditampilkan |
|
KunciSesi Alloc
WEAVE_ERROR AllocSessionKey( uint64_t peerNodeId, uint16_t keyId, WeaveConnection *boundCon, WeaveSessionKey *& sessionKey )
ClearFabricState
void ClearFabricState( void )
CreateFabric
WEAVE_ERROR CreateFabric( void )
Menemukan KunciSesi
WEAVE_ERROR FindSessionKey( uint16_t keyId, uint64_t peerNodeId, bool create, WeaveSessionKey *& retRec )
Metode ini menemukan entri kunci sesi.
Detail | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Nilai yang Ditampilkan |
|
FindSharedSession
WeaveSessionKey * FindSharedSession( uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType )
Telusuri tabel kunci sesi untuk menemukan kunci sesi bersama yang dibuat, yang menargetkan node penghentian yang ditentukan, serta cocok dengan mode autentikasi dan jenis enkripsi yang ditentukan.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Nilai yang Ditampilkan |
|
GetFabricState
WEAVE_ERROR GetFabricState( uint8_t *buf, uint32_t bufSize, uint32_t & fabricStateLen )
DapatkanSandi
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 )
Metode ini menampilkan semua ID node akhir yang berbagi sesi yang ditentukan.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai yang Ditampilkan |
|
HandleConnectionClosed
void HandleConnectionClosed( WeaveConnection *con )
Init
WEAVE_ERROR Init( void )
Init
WEAVE_ERROR Init( nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore )
Alamat Fabric
bool IsFabricAddress( const IPAddress & addr ) const
Menentukan apakah alamat IP mewakili alamat node dalam kain Weave lokal.
AlamatIsLocalFabric
bool IsLocalFabricAddress( const IPAddress & addr ) const
Menentukan apakah alamat IP mewakili alamat kain Weave untuk node lokal.
Sesi Bersama
bool IsSharedSession( uint16_t keyId, uint64_t peerNodeId )
Metode ini memeriksa apakah sesi aman yang dikaitkan dengan pembanding dan keyId yang ditentukan akan dibagikan.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Nilai yang Ditampilkan |
|
Gabung Dengan Fabric
WEAVE_ERROR JoinExistingFabric( const uint8_t *fabricState, uint32_t fabricStateLen )
RegisterSessionEndCallback
WEAVE_ERROR RegisterSessionEndCallback( SessionEndCbCtxt *sessionEndCb )
MenghapusIdleSessionKeys
bool RemoveIdleSessionKeys()
Menghapus KunciSesi
WEAVE_ERROR RemoveSessionKey( uint16_t keyId, uint64_t peerNodeId )
Menghapus KunciSesi
void RemoveSessionKey( WeaveSessionKey *sessionKey, bool wasIdle )
MenghapusNodeSessionSessionEndNodes
void RemoveSharedSessionEndNodes( const WeaveSessionKey *sessionKey )
Sesi Pemulihan
WEAVE_ERROR RestoreSession( uint8_t *serializedSession, uint16_t serializedSessionLen )
Memulihkan Sesi Keamanan Weave yang ditangguhkan sebelumnya dari status serial.
PilihNodeAddress
IPAddress SelectNodeAddress( uint64_t nodeId, uint16_t subnet ) const
Menampilkan IPAddress yang berisi Weave ULA untuk node tertentu.
Varian ini memungkinkan subnet ditentukan.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Nilai yang Ditampilkan |
|
PilihNodeAddress
IPAddress SelectNodeAddress( uint64_t nodeId ) const
Menampilkan IPAddress yang berisi Weave ULA untuk node tertentu.
Varian ini menggunakan subnet default node lokal.
Detail | |||
---|---|---|---|
Parameter |
|
||
Nilai yang Ditampilkan |
|
SetDelegasi
void SetDelegate( FabricStateDelegate *aDelegate )
Metode ini menetapkan objek delegasi.
Metode callback delegasi dipanggil setiap kali FabricId berubah, yaitu saat kita menggabungkan/membuat kain, atau meninggalkan kain (status kain bening)
Jika delegasi sudah ditetapkan, panggilan kedua untuk metode ini akan menimpa delegasi sebelumnya.
Detail | |||
---|---|---|---|
Parameter |
|
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 )
Mematikan
WEAVE_ERROR Shutdown( void )
SesiPenangguhan
WEAVE_ERROR SuspendSession( uint16_t keyId, uint64_t peerNodeId, uint8_t *buf, uint16_t bufSize, uint16_t & serializedSessionLen )
Menangguhkan dan menserialisasikan status sesi keamanan Weave yang aktif.
Melakukan serialisasi status sesi keamanan Weave yang diidentifikasi ke dalam buffer yang diberikan dan menangguhkan sesi sehingga tidak ada pesan lebih lanjut yang dapat dikirim atau diterima.
Metode ini ditujukan untuk digunakan oleh perangkat yang tidak mempertahankan RAM saat tidur, yang memungkinkannya mempertahankan status sesi aktif dan dengan demikian tidak perlu membuat ulang sesi saat pengguna bangun.
WeaveFabricState
WeaveFabricState( void )