nl:: Weave
Tóm tắt
Typedef |
|
---|---|
FabricSecretRotationScheme
|
typedefuint8_t
|
FabricSecretScope
|
nl::Weave::FabricSecretScopeuint8_t
Xác định danh mục thiết bị có thể sở hữu và sử dụng bí mật kết nối. |
WeaveAuthMode
|
typedefuint16_t
Xác định cách xác thực một nút ngang hàng. |
WeaveEncryptionKey
|
typedef |
WeaveEncryptionType
|
typedefenum nl::Weave::WeaveEncryptionType
Các loại mã hoá cho thư Weave. |
WeaveExchangeFlags
|
typedefenum nl::Weave::WeaveExchangeFlags
Bit cờ tiêu đề Weave Exchange. |
WeaveExchangeVersion
|
typedefenum nl::Weave::WeaveExchangeVersion
Phiên bản tiêu đề của Weave Exchange. |
WeaveMessageFlags
|
typedefenum nl::Weave::WeaveMessageFlags
Cờ liên kết với thư Weave gửi đến hoặc gửi đi. |
WeaveMessageHeader
|
typedefstruct WeaveMessageInfo
|
WeaveMessageVersion
|
typedefenum nl::Weave::WeaveMessageVersion
Phiên bản của định dạng Weave Message. |
WeaveSubnetId
|
typedefenum nl::Weave::WeaveSubnetId
Weave có một số số mạng con dành riêng cho các giao diện mạng phân biệt trên các thiết bị thông thường. |
Biến |
|
---|---|
ExchangeMgr
|
NL_DLL_EXPORT WeaveExchangeManager
|
FabricState
|
NL_DLL_EXPORT WeaveFabricState
|
MessageLayer
|
NL_DLL_EXPORT WeaveMessageLayer
|
SecurityMgr
|
NL_DLL_EXPORT WeaveSecurityManager
|
WeaveConnection
|
class NL_DLL_EXPORT
|
WeaveExchangeManager
|
class NL_DLL_EXPORT
|
WeaveMessageLayer
|
class NL_DLL_EXPORT
|
gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
|
const WRMPConfig
|
kWeaveMsgEncAppKeyDiversifier = { 0xB1, 0x1D, 0xAE, 0x5B }[]
|
const uint8_t
Công cụ đa dạng hoá khoá dùng để lấy khoá mã hoá tin nhắn của Dệt.
|
Hàm |
|
---|---|
AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Trả về mã khoá chính của nhóm ứng dụng được liên kết với chế độ xác thực.
|
CASEAuthMode(uint8_t certType)
|
WeaveAuthMode
Trả về chế độ xác thực CASE tương ứng cho một loại chứng chỉ cho trước.
|
CertTypeFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Trả về nguồn mật khẩu cho chế độ xác thực đã cho.
|
DecodeHeaderField(const uint16_t headerField, WeaveMessageInfo *msgInfo)
|
void
|
DefaultOnMessageReceived(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
|
EncodeHeaderField(const WeaveMessageInfo *msgInfo)
|
uint16_t
|
FindMessageName(uint32_t inProfileId, uint8_t inMsgType)
|
const char *
|
FindProfileName(uint32_t inProfileId)
|
const char *
|
FormatWeaveError(char *buf, uint16_t bufSize, int32_t err)
|
bool
Giả sử có lỗi Weave, hàm này sẽ trả về một chuỗi C kết thúc bằng NULL mà con người có thể đọc được, dùng để mô tả lỗi.
|
GenerateWeaveNodeId(uint64_t & nodeId)
|
NL_DLL_EXPORT WEAVE_ERROR
Tạo mã nút Weave ngẫu nhiên.
|
GetFibonacciForIndex(uint32_t index)
|
uint32_t
Hàm này tạo ra số Fibonacci 32 bit cho một chỉ mục 32 bit nhất định.
|
GetMessageName(uint32_t profileId, uint8_t msgType)
|
const char *
|
GetProfileName(uint32_t profileId)
|
const char *
|
GetRandU16(void)
|
uint16_t
Hàm này tạo số ngẫu nhiên 16 bit chưa ký.
|
GetRandU32(void)
|
uint32_t
Hàm này tạo số ngẫu nhiên 32 bit chưa ký.
|
GetRandU64(void)
|
uint64_t
Hàm này tạo số ngẫu nhiên 64 bit chưa ký.
|
GetRandU8(void)
|
uint8_t
Hàm này tạo số ngẫu nhiên 8 bit không ký.
|
GetVendorName(uint16_t vendorId)
|
const char *
|
GroupKeyAuthMode(uint32_t keyId)
|
WeaveAuthMode
Trả về chế độ xác thực khoá nhóm tương ứng cho một mã khoá cho trước.
|
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
|
uint64_t
Chuyển đổi một giá trị nhận dạng giao diện địa chỉ IPv6 thành giá trị nhận dạng nút Weave.
|
IsCASEAuthMode(WeaveAuthMode authMode)
|
bool
Đúng nếu chế độ xác thực dựa trên giao thức Weave CASE.
|
IsCertAuthMode(WeaveAuthMode authMode)
|
bool
Đúng nếu chế độ xác thực dựa trên việc sở hữu khoá riêng tư được liên kết với một chứng chỉ.
|
IsGroupKeyAuthMode(WeaveAuthMode authMode)
|
bool
Đúng nếu chế độ xác thực dựa trên việc sở hữu khoá nhóm dùng chung.
|
IsPASEAuthMode(WeaveAuthMode authMode)
|
bool
Đúng nếu chế độ xác thực dựa trên giao thức Weave PASE.
|
IsPasswordAuthMode(WeaveAuthMode authMode)
|
bool
Đúng nếu chế độ xác thực dựa trên việc sở hữu mật khẩu dùng chung.
|
IsTAKEAuthMode(WeaveAuthMode authMode)
|
bool
Đúng nếu chế độ xác thực dựa trên giao thức Weave Take.
|
IsWRMPControlMessage(uint32_t profileId, uint8_t msgType)
|
bool
|
J2N_ByteArray(JNIEnv *env, jbyteArray inArray, uint8_t *& outArray, uint32_t & outArrayLen)
|
|
J2N_ByteArrayFieldVal(JNIEnv *env, jobject obj, const char *fieldName, uint8_t *& outArray, uint32_t & outArrayLen)
|
|
J2N_ByteArrayInPlace(JNIEnv *env, jbyteArray inArray, uint8_t *outArray, uint32_t maxArrayLen)
|
|
J2N_EnumFieldVal(JNIEnv *env, jobject obj, const char *fieldName, const char *fieldType, int & outVal)
|
|
J2N_EnumVal(JNIEnv *env, jobject enumObj, int & outVal)
|
|
J2N_IntFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jint & outVal)
|
|
J2N_LongFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jlong & outVal)
|
|
J2N_ShortFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jshort & outVal)
|
|
J2N_StringFieldVal(JNIEnv *env, jobject obj, const char *fieldName, char *& outVal)
|
|
MakeClassName(const char *basePackageName, const char *relativeClassName, char *& classNameBuf)
|
|
PASEAuthMode(uint8_t pwSource)
|
WeaveAuthMode
Trả về chế độ xác thực PASE tương ứng cho một nguồn mật khẩu đã cho.
|
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Trả về nguồn mật khẩu cho chế độ xác thực đã cho.
|
PrintTunnelInfo(const WeaveConnectionTunnel & tun, const TCPEndPoint & fromEndPoint, const TCPEndPoint & toEndPoint, const PacketBuffer & data)
|
void
|
ToHex(const uint8_t data)
|
char
|
ToHexString(const uint8_t *data, size_t dataLen, char *& outBuf, size_t & outBufSize)
|
void
|
WeaveEncryptionKeyToString(uint8_t encType, const WeaveEncryptionKey & key, char *buf, size_t bufSize)
|
void
|
WeaveFabricIdToIPv6GlobalId(uint64_t fabricId)
|
uint64_t
Chuyển đổi giá trị nhận dạng kết nối của Weave thành giá trị nhận dạng chung ULA IPv6.
|
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
KHÔNG DÙNG NỮA, hãy sử dụng WeaveMessageLayer::GetPeerDescription().
|
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
|
void
KHÔNG DÙNG NỮA, hãy sử dụng WeaveMessageLayer::GetPeerDescription().
|
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
|
uint64_t
Chuyển đổi giá trị nhận dạng nút Weave thành giá trị nhận dạng giao diện địa chỉ IPv6.
|
max(const _T & a, const _T & b)
|
const _T &
|
min(const _T & a, const _T & b)
|
const _T &
|
Lớp |
|
---|---|
nl:: |
Chụp mục tiêu dự định của giao tiếp Weave và thông tin cấu hình liên quan. |
nl:: |
Giao diện để quản lý bộ đếm dưới dạng giá trị số nguyên. |
nl:: |
Lớp này đại diện cho một cuộc trò chuyện đang diễn ra (ExchangeContext) giữa hai hoặc nhiều nút. |
nl:: |
Lớp uỷ quyền trừu tượng này thông báo các thay đổi về trạng thái kết cấu. |
nl:: |
Để quản lý và thao tác với Danh sách cổng máy chủ, một tập hợp nhỏ gọn, được mã hoá nhị phân của các bộ dữ liệu máy chủ và giá trị nhận dạng cổng được liên kết với Thư mục dịch vụ của Weave. |
nl:: |
|
nl:: |
Một lớp để quản lý bộ đếm tăng đơn điệu dưới dạng giá trị số nguyên. |
nl:: |
Một lớp để quản lý bộ đếm dưới dạng giá trị số nguyên dự định sẽ duy trì sau khi khởi động lại. |
nl:: |
Định nghĩa về lớp Weave Connection (Kết nối Weave). |
nl:: |
Định nghĩa về lớp WeaveConnectionTunnel sẽ quản lý một cặp TCPEndPoint có WeaveConnections ban đầu đã được ghép nối và trong đó WeaveMessageLayer chuyển tiếp tất cả dữ liệu và trạng thái đóng kết nối. |
nl:: |
|
nl:: |
Thao tác này sẽ chỉ định hồ sơ Weave và loại thông báo của thông báo Weave cụ thể trong ExchangeContext. |
nl:: |
Lớp này được dùng để quản lý ExchangeContexts bằng các nút Weave khác. |
nl:: |
Chuyển tiếp nội dung khai báo WeaveFabricState. |
nl:: |
Định nghĩa của giá trị nhận dạng Weave Key. |
nl:: |
Định nghĩa về lớp WeaveMessageLayer giúp quản lý hoạt động giao tiếp với các nút Weave khác. |
nl:: |
Chứa thông tin về khoá mã hoá thư Weave. |
nl:: |
Bộ nhớ đệm khoá cho khoá mã hoá thư Weave. |
nl:: |
|
nl:: |
Đối tượng cơ bản phổ biến để triển khai người trả lời (máy chủ) không mong muốn của hồ sơ Weave đóng gói xác thực các yêu cầu đã xác thực và gửi báo cáo trạng thái, đồng thời cung cấp bộ nhớ thành viên dữ liệu chung cho trạng thái kết nối và trình quản lý trao đổi. |
nl:: |
Một lớp cơ sở phổ biến để triển khai các đối tượng uỷ quyền máy chủ Weave. |
nl:: |
Chứa thông tin về khoá phiên Weave. |
nl:: |
Truyền trạng thái giao tiếp cần thiết để gửi/nhận thông báo bằng một nút khác. |
Cấu trúc |
|
---|---|
nl:: |
|
nl:: |
Cấu hình WRMP. |
nl:: |
Thông tin về thông báo Weave đang trong quá trình gửi hoặc nhận. |
Hiệp hội |
|
---|---|
nl:: |
Không gian tên |
|
---|---|
nl:: |
Không gian tên này bao gồm tất cả các giao diện trong Weave để làm việc với Abstract Cú pháp Notation One (ASN.1). |
nl:: |
Không gian tên này bao gồm tất cả các giao diện trong Weave dành cho việc hỗ trợ mật mã dùng chung. |
nl:: |
|
nl:: |
|
nl:: |
Không gian tên này cung cấp các hàm cho: |
nl:: |
Không gian tên này bao gồm tất cả các giao diện trong Weave để hỗ trợ ghi nhật ký dùng chung. |
nl:: |
|
nl:: |
Không gian tên này bao gồm tất cả giao diện trong hồ sơ Weave for Weave, cả Common (Phổ biến) và Nest Labs dành riêng cho nhà cung cấp. |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Định nghĩa khi làm việc với dữ liệu được mã hoá ở định dạng TLV của Weave. |
nl:: |
Không gian tên này bao gồm các giao diện cho Mô-đun định tuyến và Địa chỉ Weave. Đây là một Mô-đun di động để định cấu hình các tuyến và địa chỉ IP của Weave. |
Bảng liệt kê
@21
@21
Thuộc tính | |
---|---|
kFlagAckPending
|
Nếu dự kiến sẽ có phản hồi cho một thư đang được gửi. |
kFlagAutoReleaseConnection
|
Tự động phát hành khoá mã hoá thư khi ngữ cảnh trao đổi được giải phóng. |
kFlagAutoReleaseKey
|
Khi được đặt, biểu thị rằng đã nhận được ít nhất một tin nhắn từ ngang hàng trong ngữ cảnh trao đổi này. |
kFlagAutoRequestAck
|
Ngữ cảnh này liên quan đến một WeaveConnection. |
kFlagConnectionClosed
|
Bối cảnh này là yếu tố khởi đầu của quá trình trao đổi. |
kFlagDropAck
|
Khi đã đặt, sẽ tự động yêu cầu xác nhận bất cứ khi nào thư được gửi qua UDP. |
kFlagMsgRcvdFromPeer
|
Khi được đặt, biểu thị rằng ít nhất một tin nhắn nhận được trong lần trao đổi này đã yêu cầu xác nhận. Ứng dụng sẽ đọc cờ này để quyết định xem có cần yêu cầu xác nhận cho thông báo phản hồi mà ứng dụng sắp gửi hay không. Cờ này cũng có thể cho biết liệu ứng dụng ngang hàng có sử dụng WRMP hay không. |
kFlagPeerRequestedAck
|
Khi được đặt, biểu thị rằng có một xác nhận đang chờ gửi lại. |
kFlagResponseExpected
|
Chỉ dành cho nội bộ và gỡ lỗi: khi được đặt, lớp trao đổi sẽ không gửi xác nhận. |
kFlagUseEphemeralUDPPort
|
Tự động phát hành WeaveConnection được liên kết khi ngữ cảnh trao đổi được giải phóng. |
@36
@36
@37
@37
@38
@38
Thuộc tính | |
---|---|
kFabricIdDefaultForTest
|
Mã kết cấu mặc định (chỉ nên dùng cho mục đích thử nghiệm). |
@39
@39
Xác định mục đích hoặc cách áp dụng chứng chỉ.
Loại chứng chỉ là nhãn mô tả mục đích hoặc ứng dụng của chứng chỉ. Các loại chứng chỉ không được mang dưới dạng thuộc tính của chứng chỉ tương ứng mà bắt nguồn từ cấu trúc của chứng chỉ và/hoặc bối cảnh sử dụng chứng chỉ. Bảng liệt kê loại chứng chỉ bao gồm một tập hợp các giá trị được xác định trước mô tả các ứng dụng chứng chỉ thường dùng. Nhà phát triển cũng có thể mở rộng phạm vi giá trị loại chứng chỉ với các loại dành riêng cho ứng dụng mô tả chứng chỉ tuỳ chỉnh hoặc chứng chỉ có thuộc tính bảo mật duy nhất.
Loại chứng chỉ chủ yếu được dùng trong việc triển khai các chính sách kiểm soát quyền truy cập, trong đó quyền truy cập vào các tính năng của ứng dụng chịu ảnh hưởng của loại chứng chỉ mà người yêu cầu đưa ra.
Thuộc tính | |
---|---|
kCertType_AccessToken
|
Chứng chỉ mã truy cập Weave. |
kCertType_AppDefinedBase
|
Các loại chứng chỉ dành riêng cho ứng dụng phải có giá trị >= giá trị này. |
kCertType_CA
|
Chứng chỉ CA. |
kCertType_Device
|
Chứng chỉ thiết bị Weave. |
kCertType_FirmwareSigning
|
Chứng chỉ ký chương trình cơ sở của Weave. |
kCertType_General
|
Chứng chỉ thuộc loại chung hoặc không cụ thể. |
kCertType_Max
|
Các loại chứng chỉ không được lớn hơn giá trị này. |
kCertType_NotSpecified
|
Chưa chỉ định loại chứng chỉ. |
kCertType_ServiceEndpoint
|
Chứng chỉ điểm cuối của dịch vụ Weave. |
@40
@40
Xác định nguồn của mật khẩu được sử dụng trong giao thức xác thực dựa trên mật khẩu (ví dụ:
Dệt PASE)
@41
@41
Thuộc tính | |
---|---|
kWeaveAuthModeCategory_AppDefinedBase
|
Giá trị cơ sở cho các danh mục xác thực do ứng dụng xác định. |
kWeaveAuthModeCategory_CASE
|
Đã xác thực ứng dụng ngang hàng bằng giao thức Weave CASE. |
kWeaveAuthModeCategory_General
|
Được xác thực ngang hàng bằng một trong một nhóm các cơ chế chung. |
kWeaveAuthModeCategory_GroupKey
|
Đã xác thực ngang hàng bằng khoá nhóm dùng chung. |
kWeaveAuthModeCategory_PASE
|
Đã xác thực ngang hàng bằng giao thức Weave PASE. |
kWeaveAuthModeCategory_TAKE
|
Đã xác thực ứng dụng ngang hàng bằng giao thức Weave Take. |
kWeaveAuthMode_CASE_AccessToken
|
Đã xác thực ứng dụng ngang hàng bằng CASE với chứng chỉ mã truy cập Weave. |
kWeaveAuthMode_CASE_AnyCert
|
Đã xác thực ngang hàng bằng CASE với chứng chỉ tùy ý hoặc chứng chỉ thuộc loại không xác định. |
kWeaveAuthMode_CASE_Device
|
Đã xác thực ứng dụng ngang hàng bằng trường hợp có chứng chỉ thiết bị Weave. |
kWeaveAuthMode_CASE_GeneralCert
|
Đã xác thực ngang hàng bằng CASE với loại chứng chỉ chung hoặc không cụ thể. |
kWeaveAuthMode_CASE_ServiceEndPoint
|
Đã xác thực ứng dụng ngang hàng bằng chứng chỉ điểm cuối dịch vụ CASE với Weave. |
kWeaveAuthMode_NotSpecified
|
Chưa chỉ định chế độ xác thực. |
kWeaveAuthMode_PASE_PairingCode
|
Xác thực ngang hàng bằng PASE với mã ghép nối thiết bị. |
kWeaveAuthMode_TAKE_IdentificationKey
|
Đã xác thực ứng dụng ngang hàng bằng phương thức Take với khoá nhận dạng mã thông báo. |
kWeaveAuthMode_Unauthenticated
|
Chưa xác thực ứng dụng ngang hàng. |
@42
@42
Thuộc tính | |
---|---|
kFabricSecretScope_All
|
Tất cả các thiết bị đều có thể sở hữu bí mật kết cấu tương ứng. |
@43
@43
Thuộc tính | |
---|---|
kTestKey_AES128CTRSHA1_DataKeyByte
|
Giá trị byte xây dựng khoá mã hoá, chỉ dùng cho mục đích kiểm thử. |
kTestKey_AES128CTRSHA1_IntegrityKeyByte
|
Giá trị byte xây dựng khoá tính toàn vẹn, chỉ dùng để kiểm thử. |
@44
@44
Kích thước đa dạng hoá khoá ứng dụng mã hoá dạng dệt.
@45
@45
@53
@53
@54
@54
Thuộc tính | |
---|---|
kWeavePeerDescription_MaxLength
|
Độ dài tối đa của chuỗi (bao gồm cả ký tự NUL) do WeaveMessageLayer::GetPeerDescription() trả về. |
@55
@55
Các định nghĩa liên quan đến tiêu đề của thông báo Weave được mã hoá.
Thuộc tính | |
---|---|
kWeaveHeaderFlag_DestNodeId
|
Cho biết rằng mã nhận dạng nút đích có trong tiêu đề thông báo của Weave. |
kWeaveHeaderFlag_MsgCounterSyncReq
|
Cho biết rằng người gửi yêu cầu đồng bộ hoá bộ đếm thư. |
kWeaveHeaderFlag_SourceNodeId
|
Cho biết rằng mã nhận dạng nút nguồn có trong tiêu đề thư của Weave. |
kWeaveHeaderFlag_TunneledData
|
Cho biết tải trọng thông báo Weave là một gói IP có đường hầm. |
@56
@56
Định nghĩa trường bit cho Giá trị nhận dạng IEEE EUI-64.
Thuộc tính | |
---|---|
kEUI64_IG_Group
|
Giá trị bit riêng lẻ/nhóm cho biết giá trị nhận dạng EUI-64 của địa chỉ nhóm. |
kEUI64_IG_Individual
|
Giá trị bit riêng lẻ/nhóm cho biết địa chỉ nhận dạng EUI-64 của địa chỉ riêng lẻ. |
kEUI64_IG_Mask
|
Bitmask cho bit Individual/Group (I/G) trong mã nhận dạng EUI-64. Giá trị 0 cho biết mã nhận dạng là một địa chỉ cá nhân. Giá trị 1 cho biết mã nhận dạng là địa chỉ nhóm. |
kEUI64_UL_Local
|
Giá trị bit chung/địa phương cho biết giá trị nhận dạng EUI-64 do cục bộ quản lý. |
kEUI64_UL_Mask
|
Bitmask cho bit Universal/Local (U/L) trong mã định danh EUI-64. Giá trị 0 cho biết mã nhận dạng này được quản lý trên toàn cầu. Giá trị 1 cho biết mã nhận dạng này do cục bộ quản lý. |
kEUI64_UL_Unversal
|
Giá trị bit chung/địa phương cho biết giá trị nhận dạng EUI-64 được quản lý toàn cầu. |
@57
@57
Phạm vi đặc biệt của mã nút dệt.
Thuộc tính | |
---|---|
kMaxAlwaysLocalWeaveNodeId
|
Các giá trị nhận dạng nút dệt nhỏ hơn hoặc bằng giá trị này được xem là cục bộ để thuận tiện kiểm thử. |
WeaveEncryptionType
WeaveEncryptionType
Các loại mã hoá cho thư Weave.
Thuộc tính | |
---|---|
kWeaveEncryptionType_AES128CTRSHA1
|
Thư được mã hoá bằng phương thức mã hoá AES-128-CTR với tính toàn vẹn của thư HMAC-SHA-1 |
kWeaveEncryptionType_None
|
Thư không được mã hoá. |
WeaveExchangeFlags
WeaveExchangeFlags
Bit cờ tiêu đề Weave Exchange.
Thuộc tính | |
---|---|
kWeaveExchangeFlag_AckId
|
Đặt thời điểm thông báo hiện tại là sự xác nhận cho một thư đã nhận trước đó. |
kWeaveExchangeFlag_Initiator
|
Đặt thời điểm người bắt đầu một lượt trao đổi gửi tin nhắn hiện tại. |
kWeaveExchangeFlag_NeedsAck
|
Đặt khi tin nhắn hiện tại yêu cầu người nhận xác nhận. |
WeaveExchangeVersion
WeaveExchangeVersion
Phiên bản tiêu đề của Weave Exchange.
WeaveMessageFlags
WeaveMessageFlags
Cờ liên kết với thư Weave gửi đến hoặc gửi đi.
Các giá trị được xác định ở đây để sử dụng trong trường WeaveMessageInfo.Flags.
Thuộc tính | |
---|---|
kWeaveMessageFlag_DefaultMulticastSourceAddress
|
Cho biết rằng lựa chọn địa chỉ nguồn IPv6 mặc định sẽ được sử dụng khi gửi thông báo phát đa hướng IPv6. |
kWeaveMessageFlag_DelaySend
|
Cho biết rằng việc gửi thư cần được trì hoãn. |
kWeaveMessageFlag_DestNodeId
|
Cho biết rằng mã nhận dạng nút đích có trong tiêu đề thông báo của Weave. |
kWeaveMessageFlag_DuplicateMessage
|
Cho biết rằng thư này trùng lặp với một thư đã nhận trước đó. |
kWeaveMessageFlag_FromInitiator
|
Cho biết nguồn gửi tin nhắn là người khởi xướng trao đổi Weave. |
kWeaveMessageFlag_MessageEncoded
|
Cho biết thông báo Weave đã được mã hoá. |
kWeaveMessageFlag_MsgCounterSyncReq
|
Cho biết rằng người gửi yêu cầu đồng bộ hoá bộ đếm thư của ứng dụng ngang hàng. |
kWeaveMessageFlag_MulticastFromLinkLocal
|
Ngừng sử dụng bí danh của |
kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized
|
Cho biết bộ đếm thông báo khoá nhóm của ứng dụng ngang hàng chưa được đồng bộ hoá. |
kWeaveMessageFlag_PeerRequestedAck
|
Cho biết rằng người gửi tin nhắn đã yêu cầu xác nhận. |
kWeaveMessageFlag_RetainBuffer
|
Cho biết không được giải phóng vùng đệm thư sau khi gửi. |
kWeaveMessageFlag_ReuseMessageId
|
Cho biết rằng giá trị nhận dạng hiện có trong thông báo phải được sử dụng lại. |
kWeaveMessageFlag_ReuseSourceId
|
Cho biết rằng giá trị nhận dạng nút nguồn hiện có phải được sử dụng lại. |
kWeaveMessageFlag_SourceNodeId
|
Cho biết rằng mã nhận dạng nút nguồn có trong tiêu đề thư của Weave. |
kWeaveMessageFlag_TunneledData
|
Cho biết tải trọng thông báo Weave là một gói IP có đường hầm. |
kWeaveMessageFlag_ViaEphemeralUDPPort
|
Cho biết rằng tin nhắn đang được gửi/nhận qua cổng UDP tạm thời cục bộ. |
WeaveMessageVersion
WeaveMessageVersion
Phiên bản của định dạng Weave Message.
Weave sẽ chọn phiên bản thông báo phù hợp dựa trên định dạng khung cần thiết cho thông báo Weave. Theo mặc định, phiên bản thông báo là kWeaveMessageVersion_V1. Ví dụ: khi sử dụng tính năng Thông báo đáng tin cậy của Weave, phiên bản là kWeaveMessageVersion_V2.
Thuộc tính | |
---|---|
kWeaveMessageVersion_Unspecified
|
Phiên bản thông báo chưa được chỉ định. |
kWeaveMessageVersion_V1
|
Định dạng tiêu đề thông báo Phiên bản V1. |
kWeaveMessageVersion_V2
|
Định dạng tiêu đề thông báo Phiên bản 2. |
WeaveSubnetId
WeaveSubnetId
Weave có một số số mạng con dành riêng cho các giao diện mạng phân biệt trên các thiết bị thông thường.
Các số này được gán ở đây cho hằng số tượng trưng. Những số mạng con này được Weave sử dụng để định cấu hình các địa chỉ ULA IPv6 trên các giao diện thích hợp.
Thuộc tính | |
---|---|
kWeaveSubnetId_MobileDevice
|
Mã nhận dạng mạng con cho tất cả các thiết bị di động. |
kWeaveSubnetId_NotSpecified
|
Được đặt trước dưới dạng giá trị không xác định hoặc rỗng. |
kWeaveSubnetId_PrimaryWiFi
|
Số mạng con của giao diện vô tuyến Wi-Fi. |
kWeaveSubnetId_Service
|
Giá trị nhận dạng mạng con cho các điểm cuối của Dịch vụ Nest. |
kWeaveSubnetId_ThreadAlarm
|
Số mạng con của giao diện chuông báo theo chuỗi. |
kWeaveSubnetId_ThreadMesh
|
Giá trị nhận dạng mạng con của giao diện vô tuyến dạng lưới Thread. |
kWeaveSubnetId_WiFiAP
|
Số mạng con của giao diện AP của Wi-Fi cục bộ. |
WeaveVendorId
WeaveVendorId
Typedef
FabricSecretRotationScheme
uint8_t FabricSecretRotationScheme
FabricSecretScope
uint8_t FabricSecretScope
Xác định danh mục thiết bị có thể sở hữu và sử dụng bí mật kết nối.
WeaveAuthMode
uint16_t WeaveAuthMode
Xác định cách xác thực một nút ngang hàng.
WeaveAuthMode mô tả phương tiện mà một nút ngang hàng đã hoặc cần được xác thực trong quá trình trao đổi thông báo Weave. Trong ngữ cảnh khởi tạo, các ứng dụng sử dụng WeaveAuthMode để thể hiện chế độ xác thực ngang hàng mong muốn cho quá trình trao đổi, do đó hướng dẫn các lớp bảo mật và thông báo của Weave đạt được chế độ mong muốn hoặc không giao tiếp được. Trong ngữ cảnh phản hồi, WeaveAuthMode xác định cách nút yêu cầu (ứng dụng ngang hàng) được xác thực, cho phép ứng dụng phản hồi thực thi các biện pháp kiểm soát quyền truy cập dựa trên thông tin này.
WeaveAuthMode được chỉ định cho một tin nhắn đến Weave có liên quan đến bản chất của khoá dùng để mã hoá thư đó. WeaveAuthMode bắt nguồn từ cơ chế được thiết lập khoá và tiêu chí được sử dụng để xác minh danh tính của các bên giao tiếp tại thời điểm thiết lập khoá.
WeaveAuthMode bao gồm một tập hợp các giá trị được xác định trước mô tả các chế độ xác thực phổ biến. Các khoá này được chia nhỏ theo cơ chế thoả thuận chính (CASE, PASE, GroupKey, v.v.). Các nhà phát triển có thể mở rộng WeaveAuthMode bằng cách xác định các chế độ dành riêng cho ứng dụng. Họ có thể đính kèm những chế độ này vào các khoá mã hoá cụ thể.
WeaveEncryptionKey
union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey
WeaveEncryptionType
enum nl::Weave::WeaveEncryptionType WeaveEncryptionType
Các loại mã hoá cho thư Weave.
WeaveExchangeFlags
enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags
Bit cờ tiêu đề Weave Exchange.
WeaveExchangeVersion
enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion
Phiên bản tiêu đề của Weave Exchange.
WeaveMessageFlags
enum nl::Weave::WeaveMessageFlags WeaveMessageFlags
Cờ liên kết với thư Weave gửi đến hoặc gửi đi.
Các giá trị được xác định ở đây để sử dụng trong trường WeaveMessageInfo.Flags.
WeaveMessageHeader
struct WeaveMessageInfo WeaveMessageHeader
WeaveMessageVersion
enum nl::Weave::WeaveMessageVersion WeaveMessageVersion
Phiên bản của định dạng Weave Message.
Weave sẽ chọn phiên bản thông báo phù hợp dựa trên định dạng khung cần thiết cho thông báo Weave. Theo mặc định, phiên bản thông báo là kWeaveMessageVersion_V1. Ví dụ: khi sử dụng tính năng Thông báo đáng tin cậy của Weave, phiên bản là kWeaveMessageVersion_V2.
WeaveSubnetId
enum nl::Weave::WeaveSubnetId WeaveSubnetId
Weave có một số số mạng con dành riêng cho các giao diện mạng phân biệt trên các thiết bị thông thường.
Các số này được gán ở đây cho hằng số tượng trưng. Những số mạng con này được Weave sử dụng để định cấu hình các địa chỉ ULA IPv6 trên các giao diện thích hợp.
Biến
ExchangeMgr
NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr
FabricState
NL_DLL_EXPORT WeaveFabricState FabricState
MessageLayer
NL_DLL_EXPORT WeaveMessageLayer MessageLayer
SecurityMgr
NL_DLL_EXPORT WeaveSecurityManager SecurityMgr
WeaveConnection
class NL_DLL_EXPORT WeaveConnection
WeaveExchangeManager
class NL_DLL_EXPORT WeaveExchangeManager
WeaveMessageLayer
class NL_DLL_EXPORT WeaveMessageLayer
gDefaultWRMPConfig
const WRMPConfig gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
kWeaveMsgEncAppKeyDiversifier
const uint8_t kWeaveMsgEncAppKeyDiversifier[] = { 0xB1, 0x1D, 0xAE, 0x5B }
Công cụ đa dạng hoá khoá dùng để lấy khoá mã hoá tin nhắn của Dệt.
Giá trị này biểu thị 4 byte đầu tiên của SHA-1 HASH của cụm từ "Nest Weave Message EK và AK".
Hàm
AppGroupMasterKeyIdFromAuthMode
uint8_t AppGroupMasterKeyIdFromAuthMode( WeaveAuthMode authMode )
Trả về mã khoá chính của nhóm ứng dụng được liên kết với chế độ xác thực.
CASEAuthMode
WeaveAuthMode CASEAuthMode( uint8_t certType )
Trả về chế độ xác thực CASE tương ứng cho một loại chứng chỉ cho trước.
CertTypeFromAuthMode
uint8_t CertTypeFromAuthMode( WeaveAuthMode authMode )
Trả về nguồn mật khẩu cho chế độ xác thực đã cho.
DecodeHeaderField
void DecodeHeaderField( const uint16_t headerField, WeaveMessageInfo *msgInfo )
DefaultOnMessageReceived
void DefaultOnMessageReceived( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
EncodeHeaderField
uint16_t EncodeHeaderField( const WeaveMessageInfo *msgInfo )
FindMessageName
const char * FindMessageName( uint32_t inProfileId, uint8_t inMsgType )
FindProfileName
const char * FindProfileName( uint32_t inProfileId )
FormatWeaveError
bool FormatWeaveError( char *buf, uint16_t bufSize, int32_t err )
Giả sử có lỗi Weave, hàm này sẽ trả về một chuỗi C kết thúc bằng NULL mà con người có thể đọc được, dùng để mô tả lỗi.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Trả về |
true Nếu chuỗi mô tả được ghi vào vùng đệm đã cung cấp.
|
||||||
Trả về |
false Nếu lỗi đã cung cấp không phải là lỗi Dệt.
|
GenerateWeaveNodeId
NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId( uint64_t & nodeId )
Tạo mã nút Weave ngẫu nhiên.
Hàm này tạo mã nhận dạng nút Weave 64 bit duy nhất cục bộ. Hàm này sử dụng nguồn dữ liệu ngẫu nhiên mạnh và được mã hoá để đảm bảo tính duy nhất của giá trị được tạo. Lưu ý rằng bit 57 của Id nút Weave đã tạo được đặt thành 1 để chỉ ra rằng Id nút Weave được tạo là duy nhất cục bộ (không phải trên toàn cục).
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
||
Giá trị trả về |
|
GetFibonacciForIndex
uint32_t GetFibonacciForIndex( uint32_t index )
Hàm này tạo ra số Fibonacci 32 bit cho một chỉ mục 32 bit nhất định.
Thông tin chi tiết | |
---|---|
Trả về |
Số fibonacci 32 bit không dấu.
|
GetMessageName
const char * GetMessageName( uint32_t profileId, uint8_t msgType )
GetProfileName
const char * GetProfileName( uint32_t profileId )
GetRandU16
uint16_t GetRandU16( void )
Hàm này tạo số ngẫu nhiên 16 bit chưa ký.
Thông tin chi tiết | |
---|---|
Trả về |
Số nguyên ngẫu nhiên 16 bit chưa ký.
|
GetRandU32
uint32_t GetRandU32( void )
Hàm này tạo số ngẫu nhiên 32 bit chưa ký.
Thông tin chi tiết | |
---|---|
Trả về |
Số nguyên ngẫu nhiên 32 bit chưa ký.
|
GetRandU64
uint64_t GetRandU64( void )
Hàm này tạo số ngẫu nhiên 64 bit chưa ký.
Thông tin chi tiết | |
---|---|
Trả về |
Số nguyên ngẫu nhiên 64 bit chưa ký.
|
GetRandU8
uint8_t GetRandU8( void )
Hàm này tạo số ngẫu nhiên 8 bit không ký.
Thông tin chi tiết | |
---|---|
Trả về |
Số nguyên ngẫu nhiên 8 bit chưa ký.
|
GetVendorName
const char * GetVendorName( uint16_t vendorId )
GroupKeyAuthMode
WeaveAuthMode GroupKeyAuthMode( uint32_t keyId )
Trả về chế độ xác thực khoá nhóm tương ứng cho một mã khoá cho trước.
IPv6InterfaceIdToWeaveNodeId
uint64_t IPv6InterfaceIdToWeaveNodeId( uint64_t interfaceId )
Chuyển đổi một giá trị nhận dạng giao diện địa chỉ IPv6 thành giá trị nhận dạng nút Weave.
Để thuận tiện cho việc kiểm thử, các giá trị nhận dạng nút nhỏ hơn hoặc bằng #kMaxAlwaysLocalWeaveNodeId (65535) được coi là "local" và có bit phổ quát/cục bộ được đặt thành 0. Việc này giúp đơn giản hoá việc biểu thị dạng chuỗi của các địa chỉ IPv6 tương ứng. Ví dụ: ULA cho giá trị nhận dạng nút 10
sẽ là FD00:0
:1:1::A.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
||
Trả về |
giá trị nhận dạng nút Weave 64 bit được ánh xạ.
|
IsCASEAuthMode
bool IsCASEAuthMode( WeaveAuthMode authMode )
Đúng nếu chế độ xác thực dựa trên giao thức Weave CASE.
IsCertAuthMode
bool IsCertAuthMode( WeaveAuthMode authMode )
Đúng nếu chế độ xác thực dựa trên việc sở hữu khoá riêng tư được liên kết với một chứng chỉ.
IsGroupKeyAuthMode
bool IsGroupKeyAuthMode( WeaveAuthMode authMode )
Đúng nếu chế độ xác thực dựa trên việc sở hữu khoá nhóm dùng chung.
IsPASEAuthMode
bool IsPASEAuthMode( WeaveAuthMode authMode )
Đúng nếu chế độ xác thực dựa trên giao thức Weave PASE.
IsPasswordAuthMode
bool IsPasswordAuthMode( WeaveAuthMode authMode )
Đúng nếu chế độ xác thực dựa trên việc sở hữu mật khẩu dùng chung.
IsTAKEAuthMode
bool IsTAKEAuthMode( WeaveAuthMode authMode )
Đúng nếu chế độ xác thực dựa trên giao thức Weave Take.
IsWRMPControlMessage
bool IsWRMPControlMessage( uint32_t profileId, uint8_t msgType )
J2N_ByteArray
WEAVE_ERROR J2N_ByteArray( JNIEnv *env, jbyteArray inArray, uint8_t *& outArray, uint32_t & outArrayLen )
J2N_ByteArrayFieldVal
WEAVE_ERROR J2N_ByteArrayFieldVal( JNIEnv *env, jobject obj, const char *fieldName, uint8_t *& outArray, uint32_t & outArrayLen )
J2N_ByteArrayInPlace
WEAVE_ERROR J2N_ByteArrayInPlace( JNIEnv *env, jbyteArray inArray, uint8_t *outArray, uint32_t maxArrayLen )
J2N_EnumFieldVal
WEAVE_ERROR J2N_EnumFieldVal( JNIEnv *env, jobject obj, const char *fieldName, const char *fieldType, int & outVal )
J2N_EnumVal
WEAVE_ERROR J2N_EnumVal( JNIEnv *env, jobject enumObj, int & outVal )
J2N_IntFieldVal
WEAVE_ERROR J2N_IntFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jint & outVal )
J2N_LongFieldVal
WEAVE_ERROR J2N_LongFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jlong & outVal )
J2N_ShortFieldVal
WEAVE_ERROR J2N_ShortFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jshort & outVal )
J2N_StringFieldVal
WEAVE_ERROR J2N_StringFieldVal( JNIEnv *env, jobject obj, const char *fieldName, char *& outVal )
MakeClassName
WEAVE_ERROR MakeClassName( const char *basePackageName, const char *relativeClassName, char *& classNameBuf )
PASEAuthMode
WeaveAuthMode PASEAuthMode( uint8_t pwSource )
Trả về chế độ xác thực PASE tương ứng cho một nguồn mật khẩu đã cho.
PasswordSourceFromAuthMode
uint8_t PasswordSourceFromAuthMode( WeaveAuthMode authMode )
Trả về nguồn mật khẩu cho chế độ xác thực đã cho.
PrintTunnelInfo
void PrintTunnelInfo( const WeaveConnectionTunnel & tun, const TCPEndPoint & fromEndPoint, const TCPEndPoint & toEndPoint, const PacketBuffer & data )
ToHex
char ToHex( const uint8_t data )
ToHexString
void ToHexString( const uint8_t *data, size_t dataLen, char *& outBuf, size_t & outBufSize )
WeaveEncryptionKeyToString
void WeaveEncryptionKeyToString( uint8_t encType, const WeaveEncryptionKey & key, char *buf, size_t bufSize )
WeaveFabricIdToIPv6GlobalId
uint64_t WeaveFabricIdToIPv6GlobalId( uint64_t fabricId )
Chuyển đổi giá trị nhận dạng kết nối của Weave thành giá trị nhận dạng chung ULA IPv6.
Giá trị nhận dạng chung ULA cho địa chỉ kết nối là 40 bit thấp hơn trong mã nhận dạng vải 64 bit của loại vải.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
||
Trả về |
giá trị nhận dạng chung IPv6 được liên kết.
|
WeaveMessageSourceToStr
void WeaveMessageSourceToStr( char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo )
KHÔNG DÙNG NỮA, hãy sử dụng WeaveMessageLayer::GetPeerDescription().
WeaveNodeAddrToStr
void WeaveNodeAddrToStr( char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con )
KHÔNG DÙNG NỮA, hãy sử dụng WeaveMessageLayer::GetPeerDescription().
WeaveNodeIdToIPv6InterfaceId
uint64_t WeaveNodeIdToIPv6InterfaceId( uint64_t nodeId )
Chuyển đổi giá trị nhận dạng nút Weave thành giá trị nhận dạng giao diện địa chỉ IPv6.
Các giá trị nhận dạng nút dệt là các EUI-64 Universal/Local, trên RFC-3513 được chuyển đổi thành các giá trị nhận dạng giao diện bằng cách đảo ngược bit chung/địa phương (bit 57 đếm LSB là 0).
Để thuận tiện cho việc kiểm thử, các giá trị nhận dạng nút nhỏ hơn hoặc bằng #kMaxAlwaysLocalWeaveNodeId (65535) được coi là "local" và có bit phổ quát/cục bộ được đặt thành 0. Việc này giúp đơn giản hoá việc biểu thị dạng chuỗi của các địa chỉ IPv6 tương ứng. Ví dụ: ULA cho giá trị nhận dạng nút 10
sẽ là FD00:0
:1:1::A.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
||
Trả về |
giá trị nhận dạng giao diện IPv6.
|
tối đa
const _T & max( const _T & a, const _T & b )
phút
const _T & min( const _T & a, const _T & b )