nl:: Weave:: WeaveFabricState
#include <src/lib/core/WeaveFabricState.h>
Declaración directa de WeaveFabricState.
Resumen
Constructores y destructores |
|
---|---|
WeaveFabricState(void)
|
Tipos públicos |
|
---|---|
PeerIndexType
|
typedefuint8_t
|
SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
|
typedefvoid(*
|
State
|
enum |
Atributos públicos |
|
---|---|
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
|
Funciones públicas |
|
---|---|
AddSharedSessionEndNode(uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId)
|
|
AddSharedSessionEndNode(WeaveSessionKey *sessionKey, uint64_t endNodeId)
|
Este método agrega un nodo final nuevo al registro de nodos finales compartidos.
|
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)
|
Este método busca la entrada de la clave de sesión.
|
FindSharedSession(uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType)
|
Busca en la tabla de claves de sesión una clave de sesión compartida establecida que tenga como objetivo el nodo de finalización especificado y coincida con el modo de autenticación y el tipo de encriptación determinados.
|
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)
|
Este método muestra todos los IDs de nodo final que comparten la sesión especificada.
|
HandleConnectionClosed(WeaveConnection *con)
|
void
|
Init(void)
|
|
Init(nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore)
|
|
IsFabricAddress(const IPAddress & addr) const
|
bool
Determina si una dirección IP representa la dirección de un nodo dentro de la estructura de Weave local.
|
IsLocalFabricAddress(const IPAddress & addr) const
|
bool
Determina si una dirección IP representa una dirección de tejido de Weave para el nodo local.
|
IsSharedSession(uint16_t keyId, uint64_t peerNodeId)
|
bool
Este método verifica si se comparte la sesión segura asociada con el par y el keyId especificados.
|
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)
|
Restablece una sesión de seguridad de Weave suspendida anteriormente desde un estado serializado.
|
SelectNodeAddress(uint64_t nodeId, uint16_t subnet) const
|
Muestra una IPAddress que contiene una ULA de Weave para un nodo especificado.
|
SelectNodeAddress(uint64_t nodeId) const
|
Muestra una IPAddress que contiene una ULA de Weave para un nodo especificado.
|
SetDelegate(FabricStateDelegate *aDelegate)
|
void
Este método establece el objeto delegado.
|
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)
|
Suspender y serializar el estado de una sesión de seguridad de Weave activa.
|
Structs |
|
---|---|
nl:: |
Tipos públicos
PeerIndexType
uint8_t PeerIndexType
SessionEndCbFunct
void(* SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
Estado
State
Atributos públicos
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
Estado
uint8_t State
UnencRcvFlags
WeaveSessionState::ReceiveFlagsType UnencRcvFlags[WEAVE_CONFIG_MAX_PEER_NODES]
UseTestKey
bool UseTestKey
Funciones públicas
AddSharedSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId )
AddSharedSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( WeaveSessionKey *sessionKey, uint64_t endNodeId )
Este método agrega un nodo final nuevo al registro de nodos finales compartidos.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores de retorno |
|
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 )
Este método busca la entrada de la clave de sesión.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||
Valores de retorno |
|
FindSharedSession
WeaveSessionKey * FindSharedSession( uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType )
Busca en la tabla de claves de sesión una clave de sesión compartida establecida que tenga como objetivo el nodo de finalización especificado y coincida con el modo de autenticación y el tipo de encriptación determinados.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores de retorno |
|
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 )
Este método muestra todos los IDs de nodo final que comparten la sesión especificada.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores de retorno |
|
HandleConnectionClosed
void HandleConnectionClosed( WeaveConnection *con )
Init
WEAVE_ERROR Init( void )
Init
WEAVE_ERROR Init( nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore )
IsFabricAddress
bool IsFabricAddress( const IPAddress & addr ) const
Determina si una dirección IP representa la dirección de un nodo dentro de la estructura de Weave local.
IsLocalFabricAddress
bool IsLocalFabricAddress( const IPAddress & addr ) const
Determina si una dirección IP representa una dirección de tejido de Weave para el nodo local.
IsSharedSession
bool IsSharedSession( uint16_t keyId, uint64_t peerNodeId )
Este método verifica si se comparte la sesión segura asociada con el par y el keyId especificados.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores de retorno |
|
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 )
Restablece una sesión de seguridad de Weave suspendida anteriormente desde un estado serializado.
SelectNodeAddress
IPAddress SelectNodeAddress( uint64_t nodeId, uint16_t subnet ) const
Muestra una IPAddress que contiene una ULA de Weave para un nodo especificado.
Esta variante permite especificar una subred.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores de retorno |
|
SelectNodeAddress
IPAddress SelectNodeAddress( uint64_t nodeId ) const
Muestra una IPAddress que contiene una ULA de Weave para un nodo especificado.
Esta variante usa la subred predeterminada del nodo local.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Valores de retorno |
|
SetDelegate
void SetDelegate( FabricStateDelegate *aDelegate )
Este método establece el objeto delegado.
Los métodos de devolución de llamada del delegado se invocan siempre que se cambia el FabricId, es decir, cuando unimos o creamos una tela, o cuando dejamos una tela (borrar estado de tela).
Si el delegado se configuró anteriormente, una segunda llamada a este método reemplazará el delegado anterior.
Detalles | |||
---|---|---|---|
Parámetros |
|
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 )
Cierre
WEAVE_ERROR Shutdown( void )
SuspendSession
WEAVE_ERROR SuspendSession( uint16_t keyId, uint64_t peerNodeId, uint8_t *buf, uint16_t bufSize, uint16_t & serializedSessionLen )
Suspender y serializar el estado de una sesión de seguridad de Weave activa.
Serializa el estado de una sesión de seguridad de Weave identificada en el búfer proporcionado y suspende la sesión para que no se puedan enviar ni recibir más mensajes.
Este método está diseñado para que lo usen los dispositivos que no retienen RAM mientras están suspendidos, lo que les permite conservar el estado de una sesión activa y, por lo tanto, evitar la necesidad de restablecer la sesión cuando se activan.
WeaveFabricState
WeaveFabricState( void )