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.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Dệt :: WeaveConnection

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

Định nghĩa của lớp Kết nối dệt.

Tóm lược

Nó đại diện cho một kết nối TCP hoặc BLE tới một nút Weave khác.

Cá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(*
Chức năng này là lệnh gọi lại của ứ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(*
Chức năng này là lệnh gọi lại của ứng dụng được gọi khi nhận được tin nhắn qua 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(*
Chức năng này là lệnh gọi lại ứng dụng được gọi khi gặp lỗi khi nhận được 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
Đối tượng kết nối State of the Weave.
TunneledMsgReceiveFunct )(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Hàm này là lệnh gọi lại của ứng dụng được gọi khi nhận được gói dữ liệu Tunneled qua kết nối Weave.

Thuộc tính công cộng

AppState
void *
Một con trỏ đến đối tượng trạng thái dành riêng cho ứng dụng.
AuthMode
WeaveAuthMode
[CHỈ ĐỌC] Chế độ xác thực được sử dụng để thiết lập các 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 tin nhắn.
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Ỉ ĐỌC] Địa chỉ IP của nút ngang hàng.
PeerNodeId
uint64_t
[CHỈ ĐỌC] Số nhận dạng nút của ứng dụng ngang hàng.
PeerPort
uint16_t
[CHỈ ĐỌC] Số cổng của nút ngang hàng.
ReceiveEnabled
bool
[CHỈ ĐỌC] Đúng nếu tính năng nhận được bật, nếu không thì sai.
SendDestNodeId
bool
Đúng nếu tất cả các tin nhắn được gửi qua kết nối này phải bao gồm một số nhận dạng nút đích được mã hóa rõ ràng, ngược lại là sai.
SendSourceNodeId
bool
Đúng nếu tất cả các thư được gửi qua kết nối này phải bao gồm một mã nhận dạng nút nguồn được mã hóa rõ ràng, ngược lại là sai.
State
uint8_t
[CHỈ ĐỌC] Trạng thái của đối tượng WeaveConnection .

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

Abort (void)
void
Thực hiện việc đóng không duyên dáng của WeaveConnection dựa trên TCP hoặc BLE, loại bỏ bất kỳ dữ liệu nào có thể đang bay đến hoặc từ máy ngang hàng.
AddRef (void)
void
Đặt trước một tham chiếu đến đối tượng WeaveConnection .
Close (void)
Thực hiện đóng duyên dáng không chặn kết nối WeaveConnection dựa trên TCP hoặc BLE, cung cấp mọi dữ liệu gửi đ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 tôi đã đặt lại kết nối.
Close (bool suppressCloseLog)
Thực hiện đóng duyên dáng không chặn kết nối WeaveConnection dựa trên TCP hoặc BLE, cung cấp mọi dữ liệu gửi đ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 tôi đã đặt lại kết nối.
Connect (uint64_t peerNodeId)
Kết nối với nút Weave bằng địa chỉ IP vải lấy từ mã nhận dạng nút được chỉ định.
Connect (uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
Kết nối với nút Weave bằng số 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 nút Weave bằng số nhận dạng nút và / hoặc địa chỉ IP trên một giao diện cụ thể.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
Kết nối với nút Weave bằng số 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 nút Weave bằng cách sử dụng mã nhận dạng nút và / hoặc địa chỉ ngang hàng 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 nút Weave bằng cách sử dụng số nhận dạng nút và / hoặc địa chỉ ngang hàng chuỗi.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Kết nối với nút Weave bằng số 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 nút Weave bằng số 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 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)
Nhận thông tin địa chỉ IP của máy ngang hàng.
GetPeerDescription (char *buf, size_t bufSize) const
void
Xây dựng một chuỗi mô tả nút ngang hàng được 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 tham chiếu trên đối tượng WeaveConnection .
ResetUserTimeout (void)
SendMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Gửi tin nhắn Weave qua kết nối đã thiết lập.
SendTunneledMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Chức năng gửi gói Tunneled 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ả lại 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 bên dưới.
SetIncoming (bool val)
void
SetUserTimeout (uint32_t userTimeoutMillis)
Shutdown (void)
Thực hiện tắt gửi TCP duyên dáng, đảm bảo tất cả dữ liệu gửi đi đã được gửi và nhận bởi ngăn xếp TCP ngang hàng.

Các loại công khai

@ 58

 @58
Tính chất
kGetPeerDescription_MaxLength

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

ConnectionClosedFunct

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.

Chi tiết
Thông số
[in] con
Một con trỏ đến đối tượng WeaveConnection .
[in] conErr
WEAVE_ERROR gặp phải khi kết nối bị đóng.

ConnectionCompleteFunct

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

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

Chi tiết
Thông số
[in] con
Một 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.

MessageReceiveFunct

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

Chức năng này là lệnh gọi lại của ứng dụng được gọi khi nhận được tin nhắn qua kết nối Weave.

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

Dạng kết nối

 NetworkType

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

Tính chất
kNetworkType_BLE

Loại mạng BLE.

kNetworkType_IP

Loại mạng TCP / IP.

kNetworkType_Unassigned

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

GetErrorFunct

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

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

Chi tiết
Thông số
[in] con
Một 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

Đối tượng kết nối State of the Weave.

Tính chất
kState_Closed

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

kState_Connected

Trạng thái khi kết nối đã được thiết lập.

kState_Connecting

Trạng thái khi kết nối đang được thử.

kState_EstablishingSession

Trạng thái khi một phiên bảo mật đang được thiết lập.

kState_ReadyToConnect

Trạng thái sau khi khởi tạo 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 đang bị tắt.

TunneledMsgReceiveFunct

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 được gói dữ liệu Tunneled qua kết nối Weave.

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

Thuộc tính công cộng

AppState

void * AppState

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

AuthMode

WeaveAuthMode AuthMode

[CHỈ ĐỌC] Chế độ xác thực được sử dụng để thiết lập các khóa mã hóa mặc định cho kết nối.

DefaultEncryptionType

uint8_t DefaultEncryptionType

Loại mã hóa mặc định cho tin nhắn.

DefaultKeyId

uint16_t DefaultKeyId

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

MessageLayer

WeaveMessageLayer * MessageLayer

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

Dạng kết nối

uint8_t NetworkType

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

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceive

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageRenition

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[CHỈ ĐỌC] Địa chỉ IP của nút ngang hàng.

PeerNodeId

uint64_t PeerNodeId

[CHỈ ĐỌC] Định danh nút của ứng dụng ngang hàng.

PeerPort

uint16_t PeerPort

[CHỈ ĐỌC] Số cổng của nút ngang hàng.

GetEnabled

bool ReceiveEnabled

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

SendDestNodeId

bool SendDestNodeId

Đúng nếu tất cả các tin nhắn được gửi qua kết nối này phải bao gồm một số nhận dạng nút đích được mã hóa rõ ràng, ngược lại là sai.

SendSourceNodeId

bool SendSourceNodeId

Đúng nếu tất cả các tin nhắn được gửi qua kết nối này phải bao gồm một mã nhận dạng nút nguồn được mã hóa rõ ràng, ngược lại là false.

Tiểu bang

uint8_t State

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

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

Huỷ bỏ

void Abort(
  void
)

Thực hiện việc đóng không duyên dáng của WeaveConnection dựa trên TCP hoặc BLE, loại bỏ bất kỳ dữ liệu nào có thể đang bay đến hoặc từ máy ngang hàng.

Một lệnh gọi đến Abort () ngay lập tức chấm dứt kết nối cơ bản. Sau thời điểm này, đối tượng WeaveConnection không còn có thể được sử dụng để liên lạc thêm.

Việc gọi Abort () làm 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ó mở / hoạt động hay không tại thời điểm phương thức được gọi. Nếu điều này dẫn đến số lượng tham chiếu bằng 0, các tài nguyên liên quan đến đố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 có thêm tương tác nào với đối tượng.

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

AddRef

void AddRef(
  void
)

Đặt trước một tham chiếu đến đối tượng WeaveConnection .

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

Đóng

WEAVE_ERROR Close(
  void
)

Thực hiện đóng duyên dáng không chặn kết nối WeaveConnection dựa trên TCP hoặc BLE, cung cấp mọi dữ liệu gửi đ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 tôi đã đặt lại kết nối.

Phương pháp này không đảm bảo chắc chắn rằng bất kỳ thông báo gửi đi nào không được thừa nhận ở cấp giao thức ứng dụng đã được nhận bởi đồng đẳng từ xa. Đối với cả TCP và BLE, ngăn xếp giao thức bên dưới sẽ cố gắng hết sức để cung cấp mọi dữ liệu gửi đi đang chờ xử lý trước khi đặt lại kết nối. Đối với TCP, Shutdown () nên được sử dụng trước Close () nếu yêu cầu xác nhận nhận thông báo lớp truyền tải trước khi đóng kết nối. Các kết nối BLE không cung cấp tính năng 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 cơ bản kéo dài cho đến khi tất cả dữ liệu đi đã được gửi đi. Đây là một tác dụng phụ của việc triển khai giao thức truyền tải Weave over BLE hiện có trong Weave BleLayer.

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

Việc gọi Close () làm 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ó mở / hoạt động hay không tại thời điểm phương thức được gọi. Nếu điều này dẫn đến số lượng tham chiếu bằng không, các tài nguyên được 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 phải không có thêm tương tác nào với đối tượng.

Chi tiết
Lợi nhuận
WEAVE_NO_ERROR vô điều kiện.
Xem thêm:
Shutdown () , Abort () , AddRef ()Release () .

Đóng

WEAVE_ERROR Close(
  bool suppressCloseLog
)

Thực hiện đóng duyên dáng không chặn kết nối WeaveConnection dựa trên TCP hoặc BLE, cung cấp mọi dữ liệu gửi đ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 tôi đã đặt lại kết nối.

Phương pháp này không đảm bảo chắc chắn rằng bất kỳ thông báo gửi đi nào không được thừa nhận ở cấp giao thức ứng dụng đã được nhận bởi đồng đẳng từ xa. Đối với cả TCP và BLE, ngăn xếp giao thức cơ bản sẽ cố gắng hết sức để cung cấp mọi dữ liệu gửi đi đang chờ xử lý trước khi đặt lại kết nối. Đối với TCP, Shutdown () nên được sử dụng trước Close () nếu yêu cầu xác nhận nhận thông báo lớp truyền tải trước khi đóng kết nối. Các kết nối BLE không cung cấp tính năng 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 cơ bản kéo dài cho đến khi tất cả dữ liệu đi đã được gửi đi. Đây là một tác dụng phụ của việc triển khai giao thức truyền tải Weave over BLE hiện có trong Weave BleLayer.

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

Việc gọi Close () làm 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ó mở / hoạt động hay không tại thời điểm phương thức được gọi. Nếu điều này dẫn đến số lượng tham chiếu bằng không, các tài nguyên được 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 có thêm tương tác nào với đối tượng.

Chi tiết
Thông số
[in] suppressCloseLog
true nếu các bản ghi cần được loại bỏ, false nếu không.
Lợi nhuận
WEAVE_NO_ERROR vô điều kiện.
Xem thêm:
Shutdown () , Abort () , AddRef ()Release () .

Kết nối

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

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

Chi tiết
Thông số
[in] peerNodeId
Định danh nút của máy ngang hàng.
Giá trị trả lại
WEAVE_NO_ERROR
khi bắt đầu thành công kết nối với máy ngang hàng.
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 được yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu địa chỉ đích không thể được suy ra từ id nút.
other
Lỗi lớp Inet do hoạt động 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 nút Weave bằng số nhận dạng nút và / hoặc địa chỉ IP.

Chi tiết
Thông số
[in] peerNodeId
Định danh nút của ngang hàng, kNodeIdNotSpecified hoặc 0 nếu không biết.
[in] peerAddr
Địa chỉ IP của máy ngang hàng, IPAddress :: Bất kỳ nếu không biết.
[in] peerPort
Cổng tùy chọn của ngang hàng, mặc định là WEAVE_PORT .
Giá trị trả lại
WEAVE_NO_ERROR
khi bắt đầu thành công kết nối với máy ngang hàng.
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 được yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu địa chỉ đích không thể được suy ra từ id nút.
other
Lỗi lớp Inet do hoạt động 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 nút Weave bằng số nhận dạng nút và / hoặc địa chỉ IP trên một giao diện cụ thể.

Chi tiết
Thông số
[in] peerNodeId
Định danh nút của ngang hàng, kNodeIdNotSpecified hoặc 0 nếu không biết.
[in] authMode
Chế độ xác thực mong muốn cho ngang hàng. Chỉ hỗ trợ các chế độ CASE, PASE và Unauthenticated.
[in] peerAddr
Địa chỉ IP của máy ngang hàng, IPAddress :: Bất kỳ nếu không biết.
[in] peerPort
Cổng tùy chọn của ngang hàng, mặc định là WEAVE_PORT .
[in] intf
Giao diện tùy chọn được sử dụng để kết nối với nút ngang hàng, mặc định là INET_NULL_INTERFACEID .
Giá trị trả lại
WEAVE_NO_ERROR
khi bắt đầu thành công kết nối với máy ngang hàng.
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 được yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu địa chỉ đích không thể được suy ra từ định danh nút.
other
Lỗi lớp Inet do hoạt động 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 nút Weave bằng số nhận dạng nút và / hoặc tên máy chủ chuỗi.

Nếu được cung cấp, peerAddr có thể là bất kỳ trong số:


:

:

[]:

Chi tiết
Thông số
[in] peerNodeId
Định danh nút của ngang hàng, kNodeIdNotSpecified hoặc 0 nếu không biết.
[in] authMode
Chế độ xác thực mong muốn cho ngang hàng. Chỉ hỗ trợ các chế độ CASE, PASE và Unauthenticated.
[in] peerAddr
Địa chỉ hoặc tên máy chủ ngang hàng dưới dạng chuỗi C được kết thúc bằng NULL.
[in] defaultPort
Cổng mặc định tùy chọn để sử dụng cho kết nối nếu không được cung cấp trong chuỗi peerAddr.
Giá trị trả lại
WEAVE_NO_ERROR
khi bắt đầu thành công kết nối với máy ngang hàng.
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 được yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu địa chỉ đích không thể được suy ra từ id nút.
other
Lỗi lớp Inet do hoạt động 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 nút Weave bằng cách sử dụng số nhận dạng nút và / hoặc địa chỉ ngang hàng chuỗi.

Nếu được cung cấp, peerAddr có thể là bất kỳ trong số:


:

:

[]:

Chi tiết
Thông số
[in] peerNodeId
Định danh nút của ngang hàng, kNodeIdNotSpecified hoặc 0 nếu không biết.
[in] authMode
Chế độ xác thực mong muốn cho ngang hàng. Chỉ hỗ trợ các chế độ CASE, PASE và Unauthenticated.
[in] peerAddr
Địa chỉ hoặc tên máy chủ của ngang hàng dưới dạng chuỗi C không kết thúc bằng NULL.
[in] peerAddrLen
Độ dài của chuỗi peerAddr.
[in] defaultPort
Cổng mặc định tùy chọn để sử dụng cho kết nối nếu không được cung cấp trong chuỗi peerAddr.
Giá trị trả lại
WEAVE_NO_ERROR
khi bắt đầu thành công kết nối với máy ngang hàng.
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 được yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu địa chỉ đích không thể được suy ra từ id nút.
other
Lỗi lớp Inet do hoạt động 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 nút Weave bằng cách sử dụng số nhận dạng nút và / hoặc địa chỉ ngang hàng chuỗi.

Nếu được cung cấp, peerAddr có thể là bất kỳ trong số:


:

:

[]:

Chi tiết
Thông số
[in] peerNodeId
Định danh nút của ngang hàng, kNodeIdNotSpecified hoặc 0 nếu không biết.
[in] authMode
Chế độ xác thực mong muốn cho ngang hàng. Chỉ hỗ trợ các chế độ CASE, PASE và Unauthenticated.
[in] peerAddr
Địa chỉ hoặc tên máy chủ của ngang hàng dưới dạng chuỗi C không kết thúc bằng NULL.
[in] peerAddrLen
Độ dài của chuỗi peerAddr.
[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à OR của một hoặc nhiều giá trị từ kiểu liệt kê # :: nl :: Inet :: DNSOptions.
[in] defaultPort
Cổng mặc định tùy chọn để sử dụng cho kết nối nếu không được cung cấp trong chuỗi peerAddr.
Giá trị trả lại
WEAVE_NO_ERROR
khi bắt đầu thành công kết nối với máy ngang hàng.
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 được yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu địa chỉ đích không thể được suy ra từ id nút.
other
Lỗi lớp Inet do hoạt động 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 nút Weave bằng số nhận dạng nút và / hoặc danh sách tên máy chủ và cổng.

Chi tiết
Thông số
[in] peerNodeId
Định danh nút của máy ngang hàng.
[in] authMode
Chế độ xác thực được sử dụng cho kết nối.
[in] hostPortList
Danh sách tên máy chủ và cổng.
[in] intf
Giao diện tùy chọn được sử dụng để kết nối với nút ngang hàng, mặc định là INET_NULL_INTERFACEID .
Giá trị trả lại
WEAVE_NO_ERROR
khi bắt đầu thành công kết nối với máy ngang hàng.
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 được yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu địa chỉ đích không thể được suy ra từ id nút.
other
Lỗi lớp Inet do hoạt động 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 nút Weave bằng số nhận dạng nút và / hoặc danh sách tên máy chủ và cổng.

Chi tiết
Thông số
[in] peerNodeId
Định danh nút của máy ngang hàng.
[in] authMode
Chế độ xác thực được sử dụng cho kết nối.
[in] hostPortList
Danh sách tên máy chủ và cổng.
[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à OR của một hoặc nhiều giá trị từ kiểu liệt kê # :: nl :: Inet :: DNSOptions.
[in] intf
Giao diện tùy chọn được sử dụng để kết nối với nút ngang hàng, mặc định là INET_NULL_INTERFACEID .
Giá trị trả lại
WEAVE_NO_ERROR
khi bắt đầu thành công kết nối với máy ngang hàng.
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 được yêu cầu không được hỗ trợ.
WEAVE_ERROR_INVALID_ADDRESS
nếu địa chỉ đích không thể được suy ra từ id nút.
other
Lỗi lớp Inet do hoạt động kết nối TCPEndPoint tạo ra.

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection :: DisableKeepAlive .

Tắt đầu dò lưu giữ TCP trên kết nối TCP bên dưới.

Lưu ý: Phương thức này chỉ có thể được gọi trên kết nối Weave được hỗ trợ bởi 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 pháp này không có tác dụng gì nếu keepalives chưa được bật trên kết nối.

Chi tiết
Giá trị trả lại
WEAVE_NO_ERROR
về việc vô hiệu hóa thành công các đầu dò lưu giữ 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 chính xác để gửi tin nhắn.
other
Lỗi lớp Inet liên quan đến điểm cuối TCP cho phép hoạt động lưu giữ.

DisableReceive

void DisableReceive(
  void
)

Tắt nhận qua WeaveConnection này.

Phương thức này được ứng dụng sử dụng để chỉ ra rằng nó 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 EnableReceive () để cho phép WeaveConnection chuyển giao mọi dữ liệu đã nhận bằng cách gọi các lệnh gọi lại phê duyệt.

Xem thêm:
EnableReceive ()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection :: EnableKeepAlive .

Bật các đầu dò lưu giữ TCP trên kết nối TCP bên dưới.

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

Chi tiết
Thông số
[in] interval
Khoảng thời gian (tính bằng giây) giữa các đầu dò lưu giữ. 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 khi truyền đầu dò lưu giữ đầu tiên.
[in] timeoutCount
Số đầu dò chưa được xác nhận tối đa trước khi kết nối sẽ được coi là không thành công.

-Phương pháp này có thể được gọi nhiều lần để điều chỉnh khoảng thời gian lưu giữ hoặc đếm thời gian chờ.

Chi tiết
Giá trị trả lại
WEAVE_NO_ERROR
khi kích hoạt thành công các đầu dò lưu giữ 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 chính xác để gửi tin nhắn.
other
Lỗi lớp Inet liên quan đến điểm cuối TCP cho phép hoạt động keepalive.

EnableReceive

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ỉ ra với đối tượng WeaveConnection rằng nó đã sẵn sàng nhận bất kỳ dữ liệu nào đến qua kết nối TCP.

Xem thêm:
DisableReceive ()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Nhận thông tin địa chỉ IP của máy ngang hàng.

Chi tiết
Thông số
[out] addrInfo
Tham chiếu đến đối tượng IPPacketInfo.
Giá trị trả lại
WEAVE_NO_ERROR
Về 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.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

Xây dựng một chuỗi mô tả nút ngang hàng được liên kết với kết nối.

Chi tiết
Thông số
[in] buf
Một con trỏ tới bộ đệm mà chuỗi sẽ được ghi vào đó. Bộ đệm được cung cấp ít nhất phải lớn bằng kGetPeerDescription_MaxLength. Nếu một bộ đệm nhỏ hơn được cung cấp, chuỗi sẽ được cắt bớt để vừa. Đầu ra sẽ bao gồm một ký tự kết thúc NUL trong mọi trường hợp.
[in] bufSize
Kích thước của bộ đệm do buf trỏ vào.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

Giải phóng

void Release(
  void
)

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

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

ResetUserTimeout

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection :: ResetUserTimeout .

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

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

-Phương pháp này không có tác dụng gì nếu người dùng chưa đặt thời gian chờ trên kết nối.

Chi tiết
Giá trị trả lại
WEAVE_NO_ERROR
khi đặt lại thành công thời gian chờ của 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 chính xác để gửi tin nhắn.
other
Lỗi lớp Inet liên quan đến việc đặt lại điểm cuối TCP trong thời gian chờ của người dùng TCP.

Gửi tin nhắn

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

Chi tiết
Thông số
[in] msgInfo
Một con trỏ đến một đối tượng WeaveMessageInfo .
[in] msgBuf
Một con trỏ đến đối tượng PacketBuffer đang giữ gói tin để gửi.
Giá trị trả lại
WEAVE_NO_ERROR
khi gửi thành công 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 chính xác để gửi tin nhắn.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
nếu định danh nút đích không xác định.
WEAVE_ERROR_SENDING_BLOCKED
nếu tin nhắn quá dài để gửi.
other
Lỗi lớp Inet liên quan đến các 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 gói Tunneled qua kết nối Weave.

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

Chi tiết
Thông số
[in] msgInfo
Một con trỏ đến một đối tượng WeaveMessageInfo .
[in] msgBuf
Một con trỏ đến đối tượng PacketBuffer đang giữ gói tin để gửi.
Giá trị trả lại
WEAVE_NO_ERROR
khi gửi thành công 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 chính xác để gửi tin nhắn.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
nếu định danh nút đích không xác định.
WEAVE_ERROR_SENDING_BLOCKED
nếu tin nhắn quá dài để gửi.
other
Lỗi lớp Inet liên quan đến các hoạt động gửi điểm cuối cụ thể.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

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

Chi tiết
Thông số
[in] connTimeoutMsecs

SetIdleTimeout

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 bên dưới.

Chi tiết
Thông số
[in] timeoutMS
thời gian chờ tính bằng mili giây.
Giá trị trả lại
WEAVE_NO_ERROR
khi cài đặ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 chính xác để nhận tin nhắn.

SetIncoming

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection :: SetUserTimeout .

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

Khi giá trị lớn hơn 0, nó chỉ định lượng thời gian tối đa tính bằng mili giây mà dữ liệu đã truyền có thể vẫn chưa được xác nhận trước khi TCP buộc đó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 mặc định của hệ thống. Xem RFC 5482, để biết thêm chi tiết.

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

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

-Phương pháp 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.

Chi tiết
Giá trị trả lại
WEAVE_NO_ERROR
về cài đặt thành công thời gian chờ của 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 chính xác để gửi tin nhắn.
other
Lỗi lớp Inet 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 tắt gửi TCP duyên dáng, đảm bảo tất cả dữ liệu gửi đi đã được gửi và nhận bởi ngăn xếp TCP ngang hàng.

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

Chi tiết
Giá trị trả lại
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 chính xác trước khi bắt đầu tắt máy.
other
Lỗi lớp Inet liên quan đến các hoạt động tắt điểm cuối cụ thể.
Xem thêm:
Close ()Abort () .