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.

nl::Weave::WeaveConnection

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

Định nghĩa của lớp WeaveConnection.

Tóm tắt

Thuộc tính này đại diện cho kết nối TCP hoặc BLE với một nút Weave khác.

Loại công khai

@58{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Hàm này là lệnh gọi lại ứng dụng được gọi khi kết nối bị đóng.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Hàm này là lệnh gọi lại ứng dụng được gọi khi thiết lập kết nối hoàn tất.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Hàm này là lệnh gọi lại ứng dụng được gọi khi nhận được thông báo qua một kết nối Weave.
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
enum
Loại mạng của đối tượng kết nối Weave.
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err) typedef
void(*
Hàm này là lệnh gọi lại ứng dụng được gọi khi gặp lỗi khi nhận thông báo Weave.
State{
  kState_ReadyToConnect = 0,
  kState_Resolving = 1,
  kState_Connecting = 2,
  kState_EstablishingSession = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_Closed = 6
}
enum
Trạng thái của đối tượng kết nối Weave.
TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Hàm này là lệnh gọi lại ứng dụng được gọi khi nhận gói dữ liệu qua đường hầm qua kết nối Weave.

Thuộc tính công khai

AppState
void *
Con trỏ đến đối tượng trạng thái dành riêng cho ứng dụng.
AuthMode
WeaveAuthMode
[CHỈ SỬ DỤNG] Chế độ xác thực dùng để thiết lập khóa mã hóa mặc định cho kết nối.
DefaultEncryptionType
uint8_t
Loại mã hóa mặc định cho thư.
DefaultKeyId
uint16_t
Khóa mã hóa mặc định để sử dụng khi gửi tin nhắn.
MessageLayer
[CHỈ ĐỌC] Đối tượng WeaveMessagelayer được liên kết.
NetworkType
uint8_t
[CHỈ ĐỌC] Loại mạng của điểm cuối được liên kết.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[CHỈ SỬ DỤNG] Địa chỉ IP của nút ngang hàng.
PeerNodeId
uint64_t
[CHỈ SỬ DỤNG] Giá trị nhận dạng nút của ứng dụng ngang hàng.
PeerPort
uint16_t
[CHỈ SỬ DỤNG] Số cổng của nút ứng dụng ngang hàng.
ReceiveEnabled
bool
[CHỈ CHỈ ĐỌC] True nếu tính năng nhận được bật, false nếu không bật.
SendDestNodeId
bool
True nếu tất cả thư được gửi qua kết nối này phải bao gồm giá trị nhận dạng nút đích được mã hóa rõ ràng, nếu không sẽ trả về false.
SendSourceNodeId
bool
True nếu tất cả thư được gửi qua kết nối này phải bao gồm giá trị nhận dạng nút nguồn được mã hóa rõ ràng, nếu không sẽ trả về false.
State
uint8_t
[CHỈ ĐỌC] Trạng thái của đối tượng WeaveConnection.

Hàm công khai

Abort(void)
void
Thực hiện việc đóng WeaveConnection dựa trên TCP hoặc BLE, loại bỏ bất kỳ dữ liệu nào có thể đang được truyền đến hoặc đi ngang hàng.
AddRef(void)
void
Đặt tham chiếu đến đối tượng WeaveConnection.
Close(void)
Thực hiện quy trình đóng có tác dụng không chặn của WeaveConnection dựa trên TCP hoặc BLE, phân phối mọi dữ liệu đi còn lại trước khi thông báo lịch sự cho máy chủ từ xa rằng chúng ta đã đặt lại kết nối.
Close(bool suppressCloseLog)
Thực hiện quy trình đóng có tác dụng không chặn của WeaveConnection dựa trên TCP hoặc BLE, phân phối mọi dữ liệu đi còn lại trước khi thông báo lịch sự cho máy chủ từ xa rằng chúng ta đã đặt lại kết nối.
Connect(uint64_t peerNodeId)
Kết nối với một nút Weave bằng địa chỉ IP vải lấy từ giá trị nhận dạng nút đã chỉ định.
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
Kết nối với một nút Weave bằng giá trị nhận dạng nút và/hoặc địa chỉ IP.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
Kết nối với một nút Weave bằng giá trị nhận dạng nút và/hoặc địa chỉ IP trên giao diện cụ thể.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
Kết nối với một nút Weave bằng giá trị nhận dạng nút và/hoặc tên máy chủ chuỗi.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
Kết nối với một nút Weave bằng giá trị nhận dạng nút và/hoặc địa chỉ ngang hàng của chuỗi.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
Kết nối với một nút Weave bằng giá trị nhận dạng nút và/hoặc địa chỉ ngang hàng của chuỗi.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Kết nối với một nút Weave bằng giá trị nhận dạng nút và/hoặc danh sách tên máy chủ và cổng.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
Kết nối với một nút Weave bằng giá trị nhận dạng nút và/hoặc danh sách tên máy chủ và cổng.
DisableKeepAlive(void)
DisableReceive(void)
void
Tắt tính năng nhận qua WeaveConnection này.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
Cho phép nhận qua WeaveConnection này.
GetPeerAddressInfo(IPPacketInfo & addrInfo)
Lấy thông tin địa chỉ IP của ứng dụng ngang hàng.
GetPeerDescription(char *buf, size_t bufSize) const
void
Tạo một chuỗi mô tả nút ngang hàng liên kết với kết nối.
GetTCPEndPoint(void) const
TCPEndPoint *
IsIncoming(void) const
bool
LogId(void) const
uint16_t
Release(void)
void
Giảm số lượng tệp đối chiếu trên đối tượng WeaveConnection.
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Gửi tin nhắn Weave qua một kết nối đã thiết lập.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Chức năng gửi một gói đường hầm qua kết nối Weave.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Đặt thời gian chờ để kết nối thành công hoặc trả về lỗi.
SetIdleTimeout(uint32_t timeoutMS)
Đặt thời gian chờ không hoạt động trên kết nối lớp mạng cơ bản.
SetIncoming(bool val)
void
SetUserTimeout(uint32_t userTimeoutMillis)
Shutdown(void)
Thực hiện phân phối gửi dữ liệu TCP nhẹ nhàng, đảm bảo tất cả dữ liệu đi đi đã được ngăn xếp TCP của ứng dụng ngang hàng gửi và nhận.

Loại công khai

@58

 @58
Thuộc tính
kGetPeerDescription_MaxLength

Độ dài tối đa của chuỗi (bao gồm ký tự NUL) do GetPeerDescription() trả về.

Kết nối đóng

void(* ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

Hàm này là lệnh gọi lại ứng dụng được gọi khi kết nối bị đóng.

Thông tin chi tiết
Các thông số
[in] con
Con trỏ đến đối tượng WeaveConnection.
[in] conErr
WEAVE_ERROR gặp phải khi kết nối bị đóng.

Kết nối có liên quan

void(* ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

Hàm này là lệnh gọi lại ứng dụng được gọi khi thiết lập kết nối hoàn tất.

Thông tin chi tiết
Các thông số
[in] con
Con trỏ đến đối tượng WeaveConnection.
[in] conErr
WEAVE_ERROR gặp phải trong quá trình thiết lập kết nối.

Hàm Fun Nhận thức

void(* MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

Hàm này là lệnh gọi lại ứng dụng được gọi khi nhận được thông báo qua một kết nối Weave.

Thông tin chi tiết
Các thông số
[in] con
Con trỏ đến đối tượng WeaveConnection.
[in] msgInfo
Con trỏ đến cấu trúc WeaveMessageInfo chứa thông tin về thư.
[in] msgBuf
Con trỏ đến đối tượng PacketBuffer đang giữ thông báo.

Loại mạng

 NetworkType

Loại mạng của đối tượng kết nối Weave.

Thuộc tính
kNetworkType_BLE

Loại mạng BLE.

kNetworkType_IP

Loại mạng TCP/IP.

kNetworkType_Unassigned

Loại mạng chưa chỉ định.

ReceiveErrorFunct

void(* ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err)

Hàm này là lệnh gọi lại ứng dụng được gọi khi gặp lỗi khi nhận thông báo Weave.

Thông tin chi tiết
Các thông số
[in] con
Con trỏ đến đối tượng WeaveConnection.
[in] err
WEAVE_ERROR gặp phải khi nhận dữ liệu qua kết nối.

Tiểu bang

 State

Trạng thái của đối tượng kết nối Weave.

Thuộc tính
kState_Closed

Trạng thái khi kết nối bị đóng.

kState_Connected

Trạng thái khi đã kết nối.

kState_Connecting

Trạng thái khi đang cố gắng kết nối.

kState_EstablishingSession

Nêu rõ thời điểm mà một phiên bảo mật đang được thiết lập.

kState_ReadyToConnect

Trạng thái sau khi kết nối kết nối Weave.

kState_Resolving

Trạng thái khi phân giải tên DNS đang được thực hiện.

kState_SendShutdown

Trạng thái khi kết nối bị tắt.

Đường hầm nhận tin nhắn đường hầm

void(* TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

Hàm này là lệnh gọi lại ứng dụng được gọi khi nhận gói dữ liệu qua đường hầm qua kết nối Weave.

Thông tin chi tiết
Các thông số
[in] con
Con trỏ đến đối tượng WeaveConnection.
[in] msgInfo
Con trỏ đến đối tượng WeaveMessageInfo.
[in] msgBuf
Con trỏ tới đối tượng PacketBuffer chứa gói đường hầm đã nhận.

Thuộc tính công khai

AppState

void * AppState

Con trỏ đến đối tượng trạng thái dành riêng cho ứng dụng.

Chế độ xác thực

WeaveAuthMode AuthMode

[CHỈ SỬ DỤNG] Chế độ xác thực dùng để thiết lập khóa mã hóa mặc định cho kết nối.

Loại mã hóa mặc định

uint8_t DefaultEncryptionType

Loại mã hóa mặc định cho thư.

Mã khóa mặc định

uint16_t DefaultKeyId

Khóa mã hóa mặc định để sử dụng khi gửi tin nhắn.

Lớp thông báo

WeaveMessageLayer * MessageLayer

[CHỈ ĐỌC] Đối tượng WeaveMessagelayer được liên kết.

Loại mạng

uint8_t NetworkType

[CHỈ ĐỌC] Loại mạng của điểm cuối được liên kết.

Đã đóng kết nối

ConnectionClosedFunct OnConnectionClosed

Hoàn tất kết nối

ConnectionCompleteFunct OnConnectionComplete

Đã nhận tin nhắn

MessageReceiveFunct OnMessageReceived

Lỗi khi nhận

ReceiveErrorFunct OnReceiveError

OnTunneledMessageRecipientd

TunneledMsgReceiveFunct OnTunneledMessageReceived

Ứng dụng ngang hàng

IPAddress PeerAddr

[CHỈ SỬ DỤNG] Địa chỉ IP của nút ngang hàng.

Mã ứng dụng ngang hàng

uint64_t PeerNodeId

[CHỈ SỬ DỤNG] Giá trị nhận dạng nút của ứng dụng ngang hàng.

Ứng dụng ngang hàng

uint16_t PeerPort

[CHỈ SỬ DỤNG] Số cổng của nút ứng dụng ngang hàng.

Đã bật tính năng nhận

bool ReceiveEnabled

[CHỈ CHỈ ĐỌC] True nếu tính năng nhận được bật, false nếu không bật.

SendDestNodeId

bool SendDestNodeId

True nếu tất cả thư được gửi qua kết nối này phải bao gồm giá trị nhận dạng nút đích được mã hóa rõ ràng, nếu không sẽ trả về false.

SendSourceNodeId

bool SendSourceNodeId

True nếu tất cả thư được gửi qua kết nối này phải bao gồm giá trị nhận dạng nút nguồn được mã hóa rõ ràng, nếu không sẽ trả về false.

Tiểu bang

uint8_t State

[CHỈ ĐỌC] Trạng thái của đối tượng WeaveConnection.

Hàm công khai

Hủy

void Abort(
  void
)

Thực hiện việc đóng WeaveConnection dựa trên TCP hoặc BLE, loại bỏ bất kỳ dữ liệu nào có thể đang được truyền đến hoặc đi ngang hàng.

Lệnh gọi đến Bật() sẽ chấm dứt kết nối cơ bản ngay lập tức. Sau thời điểm này, đối tượng WeaveConnection không còn được dùng để giao tiếp thêm.

Việc gọi cancellation() giảm số lượng tham chiếu được liên kết với đối tượng WeaveConnection, cho dù kết nối có đang mở/đang hoạt động tại thời điểm phương thức được gọi hay không. Nếu điều này dẫn đến số lượng tham chiếu đạt đến 0, thì các tài nguyên liên kết với đối tượng kết nối sẽ được giải phóng. Khi điều này xảy ra, ứng dụng không được tương tác thêm với đối tượng.

Xem thêm:
Shutdown(), Destroy(), AddRef()Release().

Thêm tham chiếu

void AddRef(
  void
)

Đặt tham chiếu đến đối tượng WeaveConnection.

Phương thức AddRef() sẽ tăng số lượng tham chiếu liên kết với đối tượng WeaveConnection. Đối với mỗi lệnh gọi đến AddRef(), ứng dụng sẽ chịu trách nhiệm thực hiện một lệnh gọi tương ứng tới Release(), Close() hoặc Phác ký().

Đóng

WEAVE_ERROR Close(
  void
)

Thực hiện quy trình đóng có tác dụng không chặn của WeaveConnection dựa trên TCP hoặc BLE, phân phối mọi dữ liệu đi còn lại trước khi thông báo lịch sự cho máy chủ từ xa rằng chúng ta đã đặt lại kết nối.

Phương pháp này không đảm bảo rằng tất cả thư đi đều không được xác nhận ở cấp giao thức ứng dụng đều đã được ứng dụng ngang hàng nhận. Đối với cả TCP và BLE, ngăn xếp giao thức cơ bản sẽ nỗ lực hết sức để phân phối mọi dữ liệu đi đang chờ xử lý trước khi đặt lại kết nối. Đối với TCP, cần dùng Shutdown() trước Close() nếu cần xác nhận biên nhận thông báo lớp truyền tải trước khi đóng kết nối. Kết nối BLE không cung cấp giá trị Shutdown() tương đương.

Đối với các kết nối dựa trên BLE, Close() đóng WeaveConnection và trả về ngay lập tức, nhưng có thể khiến đối tượng BLEEndPoint dưới đây vẫn tồn tại cho đến khi tất cả dữ liệu đi được gửi. Đây là một tác dụng phụ của việc triển khai giao thức truyền Weave qua BLE hiện có trong Weave BleOverlay.

Sau khi Close() được gọi, đối tượng WeaveConnection không còn được dùng để liên lạc thêm.

Việc gọi Close() giảm số lượng tham chiếu được liên kết với đối tượng WeaveConnection, cho dù kết nối có đang mở/đang hoạt động tại thời điểm phương thức được gọi hay không. Nếu điều này dẫn đến số lượng tham chiếu đạt đến 0, thì các tài nguyên liên kết với đối tượng kết nối sẽ được giải phóng. Khi điều này xảy ra, ứng dụng không được tương tác thêm với đối tượng.

Thông tin chi tiết
Trả về
WEAVE_NO_ERROR vô điều kiện.
Xem thêm:
Shutdown(), Destroy(), AddRef()Release().

Đóng

WEAVE_ERROR Close(
  bool suppressCloseLog
)

Thực hiện quy trình đóng có tác dụng không chặn của WeaveConnection dựa trên TCP hoặc BLE, phân phối mọi dữ liệu đi còn lại trước khi thông báo lịch sự cho máy chủ từ xa rằng chúng ta đã đặt lại kết nối.

Phương pháp này không đảm bảo rằng tất cả thư đi đều không được xác nhận ở cấp giao thức ứng dụng đều đã được ứng dụng ngang hàng nhận. Đối với cả TCP và BLE, ngăn xếp giao thức cơ bản sẽ nỗ lực hết sức để phân phối mọi dữ liệu đi đang chờ xử lý trước khi đặt lại kết nối. Đối với TCP, cần dùng Shutdown() trước Close() nếu cần xác nhận biên nhận thông báo lớp truyền tải trước khi đóng kết nối. Kết nối BLE không cung cấp giá trị Shutdown() tương đương.

Đối với các kết nối dựa trên BLE, Close() đóng WeaveConnection và trả về ngay lập tức, nhưng có thể khiến đối tượng BLEEndPoint dưới đây vẫn tồn tại cho đến khi tất cả dữ liệu đi được gửi. Đây là một tác dụng phụ của việc triển khai giao thức truyền Weave qua BLE hiện có trong Weave BleOverlay.

Sau khi Close() được gọi, đối tượng WeaveConnection không còn được dùng để liên lạc thêm.

Việc gọi Close() giảm số lượng tham chiếu được liên kết với đối tượng WeaveConnection, cho dù kết nối có đang mở/đang hoạt động tại thời điểm phương thức được gọi hay không. Nếu điều này dẫn đến số lượng tham chiếu đạt đến 0, thì các tài nguyên liên kết với đối tượng kết nối sẽ được giải phóng. Khi điều này xảy ra, ứng dụng không được tương tác thêm với đối tượng.

Thông tin chi tiết
Các thông số
[in] suppressCloseLog
true nếu cần chặn nhật ký, false nếu không cần chặn.
Trả về
WEAVE_NO_ERROR vô điều kiện.
Xem thêm:
Shutdown(), Destroy(), AddRef()Release().

Kết nối

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

Kết nối với một nút Weave bằng địa chỉ IP vải lấy từ giá trị nhận dạng nút đã chỉ định.

Thông tin chi tiết
Các thông số
[in] peerNodeId
Giá trị nhận dạng nút của ứng dụng ngang hàng.
Giá trị trả về
WEAVE_NO_ERROR
khi bắt đầu kết nối thành công với đồng nghiệp.
WEAVE_ERROR_INCORRECT_STATE
nếu trạng thái WeaveConnection không chính xác.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
nếu chế độ xác thực đã yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu không thể suy luận địa chỉ đích từ id nút.
other
Lỗi lớp phủ do các thao tác kết nối TCPEndPoint tạo ra.

Kết nối

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort
)

Kết nối với một nút Weave bằng giá trị nhận dạng nút và/hoặc địa chỉ IP.

Thông tin chi tiết
Các thông số
[in] peerNodeId
Giá trị nhận dạng nút của ứng dụng ngang hàng, kNodeIdNotSpec ngắn hoặc 0 nếu không xác định.
[in] peerAddr
Địa chỉ IP của ứng dụng ngang hàng, IPAddress::Bất kỳ nếu không biết.
[in] peerPort
Cổng tùy chọn của ứng dụng ngang hàng, mặc định là WEAVE_PORT.
Giá trị trả về
WEAVE_NO_ERROR
khi bắt đầu kết nối thành công với đồng nghiệp.
WEAVE_ERROR_INCORRECT_STATE
nếu trạng thái WeaveConnection không chính xác.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
nếu chế độ xác thực đã yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu không thể suy luận địa chỉ đích từ id nút.
other
Lỗi lớp phủ do các thao tác kết nối TCPEndPoint tạo ra.

Kết nối

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId intf
)

Kết nối với một nút Weave bằng giá trị nhận dạng nút và/hoặc địa chỉ IP trên giao diện cụ thể.

Thông tin chi tiết
Các thông số
[in] peerNodeId
Giá trị nhận dạng nút của ứng dụng ngang hàng, kNodeIdNotSpec ngắn hoặc 0 nếu không xác định.
[in] authMode
Chế độ xác thực mong muốn cho ứng dụng ngang hàng. Chỉ hỗ trợ các chế độ CASE, PASE và Chưa xác thực.
[in] peerAddr
Địa chỉ IP của ứng dụng ngang hàng, IPAddress::Bất kỳ nếu không biết.
[in] peerPort
Cổng tùy chọn của ứng dụng ngang hàng, mặc định là WEAVE_PORT.
[in] intf
Giao diện không bắt buộc sẽ sử dụng để kết nối với nút ứng dụng ngang hàng, theo mặc định là INET_NULL_INTERFACEID.
Giá trị trả về
WEAVE_NO_ERROR
khi bắt đầu kết nối thành công với đồng nghiệp.
WEAVE_ERROR_INCORRECT_STATE
nếu trạng thái WeaveConnection không chính xác.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
nếu chế độ xác thực đã yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu không thể suy luận địa chỉ đích từ giá trị nhận dạng nút.
other
Lỗi lớp phủ do các thao tác kết nối TCPEndPoint tạo ra.

Kết nối

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t defaultPort
)

Kết nối với một nút Weave bằng giá trị nhận dạng nút và/hoặc tên máy chủ chuỗi.

Nếu được cung cấp, thì ParAddr có thể là bất kỳ giá trị nào sau đây:


:

:

[]:

Thông tin chi tiết
Các thông số
[in] peerNodeId
Giá trị nhận dạng nút của ứng dụng ngang hàng, kNodeIdNotSpec ngắn hoặc 0 nếu không xác định.
[in] authMode
Chế độ xác thực mong muốn cho ứng dụng ngang hàng. Chỉ hỗ trợ các chế độ CASE, PASE và Chưa xác thực.
[in] peerAddr
Địa chỉ hoặc tên máy chủ của ứng dụng ngang hàng dưới dạng chuỗi C kết thúc bằng NULL.
[in] defaultPort
Cổng mặc định không bắt buộc để sử dụng cho kết nối nếu không được cung cấp trong chuỗi ngang hàng.
Giá trị trả về
WEAVE_NO_ERROR
khi bắt đầu kết nối thành công với đồng nghiệp.
WEAVE_ERROR_INCORRECT_STATE
nếu trạng thái WeaveConnection không chính xác.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
nếu chế độ xác thực đã yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu không thể suy luận địa chỉ đích từ id nút.
other
Lỗi lớp phủ do các thao tác kết nối TCPEndPoint tạo ra.

Kết nối

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint16_t defaultPort
)

Kết nối với một nút Weave bằng giá trị nhận dạng nút và/hoặc địa chỉ ngang hàng của chuỗi.

Nếu được cung cấp, thì ParAddr có thể là bất kỳ giá trị nào sau đây:


:

:

[]:

Thông tin chi tiết
Các thông số
[in] peerNodeId
Giá trị nhận dạng nút của ứng dụng ngang hàng, kNodeIdNotSpec ngắn hoặc 0 nếu không xác định.
[in] authMode
Chế độ xác thực mong muốn cho ứng dụng ngang hàng. Chỉ hỗ trợ các chế độ CASE, PASE và Chưa xác thực.
[in] peerAddr
Địa chỉ hoặc tên máy chủ của ứng dụng ngang hàng dưới dạng chuỗi C không phải là giá trị kết thúc không phải là NULL.
[in] peerAddrLen
Độ dài của chuỗi ngang hàng.
[in] defaultPort
Cổng mặc định không bắt buộc để sử dụng cho kết nối nếu không được cung cấp trong chuỗi ngang hàng.
Giá trị trả về
WEAVE_NO_ERROR
khi bắt đầu kết nối thành công với đồng nghiệp.
WEAVE_ERROR_INCORRECT_STATE
nếu trạng thái WeaveConnection không chính xác.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
nếu chế độ xác thực đã yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu không thể suy luận địa chỉ đích từ id nút.
other
Lỗi lớp phủ do các thao tác kết nối TCPEndPoint tạo ra.

Kết nối

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint8_t dnsOptions,
  uint16_t defaultPort
)

Kết nối với một nút Weave bằng giá trị nhận dạng nút và/hoặc địa chỉ ngang hàng của chuỗi.

Nếu được cung cấp, thì ParAddr có thể là bất kỳ giá trị nào sau đây:


:

:

[]:

Thông tin chi tiết
Các thông số
[in] peerNodeId
Giá trị nhận dạng nút của ứng dụng ngang hàng, kNodeIdNotSpec ngắn hoặc 0 nếu không xác định.
[in] authMode
Chế độ xác thực mong muốn cho ứng dụng ngang hàng. Chỉ hỗ trợ các chế độ CASE, PASE và Chưa xác thực.
[in] peerAddr
Địa chỉ hoặc tên máy chủ của ứng dụng ngang hàng dưới dạng chuỗi C không phải là giá trị kết thúc không phải là NULL.
[in] peerAddrLen
Độ dài của chuỗi ngang hàng.
[in] dnsOptions
Giá trị số nguyên kiểm soát cách thực hiện độ phân giải tên máy chủ. Giá trị phải là OR của một hoặc nhiều giá trị từ #::nl::Inet::DNSOptions enumumation.
[in] defaultPort
Cổng mặc định không bắt buộc để sử dụng cho kết nối nếu không được cung cấp trong chuỗi ngang hàng.
Giá trị trả về
WEAVE_NO_ERROR
khi bắt đầu kết nối thành công với đồng nghiệp.
WEAVE_ERROR_INCORRECT_STATE
nếu trạng thái WeaveConnection không chính xác.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
nếu chế độ xác thực đã yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu không thể suy luận địa chỉ đích từ id nút.
other
Lỗi lớp phủ do các thao tác kết nối TCPEndPoint tạo ra.

Kết nối

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  InterfaceId intf
)

Kết nối với một nút Weave bằng giá trị nhận dạng nút và/hoặc danh sách tên máy chủ và cổng.

Thông tin chi tiết
Các thông số
[in] peerNodeId
Giá trị nhận dạng nút của ứng dụng ngang hàng.
[in] authMode
Chế độ xác thực dùng để kết nối.
[in] hostPortList
Danh sách tên máy chủ và cổng.
[in] intf
Giao diện không bắt buộc sẽ sử dụng để kết nối với nút ứng dụng ngang hàng, theo mặc định là INET_NULL_INTERFACEID.
Giá trị trả về
WEAVE_NO_ERROR
khi bắt đầu kết nối thành công với đồng nghiệp.
WEAVE_ERROR_INCORRECT_STATE
nếu trạng thái WeaveConnection không chính xác.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
nếu chế độ xác thực đã yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu không thể suy luận địa chỉ đích từ id nút.
other
Lỗi lớp phủ do các thao tác kết nối TCPEndPoint tạo ra.

Kết nối

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  uint8_t dnsOptions,
  InterfaceId intf
)

Kết nối với một nút Weave bằng giá trị nhận dạng nút và/hoặc danh sách tên máy chủ và cổng.

Thông tin chi tiết
Các thông số
[in] peerNodeId
Giá trị nhận dạng nút của ứng dụng ngang hàng.
[in] authMode
Chế độ xác thực dùng để kết nối.
[in] hostPortList
Danh sách tên máy chủ và cổng.
[in] dnsOptions
Giá trị số nguyên kiểm soát cách thực hiện độ phân giải tên máy chủ. Giá trị phải là OR của một hoặc nhiều giá trị từ #::nl::Inet::DNSOptions enumumation.
[in] intf
Giao diện không bắt buộc sẽ sử dụng để kết nối với nút ứng dụng ngang hàng, theo mặc định là INET_NULL_INTERFACEID.
Giá trị trả về
WEAVE_NO_ERROR
khi bắt đầu kết nối thành công với đồng nghiệp.
WEAVE_ERROR_INCORRECT_STATE
nếu trạng thái WeaveConnection không chính xác.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
nếu chế độ xác thực đã yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu không thể suy luận địa chỉ đích từ id nút.
other
Lỗi lớp phủ do các thao tác kết nối TCPEndPoint tạo ra.

Vô hiệu hóa

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisabledKeepAlive.

Tắt các đầu dò Keepalive trên kết nối TCP cơ bản.

Lưu ý: Phương thức này chỉ có thể được gọi trên kết nối Weave do kết nối TCP hỗ trợ. Phương thức này chỉ có thể được gọi khi kết nối ở trạng thái cho phép gửi.

Phương thức này không làm gì nếu các chức năng liên kết chưa được bật trên kết nối.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
khi tắt thành công các đầu dò Keepalive trên kết nối.
WEAVE_ERROR_NOT_IMPLEMENTED
nếu hàm này được gọi cho một điểm cuối không tương thích (ví dụ: BLE) trong lớp mạng.
WEAVE_ERROR_INCORRECT_STATE
nếu đối tượng WeaveConnection không ở trạng thái đúng để gửi thông báo.
other
Lỗi lớp lớp liên quan đến điểm cuối TCP cho phép duy trì hoạt động.

Vô hiệu hóa nhận

void DisableReceive(
  void
)

Tắt tính năng nhận qua WeaveConnection này.

Phương thức này được ứng dụng sử dụng để cho biết rằng ứng dụng chưa sẵn sàng nhận bất kỳ dữ liệu nào đến qua kết nối TCP. Để bật lại tính năng nhận, ứng dụng cần gọi EnableEnable() để cho phép WeaveConnection chuyển giao bất kỳ dữ liệu nào đã nhận bằng cách gọi các lệnh gọi lại thích hợp.

Xem thêm:
EnableEnable()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive.

Bật các đầu dò Keepalive trên kết nối TCP cơ bản.

Lưu ý: – Bạn chỉ có thể gọi phương thức này trên kết nối Weave có kết nối TCP. – Phương thức này chỉ có thể được gọi khi kết nối ở trạng thái cho phép gửi.

Thông tin chi tiết
Các thông số
[in] interval
Khoảng thời gian (tính bằng giây) giữa các lần thăm dò duy trì hoạt động. Giá trị này cũng kiểm soát thời gian giữa gói dữ liệu cuối cùng được gửi đến quá trình truyền dữ liệu thăm dò đầu tiên.
[in] timeoutCount
Số đầu dò tối đa không xác nhận trước khi kết nối được coi là không thành công.

– Phương thức này có thể được gọi nhiều lần để điều chỉnh khoảng thời gian duy trì hoặc số thời gian chờ.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
khi bật thành công các đầu dò Keepalive trên kết nối.
WEAVE_ERROR_NOT_IMPLEMENTED
nếu hàm này được gọi cho một điểm cuối không tương thích (ví dụ: BLE) trong lớp mạng.
WEAVE_ERROR_INCORRECT_STATE
nếu đối tượng WeaveConnection không ở trạng thái đúng để gửi thông báo.
other
Lỗi lớp lớp liên quan đến điểm cuối TCP cho phép duy trì hoạt động.

Enable Nhận

void EnableReceive(
  void
)

Cho phép nhận qua WeaveConnection này.

Phương thức này được ứng dụng sử dụng để chỉ báo cho đối tượng WeaveConnection rằng ứng dụng đã sẵn sàng nhận bất kỳ dữ liệu nào đến qua kết nối TCP.

Xem thêm:
VôRecognize()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Lấy thông tin địa chỉ IP của ứng dụng ngang hàng.

Thông tin chi tiết
Các thông số
[out] addrInfo
Tham chiếu đến đối tượng IPPacketInfo.
Giá trị trả về
WEAVE_NO_ERROR
Thành công!
WEAVE_ERROR_NOT_IMPLEMENTED
Nếu hàm này được gọi cho một điểm cuối không tương thích (ví dụ: BLE) trong lớp mạng.

GetMô tả

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

Tạo một chuỗi mô tả nút ngang hàng liên kết với kết nối.

Thông tin chi tiết
Các thông số
[in] buf
Con trỏ đến một vùng đệm mà chuỗi sẽ được ghi vào. Vùng đệm được cung cấp tối thiểu phải lớn bằng kGetPeerDescription_MaxLength. Nếu có vùng đệm nhỏ hơn, chuỗi sẽ bị cắt bớt để vừa với bộ đệm. Kết quả sẽ bao gồm một ký tự chấm dứt NUL trong tất cả các trường hợp.
[in] bufSize
Kích thước của bộ đệm tính bằng buf.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

Đang đến

bool IsIncoming(
  void
) const 

Mã nhật ký

uint16_t LogId(
  void
) const 

Phát hành

void Release(
  void
)

Giảm số lượng tệp đối chiếu trên đối tượng WeaveConnection.

Phương thức Release() giảm số tham chiếu được liên kết với đối tượng WeaveConnection. Nếu điều này dẫn đến số tham chiếu đạt đến 0, thì kết nối sẽ bị đóng và đối tượng kết nối sẽ được giải phóng. Khi điều này xảy ra, ứng dụng không được tương tác thêm với đối tượng.

Đặt lại thời gian chờ người dùng

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserSession.

Đặt lại tuỳ chọn cổng thời gian chờ người dùng TCP về mặc định của hệ thống.

Lưu ý: – Bạn chỉ có thể gọi phương thức này trên kết nối Weave có kết nối TCP. – Phương thức này chỉ có thể được gọi khi kết nối ở trạng thái cho phép gửi.

– Phương thức này không thực hiện thao tác nào nếu thời gian chờ của người dùng chưa được đặt trên kết nối.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
khi đặt lại thành công thời gian chờ người dùng TCP trên kết nối.
WEAVE_ERROR_NOT_IMPLEMENTED
nếu hàm này được gọi cho một điểm cuối không tương thích (ví dụ: BLE) trong lớp mạng.
WEAVE_ERROR_INCORRECT_STATE
nếu đối tượng WeaveConnection không ở trạng thái đúng để gửi thông báo.
other
Lỗi thông báo lớp liên quan đến việc đặt lại điểm cuối TCP của thời gian chờ người dùng TCP.

Gửi tin nhắn

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Gửi tin nhắn Weave qua một kết nối đã thiết lập.

Thông tin chi tiết
Các thông số
[in] msgInfo
Con trỏ đến đối tượng WeaveMessageInfo.
[in] msgBuf
Con trỏ đến đối tượng PacketBuffer đang giữ gói để gửi.
Giá trị trả về
WEAVE_NO_ERROR
khi gửi thông báo xuống lớp mạng.
WEAVE_ERROR_INCORRECT_STATE
nếu đối tượng WeaveConnection không ở trạng thái đúng để gửi thông báo.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
nếu không nhận dạng được nút đích.
WEAVE_ERROR_SENDING_BLOCKED
nếu tin nhắn quá dài, không thể gửi được.
other
Lỗi lớp lớp liên quan đến hoạt động gửi điểm cuối cụ thể.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Chức năng gửi một gói đường hầm qua kết nối Weave.

Gửi tin nhắn Weave dưới đường hầm qua một kết nối đã thiết lập.

Thông tin chi tiết
Các thông số
[in] msgInfo
Con trỏ đến đối tượng WeaveMessageInfo.
[in] msgBuf
Con trỏ đến đối tượng PacketBuffer đang giữ gói để gửi.
Giá trị trả về
WEAVE_NO_ERROR
khi gửi thông báo xuống lớp mạng.
WEAVE_ERROR_INCORRECT_STATE
nếu đối tượng WeaveConnection không ở trạng thái đúng để gửi thông báo.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
nếu không nhận dạng được nút đích.
WEAVE_ERROR_SENDING_BLOCKED
nếu tin nhắn quá dài, không thể gửi được.
other
Lỗi lớp lớp liên quan đến hoạt động gửi điểm cuối cụ thể.

Đặt Thời gian chờ của Connect

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Đặt thời gian chờ để kết nối thành công hoặc trả về lỗi.

Thông tin chi tiết
Các thông số
[in] connTimeoutMsecs

Đặt thời gian chờ đã đặt

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

Đặt thời gian chờ không hoạt động trên kết nối lớp mạng cơ bản.

Thông tin chi tiết
Các thông số
[in] timeoutMS
thời gian chờ tính bằng mili giây.
Giá trị trả về
WEAVE_NO_ERROR
khi đặt thành công thời gian chờ không hoạt động cho kết nối.
WEAVE_ERROR_INCORRECT_STATE
nếu đối tượng WeaveConnection không ở trạng thái đúng để nhận thông báo.

Đang đến

void SetIncoming(
  bool val
)

Đặt thời gian chờ của người dùng

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout.

Đặt tùy chọn cổng chờ thời gian chờ của người dùng TCP.

Khi giá trị này lớn hơn 0, giá trị này chỉ định khoảng thời gian tối đa tính bằng mili giây mà dữ liệu được truyền có thể vẫn chưa được công nhận trước khi TCP buộc phải đóng kết nối tương ứng. Nếu giá trị tùy chọn được chỉ định là 0, TCP sẽ sử dụng giá trị mặc định của hệ thống. Hãy xem RFC 5482 để biết thêm chi tiết.

Thông tin chi tiết
Các thông số
[in] userTimeoutMillis
Giá trị thời gian chờ người dùng Tcp tính bằng mili giây.

Lưu ý: – Bạn chỉ có thể gọi phương thức này trên kết nối Weave có kết nối TCP. – Phương thức này chỉ có thể được gọi khi kết nối ở trạng thái cho phép gửi.

–Phương thức này có thể được gọi nhiều lần để điều chỉnh thời gian chờ của người dùng TCP.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
khi cài đặt thành công thời gian chờ người dùng TCP trên kết nối.
WEAVE_ERROR_NOT_IMPLEMENTED
nếu hàm này được gọi cho một điểm cuối không tương thích (ví dụ: BLE) trong lớp mạng.
WEAVE_ERROR_INCORRECT_STATE
nếu đối tượng WeaveConnection không ở trạng thái đúng để gửi thông báo.
other
Lỗi lớp phủ liên quan đến cài đặt điểm cuối TCP của thời gian chờ người dùng TCP.

Tắt

WEAVE_ERROR Shutdown(
  void
)

Thực hiện phân phối gửi dữ liệu TCP nhẹ nhàng, đảm bảo tất cả dữ liệu đi đi đã được ngăn xếp TCP của ứng dụng ngang hàng gửi và nhận.

Với hầu hết (nhưng không phải tất cả) quá trình triển khai TCP, việc nhận được lệnh gửi đi sẽ khiến máy chủ từ xa tắt cả hai phía của kết nối, dẫn đến việc đóng kết nối. Lệnh gọi tiếp theo tới Close() sẽ chấm dứt WeaveConnection.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
khi tắt kết nối tcp thành công.
WEAVE_ERROR_NOT_IMPLEMENTED
nếu hàm này được gọi cho một điểm cuối không tương thích (ví dụ: BLE) trong lớp mạng.
WEAVE_ERROR_INCORRECT_STATE
nếu đối tượng WeaveConnection không ở trạng thái đúng trước khi bắt đầu tắt.
other
Lỗi lớp phủ liên quan đến hoạt động tắt điểm cuối cụ thể.
Xem thêm:
Close()Destroy().