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) | typedefvoid(* 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 { | enum |
TunnelConnNotifyReasons | typedef |
TunnelConnectionState { | 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 Tắt WeaveTunnelConnectionMgr . |
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ố |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
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ố |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
Đặt InterfaceName cho kết nối Đường hầm.
Chi tiết | |||
---|---|---|---|
Thông số |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
Đặt SrcInterfaceType cho kết nối Đường hầm.
Chi tiết | |||
---|---|---|---|
Thông số |
|
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ố |
|
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ố |
|
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ố |
|
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ố |
|
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ố |
|
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ụ.