nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelConnectionMgr
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
Ta klasa zawiera wszystkie stany połączenia tunelu Weave oraz powiązaną logikę i funkcje zarządzania.
Podsumowanie
Instancja tej klasy była używana do zarządzania tunelem za pomocą każdego interfejsu, za pomocą którego istniałby tunel Weave do usługi.
Konstruktory i niszczyciele |
|
---|---|
WeaveTunnelConnectionMgr(void)
|
Typy publiczne |
|
---|---|
ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
|
typedefvoid(*
Wywołanie zwrotne pozwalające pobrać odstęp czasu oczekiwania przed ponownym połączeniem z następnym tunelem. |
TunnelConnNotifyReasons{
|
enum | typ wyliczeniowy |
TunnelConnNotifyReasons
|
typedef |
TunnelConnectionState{
|
enum | typ wyliczeniowy |
TunnelConnectionState
|
typedef |
Atrybuty publiczne |
|
---|---|
mServiceConnDelayPolicyCallback
|
Funkcje publiczne |
|
---|---|
Init(WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName)
|
Zainicjuj interfejs WeaveTunnelConnectionMgr.
|
ServiceTunnelClose(WEAVE_ERROR err)
|
void
Zamknij tunel usługi.
|
SetInterfaceName(const char *intfName)
|
void
Ustaw interfejs InterfaceName dla połączenia przez tunel.
|
SetInterfaceType(const SrcInterfaceType srcIntfType)
|
void
Ustaw SrcInterfaceType w przypadku połączenia przez tunel.
|
Shutdown(void)
|
void
Wyłącz WeaveTunnelConnectionMgr.
|
StopAndReconnectTunnelConn(ReconnectParam & reconnParam)
|
void
Zatrzymaj połączenie przez tunel usługi i spróbuj połączyć się ponownie.
|
TryConnectingNow(void)
|
Spróbuj nawiązać połączenie z Usługą.
|
Publiczne funkcje statyczne |
|
---|---|
DefaultReconnectPolicyCallback(void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
|
void
Domyślna implementacja zasady, która będzie używana do pobierania przy następnym połączeniu z Usługą.
|
HandleServiceConnectionClosed(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Moduł obsługi jest wywoływany po zamknięciu połączenia TCP usługi.
|
HandleServiceConnectionComplete(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Moduł obsługi został wywołany po zakończeniu połączenia z usługą TCP.
|
RecvdFromService(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message)
|
void
Moduł obsługi do odbierania tunelowanych pakietów IPv6 z połączenia TCP usługi i przekazywania ich do interfejsu punktu końcowego tunelu po usunięciu nieprzetworzonego pakietu IPv6 z nagłówka tunelu.
|
ServiceMgrStatusHandler(void *appState, WEAVE_ERROR err, StatusReport *report)
|
void
Moduł obsługi jest wywoływany, jeśli menedżerowi usług nie udało się nawiązać połączenia TCP z usługą.
|
Typy publiczne
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
Wywołanie zwrotne pozwalające pobrać odstęp czasu oczekiwania przed ponownym połączeniem z następnym tunelem.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
Właściwości | |
---|---|
kStatus_TunBackupConnError
|
Służy do wskazywania, że próba połączenia z tunelem zapasowym się nie udała albo istniejące połączenie zostało lokalnie przerwane lub zamknięte przez połączenie równorzędne. |
kStatus_TunBackupLiveness
|
Służy do wskazania informacji o sondzie żywotności tunelu w tunelu Backup Weave. |
kStatus_TunBackupOnlyDown
|
Służy do wskazywania, że tunel zapasowy nie działa. |
kStatus_TunBackupReconnectRcvd
|
Służy do wskazywania, że usługa poprosiła o ponowne połączenie dla tunelu Backup Weave. |
kStatus_TunBackupUp
|
Służy do wskazywania, że tunel Backup Weave jest aktywny. |
kStatus_TunDown
|
Wskazuje, że tunel Weave uległ awarii. |
kStatus_TunFailoverToBackup
|
Służy do wskazania, że tunel główny nie działa i wystąpiło przełączenie na tunel zapasowy. |
kStatus_TunPrimaryAndBackupUp
|
Służy do wskazywania, że tunel Primary i Backup Weave jest aktywny. |
kStatus_TunPrimaryConnError
|
Służy do wskazania, że próba nawiązania połączenia przez tunel główny nie powiodła się albo istniejące połączenie zostało lokalnie przerwane lub zamknięte przez połączenie równorzędne. |
kStatus_TunPrimaryLiveness
|
Służy do wskazania informacji o sondzie żywotności tunelu w tunelu Primary Weave. |
kStatus_TunPrimaryReconnectRcvd
|
Służy do wskazania, że usługa poprosiła o ponowne połączenie dla głównego tunelu Weave. |
kStatus_TunPrimaryUp
|
Służy do wskazywania, że podstawowy tunel Weave jest aktywny. |
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
Właściwości | |
---|---|
kState_Connecting
|
Służy do wskazania, że połączenie Weave Tunnel zostało zainicjowane. |
kState_ConnectionEstablished
|
Służy do wskazywania, że nawiązano połączenie Weave Tunnel i są wymieniane informacje o trasie. |
kState_NotConnected
|
Służy do wskazania, że tunel Weave nie jest połączony. |
kState_ReconnectRecvd
|
Służy do wskazywania, że usługa chce połączyć się ponownie po przeprowadzeniu wyszukiwania w katalogu przez bramę graniczną. |
kState_TunnelClosing
|
Służy do wskazywania, że tunel Weave Tunnel jest zamykany, a połączenie jest zerwane. |
kState_TunnelOpen
|
Wskazuje, że tunel Weave jest otwarty i gotowy do przesyłania danych. |
TunnelConnectionState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
Atrybuty publiczne
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
Funkcje publiczne
Init
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
Zainicjuj interfejs WeaveTunnelConnectionMgr.
ServiceTunnelClose
void ServiceTunnelClose( WEAVE_ERROR err )
Zamknij tunel usługi.
.Szczegóły | |||
---|---|---|---|
Parametry |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
Ustaw interfejs InterfaceName dla połączenia przez tunel.
Szczegóły | |||
---|---|---|---|
Parametry |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
Ustaw SrcInterfaceType w przypadku połączenia przez tunel.
Szczegóły | |||
---|---|---|---|
Parametry |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
Zatrzymaj połączenie przez tunel usługi i spróbuj połączyć się ponownie.
Szczegóły | |||
---|---|---|---|
Parametry |
|
TryConnectingNow
WEAVE_ERROR TryConnectingNow( void )
Spróbuj nawiązać połączenie z Usługą.
Spróbuj nawiązać połączenie z usługą za pomocą ServiceManagera lub bezpośrednio.
WeaveTunnelConnectionMgr
WeaveTunnelConnectionMgr( void )
Publiczne funkcje statyczne
DefaultReconnectPolicyCallback
void DefaultReconnectPolicyCallback( void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec )
Domyślna implementacja zasady, która będzie używana do pobierania przy następnym połączeniu z Usługą.
Ta zasada wybiera losowy przedział czasu (z rozdzielczością milisekundową) w rosnącym oknie, zgodnie z sekwencją Fibonacciego do WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
Moduł obsługi jest wywoływany po zamknięciu połączenia TCP usługi.
Urządzenie próbuje ponownie nawiązać połączenie z usługą, jeśli zasada mServiceConKeepAlive ma wartość true (prawda).
Następnie urządzenie spróbuje ponownie nawiązać połączenie z Usługą.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
Moduł obsługi został wywołany po zakończeniu połączenia z usługą TCP.
Urządzenie będzie teraz inicjować polecenia sterowania tunelem dla Usługi z poziomu tej funkcji.
Urządzenie będzie teraz inicjować polecenia sterowania tunelem dla Usługi z poziomu tej funkcji.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
Moduł obsługi do odbierania tunelowanych pakietów IPv6 z połączenia TCP usługi i przekazywania ich do interfejsu punktu końcowego tunelu po usunięciu nieprzetworzonego pakietu IPv6 z nagłówka tunelu.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
Moduł obsługi jest wywoływany, jeśli menedżerowi usług nie udało się nawiązać połączenia TCP z usługą.