nl:: Weave:: 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 và logic và hàm quản lý đường liên kết.
Tóm tắt
Một bản sao của lớp này sẽ được dùng để quản lý đường hầm trên mỗi giao diện mà đường hầm Weave đến Dịch vụ sẽ tồn tại.
Hàm dựng và hàm phá hủy |
|
---|---|
WeaveTunnelConnectionMgr(void)
|
Loại công khai |
|
---|---|
ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
|
typedefvoid(*
Lệnh 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 khai |
|
---|---|
mServiceConnDelayPolicyCallback
|
Hàm công khai |
|
---|---|
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 Giao diện tên cho đườ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à thử kết nối lại.
|
TryConnectingNow(void)
|
Cố gắng thiết lập kết nối với Dịch vụ.
|
Hàm tĩnh công khai |
|
---|---|
DefaultReconnectPolicyCallback(void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
|
void
Triển khai chính sách mặc định để tìm nạp 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 đóng kết nối TCP của Dịch vụ.
|
HandleServiceConnectionComplete(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Trình xử lý đã được gọi khi quá trình kết nối Dịch vụ TCP hoàn tất.
|
RecvdFromService(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message)
|
void
Trình xử lý để nhận các gói IPv6 qua đường hầm từ kết nối TCP TCP của dịch vụ và chuyển tiếp đến giao diện Tunnel EndPoint sau khi gỡ bỏ 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ý đã được 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ụ.
|
Loại công khai
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
Lệnh 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.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các thông số |
|
TunnelConnNotificationsReasons
TunnelConnNotifyReasons
Thuộc tính | |
---|---|
kStatus_TunBackupConnError
|
Dùng để cho biết rằng một lần kết nối đường hầm dự phòng không thành công hoặc một lần kết nối hiện có đã bị hủy hoặc kết thúc bởi ứng dụng ngang hàng. |
kStatus_TunBackupLiveness
|
Dùng để chỉ ra thông tin về đường thăm dò đường hầm bằng đường hầm trên đường hầm sao lưu đường hầm. |
kStatus_TunBackupOnlyDown
|
Dùng để cho biết rằng đường hầm dự phòng đã bị hỏng. |
kStatus_TunBackupReconnectRcvd
|
Dùng để cho biết rằng Dịch vụ đã yêu cầu kết nối lại cho đường hầm Dệt dự phòng. |
kStatus_TunBackupUp
|
Dùng để cho biết rằng đường hầm sao lưu. |
kStatus_TunDown
|
Dùng để cho biết rằng đường hầm Weave đã bị hỏng. |
kStatus_TunFailoverToBackup
|
Dùng để cho biết rằng đường hầm chính bị hỏng và quá trình chuyển đổi sang đường hầm dự phòng đã xảy ra. |
kStatus_TunPrimaryAndBackupUp
|
Dùng để cho biết rằng cả đường hầm Chính và Đường dự phòng đều đang hoạt động. |
kStatus_TunPrimaryConnError
|
Dùng để cho biết một lần kết nối đường hầm chính không thành công hoặc một lần kết nối hiện có đã bị hủy hoặc kết thúc bởi ứng dụng ngang hàng. |
kStatus_TunPrimaryLiveness
|
Dùng để chỉ ra thông tin về đường thăm dò đường hầm Tạo sự sống trên đường hầm chính. |
kStatus_TunPrimaryReconnectRcvd
|
Dùng để cho biết rằng Dịch vụ đã yêu cầu kết nối lại cho đường hầm Dệt chính. |
kStatus_TunPrimaryUp
|
Dùng để chỉ ra rằng đường hầm Weave chính đã hoạt động. |
TunnelConnNotificationsReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
Đường hầm kết nối
TunnelConnectionState
Thuộc tính | |
---|---|
kState_Connecting
|
Dùng để cho biết rằng kết nối Đường hầm kết nối đã được bắt đầu. |
kState_ConnectionEstablished
|
Dùng để cho biết việc kết nối đường hầm Weave đã được thiết lập và thông tin tuyến đường đang được trao đổi. |
kState_NotConnected
|
Dùng để chỉ ra rằng đường hầm dệt không được kết nối. |
kState_ReconnectRecvd
|
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
|
Dùng để cho biết rằng đường hầm dệt đang đóng và đường kết nối đang bị hỏng. |
kState_TunnelOpen
|
Dùng để biểu thị đường hầm Weave đang mở và sẵn sàng cho hoạt động vận chuyển dữ liệu. |
Đường hầm kết nối
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
Thuộc tính công khai
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
Hàm công khai
Số nguyên
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ụ.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
Đặt tên giao diện
void SetInterfaceName( const char *intfName )
Đặt Giao diện tên cho đường hầm.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
Loại giao diện đặt
void SetInterfaceType( const SrcInterfaceType srcIntfType )
Đặt SrcInterfaceType cho kết nối đường hầm.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
Dừng kết nối đường hầm dịch vụ và thử kết nối lại.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
Thử kết nối ngay
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 )
Hàm tĩnh công khai
Mặc địnhReConnectPolicyCallback
void DefaultReconnectPolicyCallback( void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec )
Triển khai chính sách mặc định để tìm nạp lần tiếp theo để kết nối với Dịch vụ.
Chính sách này chọn một khung thời gian ngẫu nhiên (có độ phân giải theo mili giây) trong một khoảng thời gian tăng dần, theo sau một trình tự fibonacci lên đến WEAVE_CONFIG_TSEGMENTING_RECONNECTION_MAX_FIBONACCI_INDEX.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các thông số |
|
Trạng thái kết nối dịch vụ xử lý
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
Trình xử lý đã được gọi khi đóng kết nối TCP của Dịch vụ.
Thiết bị 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ị cố gắng thiết lập lại kết nối với Dịch vụ.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các thông số |
|
Xử lý kết nối hoàn chỉnh
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
Trình xử lý đã được gọi khi quá trình kết nối Dịch vụ TCP hoàn tất.
Thiết bị tiếp tục khởi tạo các lệnh điều khiển đường hầm đến Dịch vụ từ hàm này.
Thiết bị tiếp tục khởi tạo các lệnh điều khiển đường hầm đến Dịch vụ từ hàm này.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các thông số |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
Trình xử lý để nhận các gói IPv6 qua đường hầm từ kết nối TCP TCP của dịch vụ và chuyển tiếp đến giao diện Tunnel EndPoint sau khi gỡ bỏ gói IPv6 thô từ bên trong tiêu đề đường hầm.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các thông số |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
Trình xử lý đã được 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ụ.