нл:: Переплетение:: ТкатьТканьСостояние
#include <src/lib/core/WeaveFabricState.h>
Форвардное объявление WeaveFabricState .
Краткое содержание
Конструкторы и деструкторы | |
---|---|
WeaveFabricState (void) |
Публичные типы | |
---|---|
PeerIndexType | определение типаuint8_t |
SessionEndCbFunct )(uint16_t keyId, uint64_t peerNodeId, void *context) | определение типаvoid(* |
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 | Возвращает IPAddress, содержащий ULA Weave для указанного узла. |
SelectNodeAddress (uint64_t nodeId) const | Возвращает IPAddress, содержащий 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:: Weave:: WeaveFabricState:: SessionEndCbCtxt |
Публичные типы
PeerIndexType
uint8_t PeerIndexType
Сеансендкбфункт
void(* SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
Состояние
State
Публичные атрибуты
AutoCreateKeys
bool AutoCreateKeys
DebugFabricId
uint64_t DebugFabricId
DefaultSubnet
uint16_t DefaultSubnet
Ид ткани
uint64_t FabricId
Групповое хранилище ключей
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase * GroupKeyStore
СлушатьIPv4Addr
IPAddress ListenIPv4Addr
СлушатьIPv6Addr
IPAddress ListenIPv6Addr
Локальныйнодеид
uint64_t LocalNodeId
ЛогКейс
bool LogKeys
МаксуненкUDPMsgIdRcvd
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
Общественные функции
Аддшаредсессионендноде
WEAVE_ERROR AddSharedSessionEndNode( uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId )
Аддшаредсессионендноде
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 )
CreateFabric
WEAVE_ERROR CreateFabric( void )
НайтиSessionKey
WEAVE_ERROR FindSessionKey( uint16_t keyId, uint64_t peerNodeId, bool create, WeaveSessionKey *& retRec )
Этот метод находит запись ключа сеанса.
Подробности | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||
Возвращаемые значения |
|
НайтиSharedSession
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 )
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 )
Этот метод возвращает все идентификаторы конечных узлов, которые используют указанный сеанс.
Подробности | |||||||||
---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||
Возвращаемые значения |
|
РучкаСоединениеЗакрыто
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.
IsLocalFabricAddress
bool IsLocalFabricAddress( const IPAddress & addr ) const
Определяет, представляет ли IP-адрес адрес структуры Weave для локального узла.
Исшаредсессион
bool IsSharedSession( uint16_t keyId, uint64_t peerNodeId )
Этот метод проверяет, является ли безопасный сеанс, связанный с указанным узлом и идентификатором ключа, общим.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
Присоединиться к существующей фабрике
WEAVE_ERROR JoinExistingFabric( const uint8_t *fabricState, uint32_t fabricStateLen )
Регистрациясессионконецобратный вызов
WEAVE_ERROR RegisterSessionEndCallback( SessionEndCbCtxt *sessionEndCb )
УдалитьIdleSessionKeys
bool RemoveIdleSessionKeys()
УдалитьSessionKey
WEAVE_ERROR RemoveSessionKey( uint16_t keyId, uint64_t peerNodeId )
УдалитьSessionKey
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
Возвращает IPAddress, содержащий ULA Weave для указанного узла.
Этот вариант позволяет указать подсеть.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
Адрес СелектаНоде
IPAddress SelectNodeAddress( uint64_t nodeId ) const
Возвращает IPAddress, содержащий ULA Weave для указанного узла.
В этом варианте используется подсеть локального узла по умолчанию.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возвращаемые значения |
|
SetDelegate
void SetDelegate( FabricStateDelegate *aDelegate )
Этот метод устанавливает объект делегата.
Методы обратного вызова делегата вызываются всякий раз, когда изменяется FabricId, т. е. когда мы присоединяемся к фабрике/создаем ее или когда покидаем фабрику (очищаем состояние фабрики).
Если делегат установлен ранее, то второй вызов этого метода перезапишет предыдущий делегат.
Подробности | |||
---|---|---|---|
Параметры |
|
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 )
Неисправность
WEAVE_ERROR Shutdown( void )
Приостановить сеанс
WEAVE_ERROR SuspendSession( uint16_t keyId, uint64_t peerNodeId, uint8_t *buf, uint16_t bufSize, uint16_t & serializedSessionLen )
Приостановите и сериализуйте состояние активного сеанса безопасности Weave.
Сериализует состояние идентифицированного сеанса безопасности Weave в предоставленный буфер и приостанавливает сеанс, чтобы дальнейшие сообщения не могли быть отправлены или получены.
Этот метод предназначен для использования устройствами, которые не сохраняют оперативную память во время сна, что позволяет им сохранять состояние активного сеанса и тем самым избегать необходимости повторно устанавливать сеанс после пробуждения.
ТкатьТканьСостояние
WeaveFabricState( void )