nl::Weave::Binding::Configuration

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

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

Tóm tắt

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

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

Hàm công khai

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 thư đã nhận.
DNS_Options(uint8_t dnsOptions)
Khi phân giải tên máy chủ của ứng dụng ngang hàng, hãy sử dụng các tuỳ chọn DNS được chỉ định.
Exchange_ResponseTimeoutMsec(uint32_t aResponseTimeoutMsec)
Đặt thời gian chờ phản hồi mặc định cho các ngữ cảnh trao đổi được tạo từ đối tượng Liên kết này.
GetError(void) const
Trả về mọi lỗi xảy ra khi định cấu hình Binding.
PrepareBinding(void)
Là quá trình chuẩn bị Ràng buộc khi giao tiếp với đồng nghiệp.
Security_AppGroupKey(uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận thư được mã hoá cho một Nhóm ứng dụng Weave được chỉ định.
Security_AuthenticationMode(WeaveAuthMode aAuthMode)
Thiết lập chế độ xác thực được yêu cầu dùng để xác thực ứng dụng 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 thư được mã hoá bằng khoá phiên CASE được thiết lập bằng nút ngang hàng.
Security_EncryptionType(uint8_t aEncType)
Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận thư được mã hoá bằng loại mã hoá thư đã chỉ định.
Security_Key(uint32_t aKeyId)
Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận thư được mã hoá bằng khoá được chỉ định.
Security_None(void)
Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận dữ liệu mà không mã hoá (ví dụ:
Security_PASESession(uint8_t aPasswordSource)
Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận thư được mã hoá bằng khoá phiên PASE được thiết lập bằng nút ngang hàng.
Security_SharedCASESession(void)
Khi giao tiếp với thiết bị ngang hàng, hãy gửi và nhận tin nhắn được mã hoá bằng khoá 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 thiết bị ngang hàng, hãy gửi và nhận thông báo được mã hoá bằng khoá 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 thư được mã hoá bằng khoá phiên Take được thiết lập bằng nút ứng dụng ngang hàng.
TargetAddress_IP(nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId)
Khi giao tiếp với ứng dụ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 ứng dụng 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 ứng dụng 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 ứng dụng ngang hàng, hãy sử dụng địa chỉ kết nối Weave bắt nguồn từ mã nhận dạng nút của ứng dụng ngang hàng và một mạng con được chỉ định.
TargetAddress_WeaveService(void)
Khi giao tiếp với ứng dụng ngang hàng, hãy sử dụng địa chỉ kết cấu dịch vụ Weave bắt nguồn từ mã nhận dạng nút của ứng dụng ngang hàng.
Target_NodeId(uint64_t aPeerNodeId)
Định cấu hình liên kết để giao tiếp với một mã nút Weave cụ thể.
Target_ServiceEndpoint(uint64_t aPeerNodeId)
Định cấu hình liên kết để 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 các ngữ cảnh trao đổi được tạo từ đối tượng Binding này.
Transport_ExistingConnection(WeaveConnection *apConnection)
Sử dụng kết nối Weave hiện có để giao tiếp với ứng dụng ngang hàng.
Transport_TCP(void)
Sử dụng TCP để giao tiếp với ứng dụng ngang hàng.
Transport_UDP(void)
Sử dụng UDP để giao tiếp với ứng dụng ngang hàng.
Transport_UDP_PathMTU(uint32_t aPathMTU)
Thiết lập MTU đường dẫn dự kiến cho các gói UDP truyền đến mạng ngang hàng.
Transport_UDP_WRM(void)
Sử dụng giao thức Weave đáng tin cậy khi giao tiếp với ứng dụng ngang hàng.

Hàm công khai

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 thư đã nhận.

Thông tin chi tiết
Các tham số
[in] aMsgInfo
Cấu trúc thông tin của tin nhắn được liên kết với tin nhắn đã nhận.
[in] aPacketInfo
Thông tin về gói của thư đã nhận.

DNS_Options

Configuration & DNS_Options(
  uint8_t dnsOptions
)

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

Thông tin chi tiết
Các tham số
[in] dnsOptions
Một giá trị số nguyên kiểm soát cách thực hiện quá trình phân giải tên máy chủ lưu trữ. Giá trị phải là một trong các giá trị từ bảng liệt kê #::nl::Inet::DNSOptions.
Trả về
Tham chiếu đến đối tượng liên kết.

Exchange_ResponseTimeoutMsec

Configuration & Exchange_ResponseTimeoutMsec(
  uint32_t aResponseTimeoutMsec
)

Đặt thời gian chờ phản hồi mặc định cho các ngữ cảnh trao đổi được tạo từ đối tượng Liên kết này.

Thông tin chi tiết
Các tham số
[in] aResponseTimeoutMsec
Thời gian phản hồi mặc định, tính bằng mili giây.
Trả về
Tham chiếu đến đối tượng liên kết.

GetError

WEAVE_ERROR GetError(
  void
) const 

Trả về mọi lỗi xảy ra khi định cấu hình Binding.

PrepareBinding

WEAVE_ERROR PrepareBinding(
  void
)

Là quá trình chuẩn bị Ràng buộc khi giao tiếp với đồng nghiệp.

Security_AppGroupKey

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

Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận thư được mã hoá cho một Nhóm ứng dụng Weave được chỉ định.

Thông tin chi tiết
Các tham số
[in] aAppGroupGlobalId
Mã nhận dạng chung của nhóm ứng dụng mà thư sẽ được mã hoá.
[in] aRootKeyId
Khoá gốc dùng để lấy khoá mã hoá 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 thông báo xoay.
Trả về
Tham chiếu đến đối tượng Binding.

Security_AuthenticationMode

Configuration & Security_AuthenticationMode(
  WeaveAuthMode aAuthMode
)

Thiết lập chế độ xác thực được yêu cầu dùng để xác thực ứng dụng ngang hàng.

Thông tin chi tiết
Các tham số
[in] aAuthMode
Chế độ xác thực được yêu cầu.
Trả về
Tham chiếu đến đối tượng Binding.

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 thư được mã hoá bằng khoá phiên CASE được thiết lập bằng nút ngang hàng.

Nếu phiên cần thiết không có sẵn, phiên này sẽ được tự động thiết lập trong quá trình chuẩn bị liên kết.

Thông tin chi tiết
Trả về
Tham chiếu đến đối tượng liên kết.

Security_EncryptionType

Configuration & Security_EncryptionType(
  uint8_t aEncType
)

Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận thư được mã hoá bằng loại mã hoá thư đã chỉ định.

Thông tin chi tiết
Các tham số
[in] aEncType
Loại mã hoá thư Weave.
Trả về
Tham chiếu đến đối tượng Binding.

Security_Key

Configuration & Security_Key(
  uint32_t aKeyId
)

Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận thư được mã hoá bằng khoá được chỉ định.

Thông tin chi tiết
Các tham số
[in] aKeyId
Mã của khoá mã hoá. Khoá được chỉ định phải phù hợp với chế độ mã hoá thư Weave.
Trả về
Tham chiếu đến đối tượng Binding.

Security_None

Configuration & Security_None(
  void
)

Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận dữ liệu mà không mã hoá (ví dụ:

không được bảo mật).

Thông tin chi tiết
Trả về
Tham chiếu đến đối tượng liên kết.

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 thư được mã hoá bằng khoá phiên PASE được thiết lập bằng nút ngang hàng.

Nếu phiên cần thiết không có sẵn, phiên này sẽ được tự động thiết lập trong quá trình chuẩn bị liên kết.

Thông tin chi tiết
Các tham số
[in] aPasswordSource
Nguồn cho mật khẩu sẽ được sử dụng trong quá trình thiết lập phiên PASE.
Trả về
Tham chiếu đến đối tượng liên kết.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  void
)

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

Nếu phiên cần thiết không có sẵn, phiên này sẽ được tự động thiết lập trong quá trình chuẩn bị liên kết.

Thông tin chi tiết
Trả về
Tham chiếu đến đối tượng liên kết.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  uint64_t aRouterNodeId
)

Khi giao tiếp với thiết bị ngang hàng, hãy gửi và nhận thông báo được mã hoá bằng khoá 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 phiên cần thiết không có sẵn, phiên này sẽ được tự động thiết lập trong quá trình chuẩn bị liên kết.

Thông tin chi tiết
Các tham số
[in] aRouterNodeId
Mã nhận dạng nút Weave của bộ định tuyến cần thiết lập phiên CASE dùng chung.
Trả về
Tham chiếu đến đối tượng liên kết.

Security_TAKESession

Configuration & Security_TAKESession()

Khi giao tiếp với ứng dụng ngang hàng, hãy gửi và nhận thư được mã hoá bằng khoá phiên Take được thiết lập bằng nút ứng dụng ngang hàng.

Nếu phiên cần thiết không có sẵn, phiên này sẽ được tự động thiết lập trong quá trình chuẩn bị liên kết.

Thông tin chi tiết
Trả về
Tham chiếu đến đối tượng liên kết.

TargetAddress_IP

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

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

Thông tin chi tiết
Các tham số
[in] aPeerAddress
Địa chỉ IP của ứng dụng ngang hàng
[in] aPeerPort
Cổng từ xa
[in] aInterfaceId
Mã giao diện mạng cục bộ để dùng cho hoạt động giao tiếp
Trả về
Tham chiếu đến đối tượng liên kết.

TargetAddress_IP

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

Khi giao tiếp với ứng dụng 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 Ý: Phương thức gọi phải đảm bảo rằng chuỗi tên máy chủ lưu trữ đượ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.

Thông tin chi tiết
Các tham số
[in] aHostName
Một chuỗi kết thúc bằng NULL chứa tên máy chủ của ứng dụng ngang hàng.
[in] aPeerPort
Cổng từ xa để sử dụng khi giao tiếp với ứng dụng ngang hàng.
[in] aInterfaceId
Mã giao diện mạng cục bộ để dùng cho hoạt động giao tiếp.
Trả về
Tham chiếu đến đối tượng liên kết.

TargetAddress_IP

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

Khi giao tiếp với ứng dụng 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 Ý: Phương thức gọi phải đảm bảo rằng chuỗi tên máy chủ lưu trữ đượ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.

Thông tin chi tiết
Các tham số
[in] aHostName
Một chuỗi ký tự chứa tên máy chủ của ứng dụng ngang hàng. Chuỗi này không cần phải là giá trị NULL.
[in] aHostNameLen
Độ dài của chuỗi được trỏ đến bởi aHostName.
[in] aPeerPort
Cổng từ xa để sử dụng khi giao tiếp với ứng dụng ngang hàng.
[in] aInterfaceId
Mã giao diện mạng cục bộ để dùng cho hoạt động giao tiếp.
Trả về
Tham chiếu đến đối tượng liên kết.

TargetAddress_WeaveFabric

Configuration & TargetAddress_WeaveFabric(
  uint16_t aSubnetId
)

Khi giao tiếp với ứng dụng ngang hàng, hãy sử dụng địa chỉ kết nối Weave bắt nguồn từ mã nhận dạng nút của ứng dụng ngang hàng và một mạng con được chỉ định.

Thông tin chi tiết
Các tham số
[in] aSubnetId
Id mạng con được sử dụng để tạo địa chỉ kết nối Weave của kết nối ngang hàng.
Trả về
Tham chiếu đến đối tượng liên kết.

TargetAddress_WeaveService

Configuration & TargetAddress_WeaveService(
  void
)

Khi giao tiếp với ứng dụng ngang hàng, hãy sử dụng địa chỉ kết cấu dịch vụ Weave bắt nguồn từ mã nhận dạng nút của ứng dụng ngang hàng.

Thông tin chi tiết
Trả về
Tham chiếu đến đối tượng liên kết.

Target_NodeId

Configuration & Target_NodeId(
  uint64_t aPeerNodeId
)

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

Thông tin chi tiết
Các tham số
[in] aPeerNodeId
Mã nút của nút ngang hàng.
Trả về
Tham chiếu đến đối tượng liên kết.

Target_ServiceEndpoint

Configuration & Target_ServiceEndpoint(
  uint64_t aPeerNodeId
)

Định cấu hình liên kết để 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 theo cách khác, địa chỉ ngang hàng sẽ được đặt thành địa chỉ Weave Fabric của điểm cuối dịch vụ.

Thông tin chi tiết
Các tham số
[in] serviceEndpointId
Mã nhận dạng nút của điểm cuối dịch vụ sẽ diễn ra hoạt động giao tiếp.
Trả về
Tham chiếu đến đối tượng liên kết.

Transport_DefaultWRMPConfig

Configuration & Transport_DefaultWRMPConfig(
  const WRMPConfig & aWRMPConfig
)

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

Thông tin chi tiết
Các tham số
[in] aWRMPConfig
Nội dung tham chiếu đến cấu hình WRMP mặc định mới.
Trả về
Tham chiếu đến đối tượng liên kết.

Transport_ExistingConnection

Configuration & Transport_ExistingConnection(
  WeaveConnection *apConnection
)

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

LƯU Ý: Số lượng tham chiếu trên đối tượng kết nối sẽ tăng lên khi việc chuẩn bị liên kết thành công. Do đó, ứng dụng chịu 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 đó.

Thông tin chi tiết
Các tham số
[in] con
Con trỏ đến kết nối Weave hiện có.
Trả về
Tham chiếu đến đối tượng liên kết.

Transport_TCP

Configuration & Transport_TCP(
  void
)

Sử dụng TCP để giao tiếp với ứng dụng ngang hàng.

Thông tin chi tiết
Trả về
Tham chiếu đến đối tượng liên kết.

Transport_UDP

Configuration & Transport_UDP(
  void
)

Sử dụng UDP để giao tiếp với ứng dụng ngang hàng.

Thông tin chi tiết
Trả về
Tham chiếu đến đối tượng liên kết.

Transport_UDP_PathMTU

Configuration & Transport_UDP_PathMTU(
  uint32_t aPathMTU
)

Thiết lập MTU đường dẫn dự kiến cho các gói UDP truyền đến mạng ngang hàng.

Đối với một số giao thức Weave, giao thức này sẽ được dùng để điều chỉnh linh động kích thước tải trọng thông báo của Weave.

Thông tin chi tiết
Các tham số
[in] aPathMTU
MTU đường dẫn dự kiến cho các gói UDP truyền đến mạng ngang hàng.
Trả về
Tham chiếu đến đối tượng liên kết.

Transport_UDP_WRM

Configuration & Transport_UDP_WRM(
  void
)

Sử dụng giao thức Weave đáng tin cậy khi giao tiếp với ứng dụng ngang hàng.

Thông tin chi tiết
Trả về
Tham chiếu đến đối tượng liên kết.