nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelConnectionMgr
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
בשיעור הזה מפורטים כל מצבי החיבור של מנהרת Weave והלוגיקה והפונקציות של הניהול.
סיכום
מופע של המחלקה הזו ישמש לניהול המנהרה בכל ממשק שדרכו תהיה מנהרת Weave לשירות.
בונים והורסים |
|
---|---|
WeaveTunnelConnectionMgr(void)
|
סוגים ציבוריים |
|
---|---|
ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
|
typedefvoid(*
קריאה חוזרת (callback) כדי לאחזר את פרק הזמן שצריך להמתין עד שהמנהרה הבאה תחובר מחדש. |
TunnelConnNotifyReasons{
|
טיפוסים בני מנייה (enum) |
TunnelConnNotifyReasons
|
typedef |
TunnelConnectionState{
|
טיפוסים בני מנייה (enum) |
TunnelConnectionState
|
typedef |
מאפיינים ציבוריים |
|
---|---|
mServiceConnDelayPolicyCallback
|
תפקידים ציבוריים |
|
---|---|
Init(WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName)
|
מפעילים את WeaveTunnelConnectionMgr.
|
ServiceTunnelClose(WEAVE_ERROR err)
|
void
סוגרים את מנהרת השירות.
|
SetInterfaceName(const char *intfName)
|
void
הגדר את ממשק InterfaceName עבור חיבור מנהרה.
|
SetInterfaceType(const SrcInterfaceType srcIntfType)
|
void
מגדירים את SrcInterfaceType לחיבור למנהרה.
|
Shutdown(void)
|
void
משביתים את WeaveTunnelConnectionMgr.
|
StopAndReconnectTunnelConn(ReconnectParam & reconnParam)
|
void
יש להפסיק את החיבור למנהרת השירות ולנסות להתחבר שוב.
|
TryConnectingNow(void)
|
לנסות ליצור חיבור לשירות.
|
פונקציות סטטיות ציבוריות |
|
---|---|
DefaultReconnectPolicyCallback(void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
|
void
הטמעת המדיניות המוגדרת כברירת מחדל לאחזור בפעם הבאה שתתחבר לשירות.
|
HandleServiceConnectionClosed(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
אפליקציית ה-handler הופעלה כשחיבור ה-Service TCP נסגר.
|
HandleServiceConnectionComplete(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Handler הופעל כשחיבור ה-Service TCP הושלם.
|
RecvdFromService(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message)
|
void
מטפל לקבלת מנות IPv6 מנהרות מחיבור ה-Service TCP והעברה לממשק EndPoint של Tunnel לאחר ביטול הפתיחה של חבילת IPv6 הגולמית מתוך כותרת המנהרה.
|
ServiceMgrStatusHandler(void *appState, WEAVE_ERROR err, StatusReport *report)
|
void
Handler הופעל אם יצירת חיבור ה-TCP לשירות לא נוצרה על ידי מנהל השירות.
|
סוגים ציבוריים
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
קריאה חוזרת (callback) כדי לאחזר את פרק הזמן שצריך להמתין עד שהמנהרה הבאה תחובר מחדש.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
תכונות | |
---|---|
kStatus_TunBackupConnError
|
משמש לציון ניסיון חיבור למנהרת גיבוי נכשל או שניסיון קיים בוטל או נסגר באופן מקומי על ידי אפליקציה להשוואה. |
kStatus_TunBackupLiveness
|
משמש לציון מידע על גשושית Tunnel Liveness במנהרת הגיבוי Weave. |
kStatus_TunBackupOnlyDown
|
משמש כדי לציין שמנהרת הגיבוי מושבתת. |
kStatus_TunBackupReconnectRcvd
|
משמש כדי לציין שהשירות ביקש חיבור מחדש של מנהרת הגיבוי Weave. |
kStatus_TunBackupUp
|
משמש לציון מנהרת הגיבוי Weave. |
kStatus_TunDown
|
משמש לציון מנהרת Weave הוסרה. |
kStatus_TunFailoverToBackup
|
הודעה שמציינת שהמנהרה הראשית מושבתת ואירעה מעבר למנהרת גיבוי. |
kStatus_TunPrimaryAndBackupUp
|
משמש כדי לציין שגם המנהרה 'ראשי' וגם 'מנהרת הגיבוי' מוצגת. |
kStatus_TunPrimaryConnError
|
הודעה שמשמשת כדי לציין שניסיון חיבור ראשי במנהרה נכשל או שניסיון קיים בוטל או נסגר באופן מקומי על ידי אפליקציה להשוואה. |
kStatus_TunPrimaryLiveness
|
משמש לציון מידע על גשושית 'חיי המנהרה' במנהרת המארג הראשי. |
kStatus_TunPrimaryReconnectRcvd
|
משמש לציון שהשירות ביקש חיבור מחדש של מנהרת Weave הראשית. |
kStatus_TunPrimaryUp
|
משמש לציון מנהרת Weave הראשית. |
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
תכונות | |
---|---|
kState_Connecting
|
משמש כדי לציין שחיבור מנהרת Weave הופעל. |
kState_ConnectionEstablished
|
משמש כדי לציין שהתבצע חיבור של מנהרת Weave ומתבצע חילופי מידע על המסלול. |
kState_NotConnected
|
משמש כדי לציין שמנהרת Weave לא מחוברת. |
kState_ReconnectRecvd
|
הערך הזה מציין שהשירות רוצה ששער הגבולות יתחבר מחדש אחרי חיפוש בספרייה. |
kState_TunnelClosing
|
משמש לציון מנהרת ה-Weave נסגרת והחיבור מתנתק. |
kState_TunnelOpen
|
משמש כדי לציין שמנהרת Weave פתוחה ומוכנה להעברת תנועת נתונים. |
TunnelConnectionState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
מאפיינים ציבוריים
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
תפקידים ציבוריים
הפעלה
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
מפעילים את WeaveTunnelConnectionMgr.
ServiceTunnelClose
void ServiceTunnelClose( WEAVE_ERROR err )
סוגרים את מנהרת השירות.
פרטים | |||
---|---|---|---|
פרמטרים |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
הגדר את ממשק InterfaceName עבור חיבור מנהרה.
פרטים | |||
---|---|---|---|
פרמטרים |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
מגדירים את SrcInterfaceType לחיבור למנהרה.
פרטים | |||
---|---|---|---|
פרמטרים |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
יש להפסיק את החיבור למנהרת השירות ולנסות להתחבר שוב.
פרטים | |||
---|---|---|---|
פרמטרים |
|
TryConnectingNow
WEAVE_ERROR TryConnectingNow( void )
לנסות ליצור חיבור לשירות.
אפשר לנסות ליצור חיבור לשירות באמצעות ServiceManager או באופן ישיר.
WeaveTunnelConnectionMgr
WeaveTunnelConnectionMgr( void )
פונקציות סטטיות ציבוריות
DefaultReconnectPolicyCallback
void DefaultReconnectPolicyCallback( void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec )
הטמעת המדיניות המוגדרת כברירת מחדל לאחזור בפעם הבאה שתתחבר לשירות.
המדיניות הזו בוחרת משבצת זמן אקראית (ברזולוציה של אלפית שנייה) בחלון שהולך וגדל, לפי רצף פיבונאצ'י עד ל-WAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
אפליקציית ה-handler הופעלה כשחיבור ה-Service TCP נסגר.
המכשיר מנסה ליצור מחדש את החיבור לשירות אם הערך של mServiceConKeepAlive מוגדר כ-true.
לאחר מכן, המכשיר ינסה ליצור מחדש את החיבור לשירות.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
Handler הופעל כשחיבור ה-Service TCP הושלם.
המכשיר ימשיך לבצע פקודות של בקרת מנהרה לשירות מהפונקציה הזו.
המכשיר ימשיך לבצע פקודות של בקרת מנהרה לשירות מהפונקציה הזו.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
מטפל לקבלת מנות IPv6 מנהרות מחיבור ה-Service TCP והעברה לממשק EndPoint של Tunnel לאחר ביטול הפתיחה של חבילת IPv6 הגולמית מתוך כותרת המנהרה.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
Handler הופעל אם יצירת חיבור ה-TCP לשירות לא נוצרה על ידי מנהל השירות.