nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelConnectionMgr
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
Ta klasa obejmuje wszystkie stany połączeń tunelu Weave oraz powiązane z nimi funkcje i logikę zarządzania.
Podsumowanie
Instancja tej klasy będzie używana do zarządzania tunelem w każdym interfejsie, za pomocą którego będzie istniał tunel Weave do usługi.
Konstruktorzy i niszczyciele |
|
---|---|
WeaveTunnelConnectionMgr(void)
|
Typy publiczne |
|
---|---|
ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
|
typedefvoid(*
Wywołanie zwrotne w celu pobrania odstępu czasu oczekiwania do ponownego połączenia przez tunel. |
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 plik WeaveTunnelConnectionMgr.
|
ServiceTunnelClose(WEAVE_ERROR err)
|
void
Zamknij tunel usługi.
|
SetInterfaceName(const char *intfName)
|
void
Ustaw InterfaceName na potrzeby połączenia przez tunel.
|
SetInterfaceType(const SrcInterfaceType srcIntfType)
|
void
Ustaw SrcInterfaceType na potrzeby 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ę jeszcze raz.
|
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 zasad pobierania przy następnym połączeniu z usługą.
|
HandleServiceConnectionClosed(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Moduł obsługi wywoływany po zamknięciu połączenia TCP usługi.
|
HandleServiceConnectionComplete(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Moduł obsługi wywoływany 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 do interfejsu Tunnel EndPoint po usunięciu surowego 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ługi 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 w celu pobrania odstępu czasu oczekiwania do ponownego połączenia przez tunel.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
Właściwości | |
---|---|
kStatus_TunBackupConnError
|
Wskazuje, że próba połączenia przez tunel zapasowy zakończyła się niepowodzeniem albo istniejący został lokalnie przerwany lub zamknięty przez połączenie równorzędne. |
kStatus_TunBackupLiveness
|
Służy do informowania o sondzie żywotności tunelu w tunelu Backup Weave. |
kStatus_TunBackupOnlyDown
|
Wskazuje, że tunel zapasowy nie działa. |
kStatus_TunBackupReconnectRcvd
|
Służy do wskazywania, że usługa zażądała ponownego połączenia dla tunelu Backup Weave. |
kStatus_TunBackupUp
|
Wskazuje, że tunel Backup Weave jest aktywny. |
kStatus_TunDown
|
Wskazuje, że tunel Weave przestał działać. |
kStatus_TunFailoverToBackup
|
Służy do informowania, że główny tunel jest wyłączony i nastąpiło przełączenie na tunel zapasowy. |
kStatus_TunPrimaryAndBackupUp
|
Służy do wskazywania, że zarówno główny, jak i zapasowy tunel Weave są włączone. |
kStatus_TunPrimaryConnError
|
Wskazuje, że próba połączenia głównego tunelu nie powiodła się albo istniejąca została lokalnie przerwana lub zamknięta przez połączenie równorzędne. |
kStatus_TunPrimaryLiveness
|
Służy do informowania o sondzie żywotności tunelu w tunelu Primary Weave. |
kStatus_TunPrimaryReconnectRcvd
|
Służy do wskazywania, że usługa zażądała ponownego połączenia dla głównego tunelu Weave. |
kStatus_TunPrimaryUp
|
Służy do wskazywania, że główny 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 informowania, że połączenie Weave Tunnel zostało zainicjowane. |
kState_ConnectionEstablished
|
Służy do informowania, że nawiązano połączenie z tunelem Weave i że są wymieniane informacje o trasach. |
kState_NotConnected
|
Służy do informowania, że tunel Weave nie jest połączony. |
kState_ReconnectRecvd
|
Służy do wskazywania, że usługa chce, aby brama brzegowa połączyła się ponownie po wyszukaniu katalogu. |
kState_TunnelClosing
|
Służy do informowania, że tunel Weave jest zamykany i połączenie jest zerwane. |
kState_TunnelOpen
|
Służy do informowania, ż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
Zainicjuj
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
Zainicjuj plik WeaveTunnelConnectionMgr.
ServiceTunnelClose
void ServiceTunnelClose( WEAVE_ERROR err )
Zamknij tunel usługi.
Szczegóły | |||
---|---|---|---|
Parametry |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
Ustaw InterfaceName na potrzeby połączenia przez tunel.
Szczegóły | |||
---|---|---|---|
Parametry |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
Ustaw SrcInterfaceType na potrzeby 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ę jeszcze raz.
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ą menedżera usługi lub bezpośrednio.
WeaveTunnelConnectionMgr
WeaveTunnelConnectionMgr( void )
Publiczne funkcje statyczne
DefaultReconnectPolicyCallback
void DefaultReconnectPolicyCallback( void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec )
Domyślna implementacja zasad pobierania przy następnym połączeniu z usługą.
Ta zasada wybiera losowy przedział czasu (z rozdzielczością w milisekundach) w rosnącym oknie po sekwencji fibonacci do WEAVE_CONFIG_tuneING_RECONNECT_MAX_FIBONACCI_INDEX.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
Moduł obsługi 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.
Następnie spróbuje ponownie nawiązać połączenie z Usługą.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
Moduł obsługi wywoływany po zakończeniu połączenia z usługą TCP.
Urządzenie przechodzi z poziomu tej funkcji do inicjowania poleceń sterujących tunelu do usługi.
Urządzenie przechodzi z poziomu tej funkcji do inicjowania poleceń sterujących tunelu do usługi.
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 do interfejsu Tunnel EndPoint po usunięciu surowego 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ługi nie udało się nawiązać połączenia TCP z usługą.