нл:: Переплетение:: Профили:: ВеавеТуннель:: WeaveTunnelConnectionMgr
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
Этот класс инкапсулирует все состояния подключения туннеля Weave, а также соответствующую логику и функции управления.
Краткое содержание
Экземпляр этого класса будет использоваться для управления туннелем через каждый интерфейс, через который будет существовать туннель Weave к Сервису.
Конструкторы и деструкторы | |
---|---|
WeaveTunnelConnectionMgr (void) |
Публичные типы | |
---|---|
ConnectPolicyCallback )(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec) | определение типаvoid(* Обратный вызов для получения интервала времени ожидания перед следующим повторным подключением туннеля. |
TunnelConnNotifyReasons { | перечисление |
TunnelConnNotifyReasons | определение типа |
TunnelConnectionState { | перечисление |
TunnelConnectionState | определение типа |
Публичные атрибуты | |
---|---|
mServiceConnDelayPolicyCallback |
Общественные функции | |
---|---|
Init ( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName) | Инициализируйте WeaveTunnelConnectionMgr . |
ServiceTunnelClose ( WEAVE_ERROR err) | void Закройте служебный туннель. |
SetInterfaceName (const char *intfName) | void Установите имя интерфейса для туннельного подключения. |
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-соединения службы и их пересылки на интерфейс конечной точки туннеля после декапсуляции необработанного пакета IPv6 из заголовка туннеля. |
ServiceMgrStatusHandler (void *appState, WEAVE_ERROR err, StatusReport *report) | void Обработчик вызывается, если диспетчеру служб не удалось установить TCP-соединение со службой. |
Публичные типы
Обратный вызов политики подключения
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
Обратный вызов для получения интервала времени ожидания перед следующим повторным подключением туннеля.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
Характеристики | |
---|---|
kStatus_TunBackupConnError | Используется для обозначения того, что попытка подключения к резервному туннелю не удалась или существующее было локально прервано или закрыто узлом. |
kStatus_TunBackupLiveness | Используется для указания информации о проверке работоспособности туннеля в туннеле Backup Weave. |
kStatus_TunBackupOnlyDown | Используется для обозначения того, что резервный туннель не работает. |
kStatus_TunBackupReconnectRcvd | Используется для обозначения того, что Служба запросила повторное подключение к туннелю Backup Weave. |
kStatus_TunBackupUp | Используется для указания того, что туннель Backup Weave работает. |
kStatus_TunDown | Используется для обозначения того, что туннель Weave вышел из строя. |
kStatus_TunFailoverToBackup | Используется для обозначения того, что основной туннель не работает и произошло переключение на резервный туннель. |
kStatus_TunPrimaryAndBackupUp | Используется для обозначения того, что основной и резервный туннели Weave работают. |
kStatus_TunPrimaryConnError | Используется для обозначения того, что попытка подключения к основному туннелю не удалась или существующее было локально прервано или закрыто узлом. |
kStatus_TunPrimaryLiveness | Используется для указания информации о датчике жизнеспособности туннеля в туннеле Primary Weave. |
kStatus_TunPrimaryReconnectRcvd | Используется для обозначения того, что Служба запросила повторное подключение к туннелю Primary Weave. |
kStatus_TunPrimaryUp | Используется для указания того, что основной туннель Weave работает. |
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
Туннельконнектионстате
TunnelConnectionState
Характеристики | |
---|---|
kState_Connecting | Используется для обозначения того, что соединение Weave Tunnel было инициировано. |
kState_ConnectionEstablished | Используется для обозначения того, что соединение Weave Tunnel установлено и происходит обмен информацией о маршруте. |
kState_NotConnected | Используется для обозначения того, что туннель Weave не подключен. |
kState_ReconnectRecvd | Используется, чтобы указать, что Служба хочет, чтобы пограничный шлюз повторно подключился после поиска в каталоге. |
kState_TunnelClosing | Используется для обозначения того, что туннель Weave закрывается и соединение разрывается. |
kState_TunnelOpen | Используется для обозначения того, что Weave Tunnel открыт и готов к передаче трафика данных. |
Туннельконнектионстате
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
Публичные атрибуты
мсервицеконнделайполициколлбэк
ConnectPolicyCallback mServiceConnDelayPolicyCallback
Общественные функции
Инициализировать
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
Инициализируйте WeaveTunnelConnectionMgr .
СервисТуннельЗакрыть
void ServiceTunnelClose( WEAVE_ERROR err )
Закройте служебный туннель.
Подробности | |||
---|---|---|---|
Параметры |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
Установите имя интерфейса для туннельного подключения.
Подробности | |||
---|---|---|---|
Параметры |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
Установите SrcInterfaceType для туннельного подключения.
Подробности | |||
---|---|---|---|
Параметры |
|
СтопАнРеконнектТуннелКонн
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
Остановите соединение с туннелем службы и попытайтесь повторно подключиться.
Подробности | |||
---|---|---|---|
Параметры |
|
Попробуйте подключиться сейчас
WEAVE_ERROR TryConnectingNow( void )
Попытайтесь установить соединение с Сервисом.
Попробуйте установить соединение со Службой с помощью ServiceManager или напрямую.
WeaveTunnelConnectionMgr
WeaveTunnelConnectionMgr( void )
Публичные статические функции
ДефолтРеконнектПолициколлбэк
void DefaultReconnectPolicyCallback( void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec )
Реализация политики по умолчанию для получения данных при следующем подключении к Сервису.
Эта политика выбирает случайный временной интервал (с миллисекундным разрешением) в увеличивающемся окне, следуя последовательности Фибоначчи до WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
ДескрипторServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
Обработчик вызывается, когда TCP-соединение службы закрывается.
Устройство пытается восстановить соединение со службой, если для mServiceConKeepAlive установлено значение true.
Впоследствии устройство пытается восстановить соединение со Службой.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
Обработчик вызывается после завершения TCP-соединения службы.
Устройство переходит к инициированию команд управления туннелем для Сервиса из этой функции.
Устройство переходит к инициированию команд управления туннелем для Сервиса из этой функции.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
Реквдфромсервице
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
Обработчик для получения туннелированных пакетов IPv6 из TCP-соединения службы и их пересылки на интерфейс конечной точки туннеля после декапсуляции необработанного пакета IPv6 из заголовка туннеля.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
Обработчик службыMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
Обработчик вызывается, если диспетчеру служб не удалось установить TCP-соединение со службой.