nl:: Weave:: WeaveFabricState
#include <src/lib/core/WeaveFabricState.h>
Se reenvió la declaración 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 nuevos nodos finales al registro compartido de los nodos finales.
|
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 que se oriente al 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 ID de los nodos finales 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 una dirección de un nodo dentro del tejido local de Weave.
|
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 especificado y 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)
|
Restablece una sesión de seguridad de Weave suspendida con anterioridad 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
Tipo de índice de par
uint8_t PeerIndexType
Fin de sesión de sesión
void(* SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
Estado
State
Atributos públicos
Crear claves automáticamente
bool AutoCreateKeys
ID de DebugFabric
uint64_t DebugFabricId
Subred predeterminada
uint16_t DefaultSubnet
ID de Fabric
uint64_t FabricId
Almacenamiento de claves de grupo
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase * GroupKeyStore
ListenIPv4Addr.
IPAddress ListenIPv4Addr
ListenIPv6Addr.
IPAddress ListenIPv6Addr
ID de nodo local
uint64_t LocalNodeId
Claves de registro
bool LogKeys
MaxUnencUDPMsgIdRcvd
uint32_t MaxUnencUDPMsgIdRcvd[WEAVE_CONFIG_MAX_PEER_NODES]
Capa de mensajes
WeaveMessageLayer * MessageLayer
Índices más recientes
PeerIndexType MostRecentlyUsedIndexes[WEAVE_CONFIG_MAX_PEER_NODES]
ID del nodo
uint64_t NodeId[WEAVE_CONFIG_MAX_PEER_NODES]
Código de vinculación
const char * PairingCode
Estado
uint8_t State
UnencRcFlags
WeaveSessionState::ReceiveFlagsType UnencRcvFlags[WEAVE_CONFIG_MAX_PEER_NODES]
UsarTestKey
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 nuevos nodos finales al registro compartido de los nodos finales.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
Clave de sesión de Allo
WEAVE_ERROR AllocSessionKey( uint64_t peerNodeId, uint16_t keyId, WeaveConnection *boundCon, WeaveSessionKey *& sessionKey )
BorrarFabricState
void ClearFabricState( void )
CreateFabric
WEAVE_ERROR CreateFabric( void )
Clave de sesión
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 que se muestran |
|
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 que se oriente al nodo de finalización especificado y coincida con el modo de autenticación y el tipo de encriptación determinados.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
ObtenerFabricState
WEAVE_ERROR GetFabricState( uint8_t *buf, uint32_t bufSize, uint32_t & fabricStateLen )
Obtener contraseña
WEAVE_ERROR GetPassword( uint8_t pwSrc, const char *& ps, uint16_t & pwLen )
GetSessionKey.
WEAVE_ERROR GetSessionKey( uint16_t keyId, uint64_t peerNodeId, WeaveSessionKey *& outSessionKey )
Estado de GetSession
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 ID de los nodos finales que comparten la sesión especificada.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
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 una dirección de un nodo dentro del tejido local de Weave.
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 especificado y keyId.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
JoinExistingFabric
WEAVE_ERROR JoinExistingFabric( const uint8_t *fabricState, uint32_t fabricStateLen )
RegistrarEndEndCallback
WEAVE_ERROR RegisterSessionEndCallback( SessionEndCbCtxt *sessionEndCb )
RemoveIdleSessionKeys
bool RemoveIdleSessionKeys()
QuitarSesiónClave
WEAVE_ERROR RemoveSessionKey( uint16_t keyId, uint64_t peerNodeId )
QuitarSesiónClave
void RemoveSessionKey( WeaveSessionKey *sessionKey, bool wasIdle )
QuitaSharedSharedEndNodes
void RemoveSharedSessionEndNodes( const WeaveSessionKey *sessionKey )
RestoreSession
WEAVE_ERROR RestoreSession( uint8_t *serializedSession, uint16_t serializedSessionLen )
Restablece una sesión de seguridad de Weave suspendida con anterioridad 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 que se muestran |
|
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 que se muestran |
|
Delegado de Set
void SetDelegate( FabricStateDelegate *aDelegate )
Este método establece el objeto delegado.
Los métodos de devolución de llamada de delegado se invocan cada vez que se modifica FabricId, es decir, cuando se une o se crea una tejido o cuando se deja una estructura (borrar el estado de la tejido).
Si el delegado ya se configuró, una segunda llamada a este método reemplazará al delegado anterior.
Detalles | |||
---|---|---|---|
Parámetros |
|
Clave de la sesión
WEAVE_ERROR SetSessionKey( uint16_t keyId, uint64_t peerNodeId, uint8_t encType, WeaveAuthMode authMode, const WeaveEncryptionKey *encKey )
Clave de la sesión
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
Se serializa el estado de una sesión de seguridad de Weave en el búfer proporcionado y se 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 la RAM mientras duermen, 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 despiertan.
Estado de WeaveFabric
WeaveFabricState( void )