nl::Weave::WeaveFabricState

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

WeaveFabricState'in ileriye yönelik bildirimi.

Özet

Oluşturucular ve Yıkıcılar

WeaveFabricState(void)

Herkese açık türler

PeerIndexType typedef
uint8_t
SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context) typedef
void(*
State enum

Herkese açık özellikler

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

Herkese açık işlevler

AddSharedSessionEndNode(uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId)
AddSharedSessionEndNode(WeaveSessionKey *sessionKey, uint64_t endNodeId)
Bu yöntem, paylaşılan son düğüm kaydına yeni bitiş düğümü ekler.
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)
Bu yöntem oturum anahtarı girişini bulur.
FindSharedSession(uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType)
Oturum anahtarları tablosunda, belirtilen sonlandırma düğümünü hedefleyen ve belirtilen kimlik doğrulama modu ile şifreleme türüyle eşleşen, önceden oluşturulmuş bir paylaşılan oturum anahtarı arayın.
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)
Bu yöntem, belirtilen oturumu paylaşan tüm son düğüm kimliklerini döndürür.
HandleConnectionClosed(WeaveConnection *con)
void
Init(void)
Init(nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore)
IsFabricAddress(const IPAddress & addr) const
bool
Bir IP adresinin, yerel Weave yapısındaki bir düğümün adresini temsil edip etmediğini belirler.
IsLocalFabricAddress(const IPAddress & addr) const
bool
Bir IP adresinin, yerel düğüm için bir Weave kumaş adresini temsil edip etmediğini belirler.
IsSharedSession(uint16_t keyId, uint64_t peerNodeId)
bool
Bu yöntem, belirtilen eş ve keyId ile ilişkili güvenli oturumun paylaşılıp paylaşılmadığını kontrol eder.
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)
Daha önce askıya alınmış bir Weave Security Session'ı seri hâle getirilmiş durumdan geri yükleyin.
SelectNodeAddress(uint64_t nodeId, uint16_t subnet) const
Belirtilen bir düğüm için Weave ULA içeren IPAdresi döndürür.
SelectNodeAddress(uint64_t nodeId) const
Belirtilen bir düğüm için Weave ULA içeren IPAdresi döndürür.
SetDelegate(FabricStateDelegate *aDelegate)
void
Bu yöntem, yetki nesnesini ayarlar.
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)
Etkin bir Weave güvenlik oturumunun durumunu askıya alın ve seri hale getirin.

Yapılar

nl::Weave::WeaveFabricState::SessionEndCbCtxt

Herkese açık türler

PeerIndexType

uint8_t PeerIndexType

SessionEndCbFunct

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

Eyalet

 State

Herkese açık özellikler

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

Eyalet

uint8_t State

UnencRcvFlags

WeaveSessionState::ReceiveFlagsType UnencRcvFlags[WEAVE_CONFIG_MAX_PEER_NODES]

UseTestKey

bool UseTestKey

Herkese açık işlevler

AddSharedSessionEndNode

WEAVE_ERROR AddSharedSessionEndNode(
  uint64_t endNodeId,
  uint64_t terminatingNodeId,
  uint16_t keyId
)

AddSharedSessionEndNode

WEAVE_ERROR AddSharedSessionEndNode(
  WeaveSessionKey *sessionKey,
  uint64_t endNodeId
)

Bu yöntem, paylaşılan son düğüm kaydına yeni bitiş düğümü ekler.

Ayrıntılar
Parametreler
[in] sessionKey
Yeni son düğümün eklenmesi gereken oturumu temsil eden WeaveSessionKey nesnesi.
[in] endNodeId
Eklenecek oturum bitiş düğümünün düğüm kimliği.
Değerleri Döndür
WEAVE_ERROR_TOO_MANY_SHARED_SESSION_END_NODES
Paylaşılan uç düğümleri listesinde yeni bir giriş için boş alan yoksa.
WEAVE_NO_ERROR
Başarıya merhaba.

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
)

Bu yöntem oturum anahtarı girişini bulur.

Ayrıntılar
Parametreler
[in] keyId
Örgü anahtar tanımlayıcısı.
[in] peerNodeId
Eşin düğüm tanımlayıcısı.
[in] create
Belirtilen anahtar bulunamazsa yeni anahtarın oluşturulması gerekip gerekmediğini gösteren boole değeridir.
[out] retRec
WeaveSessionKey nesnesine işaretçi referansı.
Değerleri Döndür
WEAVE_ERROR_WRONG_KEY_TYPE
Belirtilen anahtar bir oturum anahtarı türü değilse.
WEAVE_ERROR_INVALID_ARGUMENT
Giriş bağımsız değişkenlerinin değerleri yanlışsa.
WEAVE_ERROR_KEY_NOT_FOUND
Belirtilen anahtar bulunamazsa.
WEAVE_ERROR_TOO_MANY_KEYS
Yeni oturum anahtarı oluşturmak için ücretsiz bir giriş yoksa.
WEAVE_NO_ERROR
Başarıya merhaba.

FindSharedSession

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

Oturum anahtarları tablosunda, belirtilen sonlandırma düğümünü hedefleyen ve belirtilen kimlik doğrulama modu ile şifreleme türüyle eşleşen, önceden oluşturulmuş bir paylaşılan oturum anahtarı arayın.

Ayrıntılar
Parametreler
[in] terminatingNodeId
Oturum sonlandırıcının düğüm tanımlayıcısı.
[in] authMode
İstenen oturum kimlik doğrulama modu.
[in] encType
İstenen ileti şifreleme türü.
Değerleri Döndür
WeaveSessionKey
* Eşleşen paylaşılan oturumu temsil eden bir WeaveSessionKey nesnesine işaretçi; Eşleşen oturum bulunamazsa NULL olarak ayarlayın.

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
)

Bu yöntem, belirtilen oturumu paylaşan tüm son düğüm kimliklerini döndürür.

Ayrıntılar
Parametreler
[in] sessionKey
Oturum anahtar nesnesinin işaretçisi.
[in] endNodeIds
Düğüm kimliklerinin arabelleğine işaret eden bir işaret.
[in] endNodeIdsMaxCount
Arabelleğe sığabilecek maksimum düğüm kimliği sayısı.
[out] endNodeIdsCount
Belirtilen oturumu paylaşan bulunan bitiş düğümü kimliklerinin sayısı.
Değerleri Döndür
WEAVE_ERROR_BUFFER_TOO_SMALL
Sağlanan son düğüm kimlikleri arabelleği yeterince büyük değildir.
WEAVE_NO_ERROR
Başarıya merhaba.

HandleConnectionClosed

void HandleConnectionClosed(
  WeaveConnection *con
)

Başlatma

WEAVE_ERROR Init(
  void
)

Başlatma

WEAVE_ERROR Init(
  nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore
)

IsFabricAddress

bool IsFabricAddress(
  const IPAddress & addr
) const 

Bir IP adresinin, yerel Weave yapısındaki bir düğümün adresini temsil edip etmediğini belirler.

IsLocalFabricAddress

bool IsLocalFabricAddress(
  const IPAddress & addr
) const 

Bir IP adresinin, yerel düğüm için bir Weave kumaş adresini temsil edip etmediğini belirler.

IsSharedSession

bool IsSharedSession(
  uint16_t keyId,
  uint64_t peerNodeId
)

Bu yöntem, belirtilen eş ve keyId ile ilişkili güvenli oturumun paylaşılıp paylaşılmadığını kontrol eder.

Ayrıntılar
Parametreler
[in] keyId
Oturum anahtarı tanımlayıcısı.
[in] peerNodeId
Eşin düğüm tanımlayıcısı.
Değerleri Döndür
bool
Belirtilen oturumun paylaşılıp paylaşılmayacağı.

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
)

Daha önce askıya alınmış bir Weave Security Session'ı seri hâle getirilmiş durumdan geri yükleyin.

SelectNodeAddress

IPAddress SelectNodeAddress(
  uint64_t nodeId,
  uint16_t subnet
) const 

Belirtilen bir düğüm için Weave ULA içeren IPAdresi döndürür.

Bu varyant, bir alt ağın belirtilmesine olanak tanır.

Ayrıntılar
Parametreler
[in] nodeId
Söz konusu düğümün Düğüm Kimliği numarası.
[in] subnet
ULA'nın istenen alt ağı.
Değerleri Döndür
IPAddress
Bir IPAddress nesnesi.

SelectNodeAddress

IPAddress SelectNodeAddress(
  uint64_t nodeId
) const 

Belirtilen bir düğüm için Weave ULA içeren IPAdresi döndürür.

Bu varyant, yerel düğümün varsayılan alt ağını kullanır.

Ayrıntılar
Parametreler
[in] nodeId
Söz konusu düğümün Düğüm Kimliği numarası.
Değerleri Döndür
IPAddress
Bir IPAddress nesnesi.

SetDelegate

void SetDelegate(
  FabricStateDelegate *aDelegate
)

Bu yöntem, yetki nesnesini ayarlar.

FabricId değiştirildiğinde (ör. bir kumaşı birleştirdiğimizde/oluşturduğumuzda veya bir kumaştan ayrıldığımızda (kumaş durumu temiz)) temsilcinin geri çağırma yöntemleri çağrılır

Yetki verilmiş kullanıcı daha önce ayarlanmışsa bu yönteme yapılan ikinci bir çağrı, önceki yetki verilen kullanıcının üzerine yazılır.

Ayrıntılar
Parametreler
[in] aDelegate
Yetki nesnesi. Yetki verilmiş kullanıcı gerekmiyorsa NULL olabilir.

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
)

Kapat

WEAVE_ERROR Shutdown(
  void
)

SuspendSession

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

Etkin bir Weave güvenlik oturumunun durumunu askıya alın ve seri hale getirin.

Tanımlanmış bir Weave güvenlik oturumunun durumunu sağlanan arabellekte serileştirir ve oturumu, başka mesaj gönderilemeyecek veya almayacak şekilde askıya alır.

Bu yöntem, uyku sırasında RAM depolamayan cihazlar tarafından kullanılmak üzere tasarlanmıştır. Böylece cihazlar, etkin oturumun durumunu korur ve böylece uyandıklarında oturumu yeniden oluşturma ihtiyacını ortadan kaldırır.

WeaveFabricState

 WeaveFabricState(
  void
)