nl:: Weave:: WeaveFabricState
#include <src/lib/core/WeaveFabricState.h>
Khai báo WeaveFabricState.
Tóm tắt
Hàm dựng và hàm phá hủy |
|
---|---|
WeaveFabricState(void)
|
Loại công khai |
|
---|---|
PeerIndexType
|
typedefuint8_t
|
SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
|
typedefvoid(*
|
State
|
enum |
Thuộc tính công khai |
|
---|---|
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
|
Hàm công khai |
|
---|---|
AddSharedSessionEndNode(uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId)
|
|
AddSharedSessionEndNode(WeaveSessionKey *sessionKey, uint64_t endNodeId)
|
Phương thức này sẽ thêm nút kết thúc mới vào bản ghi nút kết thúc được chia sẻ.
|
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)
|
Phương thức này sẽ tìm thấy mục nhập khóa trong phiên.
|
FindSharedSession(uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType)
|
Tìm kiếm bảng khóa phiên cho một khóa phiên được chia sẻ đã thiết lập nhắm mục tiêu nút kết thúc đã chỉ định và khớp với chế độ xác thực và chế độ mã hóa đã cho.
|
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)
|
Phương thức này trả về tất cả các mã nút cuối có phiên hoạt động được chỉ định.
|
HandleConnectionClosed(WeaveConnection *con)
|
void
|
Init(void)
|
|
Init(nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore)
|
|
IsFabricAddress(const IPAddress & addr) const
|
bool
Xác định xem địa chỉ IP có đại diện cho địa chỉ của một nút trong vải Dệt cục bộ hay không.
|
IsLocalFabricAddress(const IPAddress & addr) const
|
bool
Xác định xem địa chỉ IP có đại diện cho địa chỉ vải Weave cho nút cục bộ hay không.
|
IsSharedSession(uint16_t keyId, uint64_t peerNodeId)
|
bool
Phương pháp này kiểm tra xem phiên an toàn liên kết với ứng dụng ngang hàng và keyId đã chỉ định có được chia sẻ hay không.
|
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)
|
Khôi phục Phiên bảo mật Weave bị tạm ngưng trước đó từ trạng thái đã chuyển đổi tuần tự.
|
SelectNodeAddress(uint64_t nodeId, uint16_t subnet) const
|
Trả về địa chỉ IP chứa ULA dệt cho một nút đã chỉ định.
|
SelectNodeAddress(uint64_t nodeId) const
|
Trả về địa chỉ IP chứa ULA dệt cho một nút đã chỉ định.
|
SetDelegate(FabricStateDelegate *aDelegate)
|
void
Phương thức này đặt đối tượng ủy quyền.
|
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)
|
Tạm ngưng và chuyển đổi trạng thái của một phiên bảo mật Weave đang hoạt động.
|
Cấu trúc |
|
---|---|
nl:: |
Loại công khai
Loại ứng dụng ngang hàng
uint8_t PeerIndexType
Phiên kết thúc
void(* SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
Tiểu bang
State
Thuộc tính công khai
Tự động tạo khóa
bool AutoCreateKeys
Gỡ lỗi
uint64_t DebugFabricId
Mạng con mặc định
uint16_t DefaultSubnet
Mã vải
uint64_t FabricId
Cửa hàng khóa nhóm
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase * GroupKeyStore
ListenIPv4Addr
IPAddress ListenIPv4Addr
Trình xử lý IPIP
IPAddress ListenIPv6Addr
Mã nút địa phương
uint64_t LocalNodeId
Khóa nhật ký
bool LogKeys
MaxUnencUDPMMSIdRcvd
uint32_t MaxUnencUDPMsgIdRcvd[WEAVE_CONFIG_MAX_PEER_NODES]
Lớp thông báo
WeaveMessageLayer * MessageLayer
Gần đâyđược sử dụngchỉ mục
PeerIndexType MostRecentlyUsedIndexes[WEAVE_CONFIG_MAX_PEER_NODES]
Mã nút
uint64_t NodeId[WEAVE_CONFIG_MAX_PEER_NODES]
Mã ghép nối
const char * PairingCode
Tiểu bang
uint8_t State
Cờ riêng
WeaveSessionState::ReceiveFlagsType UnencRcvFlags[WEAVE_CONFIG_MAX_PEER_NODES]
Sử dụngkhóathử nghiệm
bool UseTestKey
Hàm công khai
AddSessionSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId )
AddSessionSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( WeaveSessionKey *sessionKey, uint64_t endNodeId )
Phương thức này sẽ thêm nút kết thúc mới vào bản ghi nút kết thúc được chia sẻ.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các thông số |
|
||||
Giá trị trả về |
|
Khoá liên kết
WEAVE_ERROR AllocSessionKey( uint64_t peerNodeId, uint16_t keyId, WeaveConnection *boundCon, WeaveSessionKey *& sessionKey )
XóaFabricState
void ClearFabricState( void )
Tiêu chí tạo
WEAVE_ERROR CreateFabric( void )
Khóa phiên tìm
WEAVE_ERROR FindSessionKey( uint16_t keyId, uint64_t peerNodeId, bool create, WeaveSessionKey *& retRec )
Phương thức này sẽ tìm thấy mục nhập khóa trong phiên.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||
Giá trị trả về |
|
Phiên tìm kiếm được chia sẻ
WeaveSessionKey * FindSharedSession( uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType )
Tìm kiếm bảng khóa phiên cho một khóa phiên được chia sẻ đã thiết lập nhắm mục tiêu nút kết thúc đã chỉ định và khớp với chế độ xác thực và chế độ mã hóa đã cho.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các thông số |
|
||||||
Giá trị trả về |
|
GetFabricState
WEAVE_ERROR GetFabricState( uint8_t *buf, uint32_t bufSize, uint32_t & fabricStateLen )
Nhận mật khẩu
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 )
GetchiaSessionSessionSessionIds
WEAVE_ERROR GetSharedSessionEndNodeIds( const WeaveSessionKey *sessionKey, uint64_t *endNodeIds, uint8_t endNodeIdsBufSize, uint8_t & endNodeIdsCount )
Phương thức này trả về tất cả các mã nút cuối có phiên hoạt động được chỉ định.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||
Giá trị trả về |
|
Xử lý kết nối
void HandleConnectionClosed( WeaveConnection *con )
Số nguyên
WEAVE_ERROR Init( void )
Số nguyên
WEAVE_ERROR Init( nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore )
Địa chỉ liên kết
bool IsFabricAddress( const IPAddress & addr ) const
Xác định xem địa chỉ IP có đại diện cho địa chỉ của một nút trong vải Dệt cục bộ hay không.
Địa phương thành địa phương
bool IsLocalFabricAddress( const IPAddress & addr ) const
Xác định xem địa chỉ IP có đại diện cho địa chỉ vải Weave cho nút cục bộ hay không.
Phiên được chia sẻ
bool IsSharedSession( uint16_t keyId, uint64_t peerNodeId )
Phương pháp này kiểm tra xem phiên an toàn liên kết với ứng dụng ngang hàng và keyId đã chỉ định có được chia sẻ hay không.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các thông số |
|
||||
Giá trị trả về |
|
Tham giaFabric
WEAVE_ERROR JoinExistingFabric( const uint8_t *fabricState, uint32_t fabricStateLen )
VéSessionSessionCallback
WEAVE_ERROR RegisterSessionEndCallback( SessionEndCbCtxt *sessionEndCb )
Xóa khóa phiên hoạt động rảnh
bool RemoveIdleSessionKeys()
Loại bỏ khóa
WEAVE_ERROR RemoveSessionKey( uint16_t keyId, uint64_t peerNodeId )
Loại bỏ khóa
void RemoveSessionKey( WeaveSessionKey *sessionKey, bool wasIdle )
Loại bỏ nút kết thúc phiên chia sẻ
void RemoveSharedSessionEndNodes( const WeaveSessionKey *sessionKey )
Phiên khôi phục
WEAVE_ERROR RestoreSession( uint8_t *serializedSession, uint16_t serializedSessionLen )
Khôi phục Phiên bảo mật Weave bị tạm ngưng trước đó từ trạng thái đã chuyển đổi tuần tự.
Chọn địa chỉ nút
IPAddress SelectNodeAddress( uint64_t nodeId, uint16_t subnet ) const
Trả về địa chỉ IP chứa ULA dệt cho một nút đã chỉ định.
Biến thể này cho phép chỉ định một mạng con.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các thông số |
|
||||
Giá trị trả về |
|
Chọn địa chỉ nút
IPAddress SelectNodeAddress( uint64_t nodeId ) const
Trả về địa chỉ IP chứa ULA dệt cho một nút đã chỉ định.
Biến thể này sử dụng mạng con mặc định của nút cục bộ\39;
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
||
Giá trị trả về |
|
Người được ủy quyền sử dụng
void SetDelegate( FabricStateDelegate *aDelegate )
Phương thức này đặt đối tượng ủy quyền.
Các phương thức gọi lại của đại biểu được gọi bất cứ khi nào FabricId được thay đổi, tức là khi chúng ta tham gia/tạo một loại vải hoặc khi chúng ta rời khỏi một loại vải (trạng thái vải rõ ràng)
Nếu thực thể đại diện được đặt trước đó, thì lệnh gọi thứ hai đến phương thức này sẽ ghi đè đại biểu trước.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
Đặt khóa phiên
WEAVE_ERROR SetSessionKey( uint16_t keyId, uint64_t peerNodeId, uint8_t encType, WeaveAuthMode authMode, const WeaveEncryptionKey *encKey )
Đặt khóa phiên
WEAVE_ERROR SetSessionKey( WeaveSessionKey *sessionKey, uint8_t encType, WeaveAuthMode authMode, const WeaveEncryptionKey *encKey )
Tắt
WEAVE_ERROR Shutdown( void )
Phiên bị tạm ngưng
WEAVE_ERROR SuspendSession( uint16_t keyId, uint64_t peerNodeId, uint8_t *buf, uint16_t bufSize, uint16_t & serializedSessionLen )
Tạm ngưng và chuyển đổi trạng thái của một phiên bảo mật Weave đang hoạt động.
Chuyển đổi trạng thái của một phiên bảo mật Weave đã xác định vào bộ đệm đã cung cấp và tạm ngưng phiên để không thể gửi hay nhận thêm thông báo nào.
Phương pháp này dùng cho các thiết bị không giữ lại RAM trong khi ngủ, cho phép các thiết bị này duy trì trạng thái hoạt động của phiên đang hoạt động, từ đó tránh được việc thiết lập lại phiên khi chúng thức.
WeaveFabricState
WeaveFabricState( void )