En Google, luchamos por la equidad racial de la comunidad negra. Más información

nl :: Tejido:: TejidoTelaEstado

#include <src/lib/core/WeaveFabricState.h>

Declaración adelantada de WeaveFabricState .

Resumen

Constructores y Destructores

WeaveFabricState (void)

Tipos públicos

PeerIndexType typedef
uint8_t
SessionEndCbFunct )(uint16_t keyId, uint64_t peerNodeId, void *context) typedef
void(*
State enumeración

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 publicas

AddSharedSessionEndNode (uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId)
AddSharedSessionEndNode ( WeaveSessionKey *sessionKey, uint64_t endNodeId)
Este método agrega un nuevo nodo final 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 encuentra la entrada de la clave de sesión.
FindSharedSession (uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType)
Busque en la tabla de claves de sesión una clave de sesión compartida establecida que se dirija al nodo de terminación especificado y que coincida con el modo de autenticación y el tipo de cifrado dados.
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 devuelve todos los ID 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 una dirección de un nodo dentro del tejido Weave local.
IsLocalFabricAddress (const IPAddress & addr) const
bool
Determina si una dirección IP representa una dirección de tejido 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 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)
Restaurar una sesión de seguridad de Weave suspendida previamente desde un estado serializado.
SelectNodeAddress (uint64_t nodeId, uint16_t subnet) const
Devuelve una dirección IP que contiene un ULA de tejido para un nodo especificado.
SelectNodeAddress (uint64_t nodeId) const
Devuelve una dirección IP que contiene un ULA de tejido 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, constWeaveEncryptionKey *encKey)
SetSessionKey ( WeaveSessionKey *sessionKey, uint8_t encType, WeaveAuthMode authMode, constWeaveEncryptionKey *encKey)
Shutdown (void)
SuspendSession (uint16_t keyId, uint64_t peerNodeId, uint8_t *buf, uint16_t bufSize, uint16_t & serializedSessionLen)
Suspenda y serialice el estado de una sesión de seguridad de Weave activa.

Estructuras

nl :: Armadura :: :: WeaveFabricState SessionEndCbCtxt

Tipos públicos

PeerIndexType

uint8_t PeerIndexType

SessionEndCbFunct

void(* SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)

Expresar

 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]

Código de emparejamiento

const char * PairingCode

Expresar

uint8_t State

UnencRcvFlags

WeaveSessionState::ReceiveFlagsType UnencRcvFlags[WEAVE_CONFIG_MAX_PEER_NODES]

UseTestKey

bool UseTestKey

Funciones publicas

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 nuevo nodo final al registro de nodos finales compartidos.

Detalles
Parámetros
[in] sessionKey
El WeaveSessionKey objeto que representa la sesión para la que se debe añadir el nuevo nodo final.
[in] endNodeId
El ID de nodo del nodo final de la sesión que se agregará.
Valores devueltos
WEAVE_ERROR_TOO_MANY_SHARED_SESSION_END_NODES
Si no hay espacio libre para una nueva entrada en la lista de nodos finales compartidos.
WEAVE_NO_ERROR
Sobre el éxito.

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 encuentra la entrada de la clave de sesión.

Detalles
Parámetros
[in] keyId
Identificador de clave de tejido.
[in] peerNodeId
El identificador de nodo del par.
[in] create
Un valor booleano que indica si se debe crear una nueva clave si no se encuentra la clave especificada.
[out] retRec
Una referencia puntero a una WeaveSessionKey objeto.
Valores devueltos
WEAVE_ERROR_WRONG_KEY_TYPE
Si la clave especificada no es un tipo de clave de sesión.
WEAVE_ERROR_INVALID_ARGUMENT
Si los argumentos de entrada tienen valores incorrectos.
WEAVE_ERROR_KEY_NOT_FOUND
Si no se encuentra la clave especificada.
WEAVE_ERROR_TOO_MANY_KEYS
Si no hay entrada libre para crear una nueva clave de sesión.
WEAVE_NO_ERROR
Sobre el éxito.

FindSharedSession

WeaveSessionKey * FindSharedSession(
  uint64_t terminatingNodeId,
  WeaveAuthMode authMode,
  uint8_t encType
)

Busque en la tabla de claves de sesión una clave de sesión compartida establecida que se dirija al nodo de terminación especificado y que coincida con el modo de autenticación y el tipo de cifrado dados.

Detalles
Parámetros
[in] terminatingNodeId
El identificador de nodo del terminador de sesión.
[in] authMode
El modo de autenticación de sesión deseado.
[in] encType
El tipo de cifrado de mensaje deseado.
Valores devueltos
WeaveSessionKey
* Un puntero a una WeaveSessionKey objeto que representa el juego compartido período de sesiones; o NULL si no se encontró una sesión coincidente.

GetFabricState

WEAVE_ERROR GetFabricState(
  uint8_t *buf,
  uint32_t bufSize,
  uint32_t & fabricStateLen
)

Obtener la 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
)

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 devuelve todos los ID de nodo final que comparten la sesión especificada.

Detalles
Parámetros
[in] sessionKey
Un puntero al objeto de clave de sesión.
[in] endNodeIds
Un puntero al búfer de ID de nodo.
[in] endNodeIdsMaxCount
El número máximo de ID de nodo que pueden caber en el búfer.
[out] endNodeIdsCount
Número de ID de nodo final encontrados que comparten la sesión especificada.
Valores devueltos
WEAVE_ERROR_BUFFER_TOO_SMALL
Si el búfer de ID de nodo final proporcionado no es lo suficientemente grande.
WEAVE_NO_ERROR
Sobre el éxito.

ManejarConexiónCerrado

void HandleConnectionClosed(
  WeaveConnection *con
)

En eso

WEAVE_ERROR Init(
  void
)

En eso

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 Weave local.

IsLocalFabricAddress

bool IsLocalFabricAddress(
  const IPAddress & addr
) const 

Determina si una dirección IP representa una dirección de tejido 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 keyId especificados.

Detalles
Parámetros
[in] keyId
El identificador de clave de sesión.
[in] peerNodeId
El identificador de nodo del par.
Valores devueltos
bool
Si se comparte o no la sesión especificada.

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
)

Restaurar sesion

WEAVE_ERROR RestoreSession(
  uint8_t *serializedSession,
  uint16_t serializedSessionLen
)

Restaurar una sesión de seguridad de Weave suspendida previamente desde un estado serializado.

SelectNodeAddress

IPAddress SelectNodeAddress(
  uint64_t nodeId,
  uint16_t subnet
) const 

Devuelve una dirección IP que contiene un ULA de tejido para un nodo especificado.

Esta variante permite especificar una subred.

Detalles
Parámetros
[in] nodeId
El número de ID de nodo del nodo en cuestión.
[in] subnet
La subred deseada del ULA.
Valores devueltos
IPAddress
Un objeto IPAddress.

SelectNodeAddress

IPAddress SelectNodeAddress(
  uint64_t nodeId
) const 

Devuelve una dirección IP que contiene un ULA de tejido para un nodo especificado.

Esta variante utiliza la subred predeterminada del nodo local.

Detalles
Parámetros
[in] nodeId
El número de ID de nodo del nodo en cuestión.
Valores devueltos
IPAddress
Un objeto IPAddress.

SetDelegate

void SetDelegate(
  FabricStateDelegate *aDelegate
)

Este método establece el objeto delegado.

Los métodos de devolución de llamada del delegado se invocan cada vez que se cambia el FabricId, es decir, cuando nos unimos / creamos un tejido, o cuando dejamos un tejido (estado de tejido claro)

Si el delegado se configuró previamente, una segunda llamada a este método sobrescribirá al delegado anterior.

Detalles
Parámetros
[in] aDelegate
El objeto delegado. Puede ser NULL si no se requiere ningún delegado.

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
)

Cerrar

WEAVE_ERROR Shutdown(
  void
)

SuspendSession

WEAVE_ERROR SuspendSession(
  uint16_t keyId,
  uint64_t peerNodeId,
  uint8_t *buf,
  uint16_t bufSize,
  uint16_t & serializedSessionLen
)

Suspenda y serialice el estado de una sesión de seguridad de Weave activa.

Serializa el estado de una sesión de seguridad Weave identificada en el búfer suministrado y suspende la sesión de modo que no se puedan enviar ni recibir más mensajes.

Este método está diseñado para ser utilizado por dispositivos que no retienen RAM mientras están durmiendo, lo que les permite persistir en el estado de una sesión activa y así evitar la necesidad de restablecer la sesión cuando se despiertan.

TejidoTelaEstado

 WeaveFabricState(
  void
)