nl::
  #include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
  הסיווג הזה כולל את כל מצבי החיבור במנהרת Weave ואת הלוגיקה והפונקציות של הניהול.
סיכום
מכונה מסוג זה תשמש לניהול המנהרה בכל ממשק שדרכו קיימת מנהרת Weave לשירות.
| בנייה | |
|---|---|
| WeaveTunnelConnectionMgr(void) | 
| סוגים ציבוריים | |
|---|---|
| ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec) | typedef void(*קריאה חוזרת (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 לשירות.