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
המטפל מופעל כשחיבור TCP של שירות נסגר.
|
HandleServiceConnectionComplete(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
המטפל הופעל כשחיבור TCP של השירות הושלם.
|
RecvdFromService(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message)
|
void
מטפל לקבלת חבילות IPv6 מנהרות מחיבור TCP של שירות והעברה לממשק EndPoint של המנהרה, לאחר ביטול המכסה של חבילת IPv6 הגולמית מתוך כותרת המנהרה.
|
ServiceMgrStatusHandler(void *appState, WEAVE_ERROR err, StatusReport *report)
|
void
המטפל הופעל אם מנהל השירות לא הצליח ליצור את חיבור ה-TCP לשירות.
|
סוגים ציבוריים
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
קריאה חוזרת (callback) כדי לאחזר את מרווח הזמן שצריך להמתין לפני חיבור מחדש של המנהרה הבאה.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
מאפיינים | |
---|---|
kStatus_TunBackupConnError
|
משמש לציון שהניסיון לחבר מנהרת גיבוי נכשל או שניסיון חיבור קיים בוטל או נסגר על ידי עמית באופן מקומי. |
kStatus_TunBackupLiveness
|
משמש לציון מידע לגבי גשושית הזרימה בזמן המנהרה במנהרת 'אריגת גיבוי'. |
kStatus_TunBackupOnlyDown
|
משמש כדי לציין שנהרת הגיבוי מושבתת. |
kStatus_TunBackupReconnectRcvd
|
משמשת לציון שהשירות ביקש חיבור מחדש למנהרת 'אריגת גיבוי'. |
kStatus_TunBackupUp
|
כדי לציין שממנהרת 'אריגת גיבוי' מוכנה. |
kStatus_TunDown
|
משמש כדי לציין שממנהרת Weave קרסה. |
kStatus_TunFailoverToBackup
|
הנתונים משמשים כדי לציין שהמנהרה הראשית מושבתת ואירעה מעבר למנהרת הגיבוי. |
kStatus_TunPrimaryAndBackupUp
|
משמש כדי לציין שגם המנהרה הראשית וגם מנהרת אריגת הגיבוי פועלות. |
kStatus_TunPrimaryConnError
|
משמש לציון שהניסיון הראשי לחיבור המנהרה נכשל, או שניסיון קיים אחד בוטל או נסגר על ידי עמית מקומי. |
kStatus_TunPrimaryLiveness
|
משמש לציון מידע על גשושית הזרימה בזמן המנהרה במנהרת Weave הראשית. |
kStatus_TunPrimaryReconnectRcvd
|
משמשת לציון שהשירות ביקש חיבור מחדש למנהרת Weave הראשית. |
kStatus_TunPrimaryUp
|
משמש כדי לציין שהערוץ הראשי של Weave מוכן. |
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
מאפיינים | |
---|---|
kState_Connecting
|
משמש כדי לציין שהחיבור ל-Weave Tunnel הופעל. |
kState_ConnectionEstablished
|
משמש כדי לציין שקיים חיבור של Weave Tunnel ומתבצעת החלפה של מידע על המסלול. |
kState_NotConnected
|
משמש כדי לציין שמנהרת Weave לא מחוברת. |
kState_ReconnectRecvd
|
משמש כדי לציין שהשירות רוצה ששער הגבול יתחבר מחדש לאחר חיפוש בספרייה. |
kState_TunnelClosing
|
משמש כדי לציין שמנהרת Weave נסגרת והחיבור מתנתק. |
kState_TunnelOpen
|
משמש כדי לציין שמנהרת Weave פתוחה ומוכנה להעברת תעבורת הנתונים. |
TunnelConnectionState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
מאפיינים ציבוריים
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
פונקציות ציבוריות
Init
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 )
יישום ברירת המחדל של המדיניות, לאחזור בפעם הבאה שתתחברו לשירות.
המדיניות הזו בוחרת משבצת זמן אקראית (ברזולוציה של אלפית השנייה) על פני חלון הגדלה, אחרי רצף פיבונאצ'י עד WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
המטפל מופעל כשחיבור TCP של שירות נסגר.
המכשיר ינסה ליצור מחדש את החיבור לשירות אם mServiceConKeepAlive מוגדר כ-True.
לאחר מכן, המכשיר ינסה ליצור מחדש את החיבור לשירות.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
המטפל הופעל כשחיבור TCP של השירות הושלם.
המכשיר ממשיך ליזום פקודות של בקרת מנהרה לשירות מהפונקציה הזו.
המכשיר ממשיך ליזום פקודות של בקרת מנהרה לשירות מהפונקציה הזו.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
מטפל לקבלת חבילות IPv6 מנהרות מחיבור TCP של שירות והעברה לממשק EndPoint של המנהרה, לאחר ביטול המכסה של חבילת IPv6 הגולמית מתוך כותרת המנהרה.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
המטפל הופעל אם מנהל השירות לא הצליח ליצור את חיבור ה-TCP לשירות.