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 :: Hồ sơ :: WeaveTunnel :: WeaveTunnelConnectionMgr

#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>

Lớp này đóng gói tất cả các trạng thái kết nối đường hầm Weave cũng như logic và chức năng quản lý liên quan.

Tóm lược

Một phiên bản của lớp này sẽ được sử dụng để quản lý đường hầm qua mỗi giao diện mà qua đó đường hầm Weave tới Dịch vụ sẽ tồn tại.

Người xây dựng và Người phá hủy

WeaveTunnelConnectionMgr (void)

Các loại công khai

ConnectPolicyCallback )(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec) typedef
void(*
Gọi lại để tìm nạp khoảng thời gian chờ trước khi đường hầm tiếp theo kết nối lại.
TunnelConnNotifyReasons {
kStatus_TunDown = 0,
kStatus_TunPrimaryUp = 1,
kStatus_TunPrimaryConnError = 2,
kStatus_TunBackupConnError = 3,
kStatus_TunFailoverToBackup = 4,
kStatus_TunBackupOnlyDown = 5,
kStatus_TunBackupUp = 6,
kStatus_TunPrimaryAndBackupUp = 7,
kStatus_TunPrimaryReconnectRcvd = 8,
kStatus_TunBackupReconnectRcvd = 9,
kStatus_TunPrimaryLiveness = 10,
kStatus_TunBackupLiveness = 11
}
enum
TunnelConnNotifyReasons typedef
TunnelConnectionState {
kState_NotConnected = 0,
kState_Connecting = 1,
kState_ConnectionEstablished = 2,
kState_TunnelOpen = 3,
kState_TunnelClosing = 4,
kState_ReconnectRecvd = 5
}
enum
TunnelConnectionState typedef

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

mServiceConnDelayPolicyCallback

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

Init ( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName)
Khởi tạo WeaveTunnelConnectionMgr .
ServiceTunnelClose ( WEAVE_ERROR err)
void
Đóng đường hầm Dịch vụ.
SetInterfaceName (const char *intfName)
void
Đặt InterfaceName cho kết nối Đường hầm.
SetInterfaceType (const SrcInterfaceType srcIntfType)
void
Đặt SrcInterfaceType cho kết nối Đường hầm.
Shutdown (void)
void
StopAndReconnectTunnelConn ( ReconnectParam & reconnParam)
void
Dừng kết nối đường hầm Dịch vụ và cố gắng kết nối lại.
TryConnectingNow (void)
Cố gắng thiết lập kết nối với Dịch vụ.

Chức năng tĩnh công khai

DefaultReconnectPolicyCallback (void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
void
Việc triển khai chính sách mặc định để tìm nạp vào lần tiếp theo để kết nối với Dịch vụ.
HandleServiceConnectionClosed ( WeaveConnection *con, WEAVE_ERROR conErr)
void
Trình xử lý được gọi khi kết nối Dịch vụ TCP bị đóng.
HandleServiceConnectionComplete ( WeaveConnection *con, WEAVE_ERROR conErr)
void
Trình xử lý được gọi khi kết nối Service TCP hoàn tất.
RecvdFromService ( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message)
void
Trình xử lý để nhận gói IPv6 đường hầm từ kết nối Service TCP và chuyển tiếp đến giao diện Tunnel EndPoint sau khi giải mã gói IPv6 thô từ bên trong tiêu đề đường hầm.
ServiceMgrStatusHandler (void *appState, WEAVE_ERROR err, StatusReport *report)
void
Trình xử lý đã gọi nếu Trình quản lý dịch vụ không thiết lập được kết nối TCP với Dịch vụ.

Các loại công khai

ConnectPolicyCallback

void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)

Gọi lại để tìm nạp khoảng thời gian chờ trước khi đường hầm tiếp theo kết nối lại.

Chi tiết
Thông số
[in] appState
Con trỏ trạng thái ứng dụng được đặt trong quá trình khởi chạy SubscriptionClient.
[in] reconnectParam
Cấu trúc với các tham số ảnh hưởng đến việc tính toán độ trễ kết nối lại.
[out] delayMsec
Thời gian tính bằng mili giây để đợi trước lần kết nối lại tiếp theo.

TunnelConnNotifyReasons

 TunnelConnNotifyReasons
Tính chất
kStatus_TunBackupConnError

Được sử dụng để chỉ ra rằng nỗ lực kết nối đường hầm dự phòng đã không thành công hoặc một đường hầm hiện có đã bị hủy cục bộ hoặc bị đóng bởi ngang hàng.

kStatus_TunBackupLiveness

Được sử dụng để chỉ ra thông tin về tàu thăm dò Tunnel Liveness trên đường hầm Backup Weave.

kStatus_TunBackupOnlyDown

Được sử dụng để chỉ ra rằng đường hầm dự phòng bị sập.

kStatus_TunBackupReconnectRcvd

Được sử dụng để cho biết rằng Dịch vụ đã yêu cầu kết nối lại đường hầm Backup Weave.

kStatus_TunBackupUp

Được sử dụng để chỉ ra rằng đường hầm Backup Weave đã lên.

kStatus_TunDown

Được sử dụng để chỉ ra rằng đường hầm Weave đã đi xuống.

kStatus_TunFailoverToBackup

Được sử dụng để chỉ ra rằng đường hầm chính bị lỗi và quá trình chuyển sang đường hầm dự phòng đã xảy ra.

kStatus_TunPrimaryAndBackupUp

Được sử dụng để chỉ ra rằng cả đường hầm Sơ cấp và Dệt dự phòng đều hoạt động.

kStatus_TunPrimaryConnError

Được sử dụng để chỉ ra rằng nỗ lực kết nối đường hầm chính đã không thành công hoặc một đường hầm hiện có đã bị hủy cục bộ hoặc bị đóng bởi ngang hàng.

kStatus_TunPrimaryLiveness

Được sử dụng để chỉ ra thông tin về tàu thăm dò Tunnel Liveness trên đường hầm Primary Weave.

kStatus_TunPrimaryReconnectRcvd

Được sử dụng để chỉ ra rằng Dịch vụ đã yêu cầu kết nối lại đường hầm Primary Weave.

kStatus_TunPrimaryUp

Được sử dụng để chỉ ra rằng đường hầm Weave chính đã đi lên.

TunnelConnNotifyReasons

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons

TunnelConnectionState

 TunnelConnectionState
Tính chất
kState_Connecting

Được sử dụng để chỉ ra rằng kết nối Weave Tunnel đã được bắt đầu.

kState_ConnectionEstablished

Được sử dụng để chỉ ra rằng kết nối Weave Tunnel đã được thiết lập và thông tin tuyến đường đang được trao đổi.

kState_NotConnected

Được sử dụng để chỉ ra rằng Weave Tunnel không được kết nối.

kState_ReconnectRecvd

Được sử dụng để chỉ ra rằng Dịch vụ muốn cổng biên giới kết nối lại sau khi tra cứu thư mục.

kState_TunnelClosing

Được sử dụng để chỉ ra rằng Đường hầm dệt đang đóng và kết nối đang bị phá hủy.

kState_TunnelOpen

Được sử dụng để chỉ ra rằng Đường hầm Weave đã mở và sẵn sàng cho quá trình chuyển giao lưu lượng dữ liệu.

TunnelConnectionState

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState

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

mServiceConnDelayPolicyCallback

ConnectPolicyCallback mServiceConnDelayPolicyCallback

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

Trong đó

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelType tunType,
  SrcInterfaceType srcIntfType,
  const char *connIntfName
)

Khởi tạo WeaveTunnelConnectionMgr .

ServiceTunnelClose

void ServiceTunnelClose(
  WEAVE_ERROR err
)

Đóng đường hầm Dịch vụ.

Chi tiết
Thông số
[in] err
WEAVE_ERROR được chuyển đến từ người gọi.

SetInterfaceName

void SetInterfaceName(
  const char *intfName
)

Đặt InterfaceName cho kết nối Đường hầm.

Chi tiết
Thông số
[in] tunIntf
Tên giao diện để thiết lập kết nối đường hầm Dịch vụ.

SetInterfaceType

void SetInterfaceType(
  const SrcInterfaceType srcIntfType
)

Đặt SrcInterfaceType cho kết nối Đường hầm.

Chi tiết
Thông số
[in] srcIntfType
Loại công nghệ mạng của giao diện cho kết nối đường hầm Dịch vụ.

Tắt

void Shutdown(
  void
)

StopAndReconnectTunnelConn

void StopAndReconnectTunnelConn(
  ReconnectParam & reconnParam
)

Dừng kết nối đường hầm Dịch vụ và cố gắng kết nối lại.

Chi tiết
Thông số
[in] err
WEAVE_ERROR được chuyển đến từ người gọi.

TryConnectingNow

WEAVE_ERROR TryConnectingNow(
  void
)

Cố gắng thiết lập kết nối với Dịch vụ.

Cố gắng thiết lập kết nối với Dịch vụ bằng ServiceManager hoặc trực tiếp.

WeaveTunnelConnectionMgr

 WeaveTunnelConnectionMgr(
  void
)

Chức năng tĩnh công khai

DefaultReconnectPolicyCallback

void DefaultReconnectPolicyCallback(
  void *const appstate,
  ReconnectParam & reconnectParam,
  uint32_t & delayMsec
)

Việc triển khai chính sách mặc định để tìm nạp vào lần tiếp theo để kết nối với Dịch vụ.

Chính sách này chọn một khoảng thời gian ngẫu nhiên (với độ phân giải mili giây) trên một cửa sổ tăng dần, tuân theo trình tự fibonacci cho đến WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX.

Chi tiết
Thông số
[in] appState
Con trỏ trạng thái ứng dụng được đặt trong quá trình khởi chạy SubscriptionClient.
[in] reconnectParam
Cấu trúc với các tham số ảnh hưởng đến việc tính toán độ trễ kết nối lại.
[out] delayMsec
Thời gian tính bằng mili giây để đợi trước lần kết nối lại tiếp theo.

HandleServiceConnectionClosed

void HandleServiceConnectionClosed(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

Trình xử lý được gọi khi kết nối Dịch vụ TCP bị đóng.

Thiết bị sẽ cố gắng thiết lập lại kết nối với Dịch vụ nếu mServiceConKeepAlive được đặt thành true.

Sau đó, thiết bị sẽ cố gắng thiết lập lại kết nối với Dịch vụ.

Chi tiết
Thông số
[in] con
Một con trỏ đến đối tượng WeaveConnection .
[in] conErr
Bất kỳ lỗi nào trong WeaveConnection hoặc WEAVE_NO_ERROR.

HandleServiceConnectionComplete

void HandleServiceConnectionComplete(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

Trình xử lý được gọi khi kết nối Service TCP hoàn tất.

Thiết bị tiến hành khởi tạo các lệnh điều khiển Đường hầm tới Dịch vụ từ chức năng này.

Thiết bị tiến hành khởi tạo các lệnh điều khiển Đường hầm tới Dịch vụ từ chức năng này.

Chi tiết
Thông số
[in] con
Một con trỏ đến đối tượng WeaveConnection .
[in] conErr
Bất kỳ lỗi nào trong WeaveConnection hoặc WEAVE_NO_ERROR.

RecvdFromService

void RecvdFromService(
  WeaveConnection *con,
  const WeaveMessageInfo *msgInfo,
  PacketBuffer *message
)

Xử lý để nhận các gói IPv6 đường hầm từ kết nối Dịch vụ TCP và chuyển tiếp đến giao diện Tunnel EndPoint sau khi giải mã gói IPv6 thô từ bên trong tiêu đề đường hầm.

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] message
Một con trỏ đến đối tượng PacketBuffer đang giữ gói IPv6 đường hầm.

ServiceMgrStatusHandler

void ServiceMgrStatusHandler(
  void *appState,
  WEAVE_ERROR err,
  StatusReport *report
)

Trình xử lý đã gọi nếu Trình quản lý dịch vụ không thiết lập được kết nối TCP với Dịch vụ.