Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

nl :: Dệt :: Ràng buộc :: Cấu hình

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

Cung cấp một giao diện khai báo kiểu cho cấu hình và chuẩn bị một ràng buộc đối tượng.

Tóm lược

Khi cấu hình một Binding , các ứng dụng phải gọi ít nhất một phương pháp từ mỗi nhóm cấu hình sau: Target, Giao thông vận tải, và an ninh. Các phương thức khác có thể được gọi khi cần thiết để ghi đè hành vi mặc định.

Nếu cấu hình loại trừ lẫn nhau được gọi (ví dụ, Transport_TCP () tiếp theo Transport_UDP () ), người cuối cùng được gọi là chiến thắng.

Chức năng công cộng

ConfigureFromMessage (const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
Định cấu hình liên kết để cho phép giao tiếp với người gửi của một tin nhắn đã nhận.
DNS_Options (uint8_t dnsOptions)
Khi phân giải tên máy chủ của máy ngang hàng, hãy sử dụng các tùy chọn DNS được chỉ định.
Exchange_ResponseTimeoutMsec (uint32_t aResponseTimeoutMsec)
Đặt thời gian chờ phản ứng mặc định cho bối cảnh trao đổi tạo ra từ này Binding đối tượng.
GetError (void) const
Trả lại bất kỳ lỗi đã xảy ra trong khi cấu hình Binding .
PrepareBinding (void)
Là quá trình chuẩn bị Binding để giao tiếp với các đồng đẳng.
Security_AppGroupKey (uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
Khi giao tiếp với đồng nghiệp, hãy gửi và nhận tin nhắn được mã hóa cho một Nhóm ứng dụng Weave cụ thể.
Security_AuthenticationMode (WeaveAuthMode aAuthMode)
Đặt chế độ xác thực được yêu cầu được sử dụng để xác thực ngang hàng.
Security_CASESession (void)
Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận tin nhắn được mã hóa bằng khóa phiên CASE được thiết lập với nút ngang hàng.
Security_EncryptionType (uint8_t aEncType)
Khi giao tiếp với đồng đẳng, hãy gửi và nhận tin nhắn được mã hóa bằng kiểu mã hóa tin nhắn được chỉ định.
Security_Key (uint32_t aKeyId)
Khi giao tiếp với đồng đẳng, hãy gửi và nhận tin nhắn được mã hóa bằng một khóa được chỉ định.
Security_None (void)
Khi giao tiếp với đồng nghiệp, hãy gửi và nhận không được mã hóa (tức là
Security_PASESession (uint8_t aPasswordSource)
Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận tin nhắn được mã hóa bằng khóa phiên PASE được thiết lập với nút ngang hàng.
Security_SharedCASESession (void)
Khi giao tiếp với đồng đẳng, hãy gửi và nhận tin nhắn được mã hóa bằng khóa phiên CASE dùng chung được thiết lập với bộ định tuyến lõi Nest.
Security_SharedCASESession (uint64_t aRouterNodeId)
Khi giao tiếp với đồng đẳng, hãy gửi và nhận tin nhắn được mã hóa bằng khóa phiên CASE dùng chung được thiết lập với một nút bộ định tuyến được chỉ định.
Security_TAKESession ()
Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận tin nhắn được mã hóa bằng khóa phiên TAKE được thiết lập với nút ngang hàng.
TargetAddress_IP ( nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId)
Khi giao tiếp với mạng ngang hàng, hãy sử dụng địa chỉ IP, cổng và giao diện mạng cụ thể.
TargetAddress_IP (const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId)
Khi giao tiếp với máy ngang hàng, hãy sử dụng tên máy chủ, cổng và giao diện mạng cụ thể.
TargetAddress_IP (const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
Khi giao tiếp với máy ngang hàng, hãy sử dụng tên máy chủ, cổng và giao diện mạng cụ thể.
TargetAddress_WeaveFabric (uint16_t aSubnetId)
Khi giao tiếp với mạng ngang hàng, hãy sử dụng địa chỉ vải dệt được lấy từ id nút của máy ngang hàng và một mạng con được chỉ định.
TargetAddress_WeaveService (void)
Khi giao tiếp với máy ngang hàng, hãy sử dụng địa chỉ kết cấu dịch vụ Weave lấy từ id nút của máy ngang hàng.
Target_NodeId (uint64_t aPeerNodeId)
Định cấu hình liên kết để giao tiếp với một id nút Weave cụ thể.
Target_ServiceEndpoint (uint64_t aPeerNodeId)
Định cấu hình ràng buộc để giao tiếp với một điểm cuối dịch vụ Weave cụ thể.
Transport_DefaultWRMPConfig (const WRMPConfig & aWRMPConfig)
Đặt cấu hình WRMP mặc định cho bối cảnh trao đổi tạo ra từ này Binding đối tượng.
Transport_ExistingConnection ( WeaveConnection *apConnection)
Sử dụng kết nối Weave hiện có để giao tiếp với đồng nghiệp.
Transport_TCP (void)
Sử dụng TCP để giao tiếp với đồng đẳng.
Transport_UDP (void)
Sử dụng UDP để giao tiếp với đồng đẳng.
Transport_UDP_PathMTU (uint32_t aPathMTU)
Đặt MTU đường dẫn dự kiến ​​cho các gói UDP đi ngang hàng.
Transport_UDP_WRM (void)
Sử dụng giao thức Nhắn tin đáng tin cậy của Weave khi giao tiếp với đồng nghiệp.

Chức năng công cộng

ConfigureFromMessage

Configuration & ConfigureFromMessage(
  const WeaveMessageInfo *aMsgInfo,
  const Inet::IPPacketInfo *aPacketInfo
)

Định cấu hình liên kết để cho phép giao tiếp với người gửi của một tin nhắn đã nhận.

Chi tiết
Thông số
[in] aMsgInfo
Cấu trúc thông tin tin nhắn liên kết với tin nhắn đã nhận.
[in] aPacketInfo
Thông tin gói cho tin nhắn đã nhận.

DNS_Options

Configuration & DNS_Options(
  uint8_t dnsOptions
)

Khi phân giải tên máy chủ của máy ngang hàng, hãy sử dụng các tùy chọn DNS được chỉ định.

Chi tiết
Thông số
[in] dnsOptions
Một giá trị số nguyên kiểm soát cách phân giải tên máy chủ được thực hiện. Giá trị phải là một trong các giá trị từ kiểu liệt kê # :: nl :: Inet :: DNSOptions.
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

Exchange_ResponseTimeoutMsec

Configuration & Exchange_ResponseTimeoutMsec(
  uint32_t aResponseTimeoutMsec
)

Đặt thời gian chờ phản ứng mặc định cho bối cảnh trao đổi tạo ra từ này Binding đối tượng.

Chi tiết
Thông số
[in] aResponseTimeoutMsec
Thời gian phản hồi mặc định, tính bằng mili giây.
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

GetError

WEAVE_ERROR GetError(
  void
) const 

Trả lại bất kỳ lỗi đã xảy ra trong khi cấu hình Binding .

Chuẩn bị

WEAVE_ERROR PrepareBinding(
  void
)

Là quá trình chuẩn bị Binding để giao tiếp với các đồng đẳng.

Security_AppGroupKey

Configuration & Security_AppGroupKey(
  uint32_t aAppGroupGlobalId,
  uint32_t aRootKeyId,
  bool aUseRotatingKey
)

Khi giao tiếp với đồng nghiệp, hãy gửi và nhận tin nhắn được mã hóa cho một Nhóm ứng dụng Weave cụ thể.

Chi tiết
Thông số
[in] aAppGroupGlobalId
Id chung của nhóm ứng dụng mà các thư sẽ được mã hóa.
[in] aRootKeyId
Khóa gốc được sử dụng để lấy khóa mã hóa cho Nhóm ứng dụng Weave được chỉ định.
[in] aUseRotatingKey
Đúng nếu Nhóm ứng dụng Weave sử dụng các phím tin nhắn xoay.
Lợi nhuận
Một tham chiếu tới Binding đối tượng.

Security_AuthenticationMode

Configuration & Security_AuthenticationMode(
  WeaveAuthMode aAuthMode
)

Đặt chế độ xác thực được yêu cầu được sử dụng để xác thực ngang hàng.

Chi tiết
Thông số
[in] aAuthMode
Chế độ xác thực được yêu cầu.
Lợi nhuận
Một tham chiếu tới Binding đối tượng.

Security_CASESession

Configuration & Security_CASESession(
  void
)

Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận tin nhắn được mã hóa bằng khóa phiên CASE được thiết lập với nút ngang hàng.

Nếu không có phiên cần thiết, phiên này sẽ tự động được thiết lập như một phần của quá trình chuẩn bị ràng buộc.

Chi tiết
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

Security_EncryptionType

Configuration & Security_EncryptionType(
  uint8_t aEncType
)

Khi giao tiếp với đồng đẳng, hãy gửi và nhận tin nhắn được mã hóa bằng kiểu mã hóa tin nhắn được chỉ định.

Chi tiết
Thông số
[in] aEncType
Loại mã hóa tin nhắn Weave.
Lợi nhuận
Một tham chiếu tới Binding đối tượng.

Chìa khóa bảo mật

Configuration & Security_Key(
  uint32_t aKeyId
)

Khi giao tiếp với đồng nghiệp, hãy gửi và nhận tin nhắn được mã hóa bằng một khóa được chỉ định.

Chi tiết
Thông số
[in] aKeyId
Id của khóa mã hóa. Khóa được chỉ định phải phù hợp với mã hóa tin nhắn Weave.
Lợi nhuận
Một tham chiếu tới Binding đối tượng.

Security_None

Configuration & Security_None(
  void
)

Khi giao tiếp với đồng nghiệp, hãy gửi và nhận không được mã hóa (tức là

không an toàn) tin nhắn.

Chi tiết
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

Security_PASESession

Configuration & Security_PASESession(
  uint8_t aPasswordSource
)

Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận tin nhắn được mã hóa bằng khóa phiên PASE được thiết lập với nút ngang hàng.

Nếu không có phiên cần thiết, phiên này sẽ tự động được thiết lập như một phần của quá trình chuẩn bị ràng buộc.

Chi tiết
Thông số
[in] aPasswordSource
Nguồn cho mật khẩu được sử dụng trong quá trình thiết lập phiên PASE.
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  void
)

Khi giao tiếp với đồng đẳng, hãy gửi và nhận tin nhắn được mã hóa bằng khóa phiên CASE dùng chung được thiết lập với bộ định tuyến lõi Nest.

Nếu không có phiên cần thiết, phiên này sẽ tự động được thiết lập như một phần của quá trình chuẩn bị ràng buộc.

Chi tiết
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  uint64_t aRouterNodeId
)

Khi giao tiếp với đồng đẳng, hãy gửi và nhận tin nhắn được mã hóa bằng khóa phiên CASE dùng chung được thiết lập với một nút bộ định tuyến được chỉ định.

Nếu không có phiên cần thiết, phiên này sẽ tự động được thiết lập như một phần của quá trình chuẩn bị ràng buộc.

Chi tiết
Thông số
[in] aRouterNodeId
ID nút Weave của bộ định tuyến mà phiên CASE được chia sẻ sẽ được thiết lập.
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

Security_TAKESession

Configuration & Security_TAKESession()

Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận tin nhắn được mã hóa bằng khóa phiên TAKE được thiết lập với nút ngang hàng.

Nếu không có phiên cần thiết, phiên này sẽ tự động được thiết lập như một phần của quá trình chuẩn bị ràng buộc.

Chi tiết
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

TargetAddress_IP

Configuration & TargetAddress_IP(
  nl::Inet::IPAddress aPeerAddress,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

Khi giao tiếp với mạng ngang hàng, hãy sử dụng địa chỉ IP, cổng và giao diện mạng cụ thể.

Chi tiết
Thông số
[in] aPeerAddress
Địa chỉ IP cho ngang hàng
[in] aPeerPort
Cổng từ xa
[in] aInterfaceId
ID của giao diện mạng cục bộ để sử dụng cho giao tiếp
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

TargetAddress_IP

Configuration & TargetAddress_IP(
  const char *aHostName,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

Khi giao tiếp với máy ngang hàng, hãy sử dụng tên máy chủ, cổng và giao diện mạng cụ thể.

LƯU Ý: Người gọi phải đảm bảo rằng chuỗi tên máy chủ được cung cấp vẫn hợp lệ cho đến khi giai đoạn chuẩn bị liên kết hoàn tất.

Chi tiết
Thông số
[in] aHostName
Một chuỗi được kết thúc bằng NULL chứa tên máy chủ của máy ngang hàng.
[in] aPeerPort
Cổng từ xa để sử dụng khi giao tiếp với đồng nghiệp.
[in] aInterfaceId
ID của giao diện mạng cục bộ để sử dụng cho giao tiếp.
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

TargetAddress_IP

Configuration & TargetAddress_IP(
  const char *aHostName,
  size_t aHostNameLen,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

Khi giao tiếp với máy ngang hàng, hãy sử dụng tên máy chủ, cổng và giao diện mạng cụ thể.

LƯU Ý: Người gọi phải đảm bảo rằng chuỗi tên máy chủ được cung cấp vẫn hợp lệ cho đến khi giai đoạn chuẩn bị liên kết hoàn tất.

Chi tiết
Thông số
[in] aHostName
Một chuỗi chứa tên máy chủ của máy ngang hàng. Chuỗi này không cần phải được kết thúc NULL.
[in] aHostNameLen
Độ dài của chuỗi được trỏ bởi aHostName.
[in] aPeerPort
Cổng từ xa để sử dụng khi giao tiếp với đồng nghiệp.
[in] aInterfaceId
ID của giao diện mạng cục bộ để sử dụng cho giao tiếp.
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

TargetAddress_WeaveFainst

Configuration & TargetAddress_WeaveFabric(
  uint16_t aSubnetId
)

Khi giao tiếp với mạng ngang hàng, hãy sử dụng địa chỉ vải dệt được lấy từ id nút của máy ngang hàng và một mạng con được chỉ định.

Chi tiết
Thông số
[in] aSubnetId
Id mạng con được sử dụng để tạo địa chỉ vải dệt của đồng đẳng.
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

TargetAddress_WeaveService

Configuration & TargetAddress_WeaveService(
  void
)

Khi giao tiếp với máy ngang hàng, hãy sử dụng địa chỉ kết cấu dịch vụ Weave lấy từ id nút của máy ngang hàng.

Chi tiết
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

Target_NodeId

Configuration & Target_NodeId(
  uint64_t aPeerNodeId
)

Định cấu hình liên kết để giao tiếp với một id nút Weave cụ thể.

Chi tiết
Thông số
[in] aPeerNodeId
Id nút của nút ngang hàng.
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

Target_ServiceEndpoint

Configuration & Target_ServiceEndpoint(
  uint64_t aPeerNodeId
)

Định cấu hình ràng buộc để giao tiếp với một điểm cuối dịch vụ Weave cụ thể.

Nếu không được định cấu hình khác, địa chỉ ngang hàng được đặt thành địa chỉ vải dệt của điểm cuối dịch vụ.

Chi tiết
Thông số
[in] serviceEndpointId
Id nút của điểm cuối dịch vụ mà giao tiếp sẽ diễn ra.
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

Transport_DefaultWRMPConfig

Configuration & Transport_DefaultWRMPConfig(
  const WRMPConfig & aWRMPConfig
)

Đặt cấu hình WRMP mặc định cho bối cảnh trao đổi tạo ra từ này Binding đối tượng.

Chi tiết
Thông số
[in] aWRMPConfig
Tham chiếu đến cấu hình WRMP mặc định mới.
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

Transport_ExistingConnection

Configuration & Transport_ExistingConnection(
  WeaveConnection *apConnection
)

Sử dụng kết nối Weave hiện có để giao tiếp với đồng nghiệp.

LƯU Ý: Số lượng tham chiếu trên đối tượng kết nối được tăng lên khi việc chuẩn bị liên kết thành công. Do đó, ứng dụng có trách nhiệm đảm bảo đối tượng kết nối vẫn tồn tại cho đến thời điểm đó.

Chi tiết
Thông số
[in] con
Một con trỏ đến kết nối Weave hiện có.
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

Transport_TCP

Configuration & Transport_TCP(
  void
)

Sử dụng TCP để giao tiếp với đồng đẳng.

Chi tiết
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

Transport_UDP

Configuration & Transport_UDP(
  void
)

Sử dụng UDP để giao tiếp với đồng đẳng.

Chi tiết
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

Transport_UDP_PathMTU

Configuration & Transport_UDP_PathMTU(
  uint32_t aPathMTU
)

Đặt MTU đường dẫn dự kiến ​​cho các gói UDP đi ngang hàng.

Đối với một số giao thức Weave, điều này sẽ được sử dụng để điều chỉnh động kích thước trọng tải thư Weave.

Chi tiết
Thông số
[in] aPathMTU
Đường dẫn dự kiến ​​MTU cho các gói UDP đi ngang hàng.
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.

Transport_UDP_WRM

Configuration & Transport_UDP_WRM(
  void
)

Sử dụng giao thức Nhắn tin đáng tin cậy của Weave khi giao tiếp với đồng nghiệp.

Chi tiết
Lợi nhuận
Tham chiếu đến đối tượng ràng buộc.