нл:: Переплетение:: Профили:: ВеавеТуннель:: 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
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
Туннельконнектионстате
TunnelConnectionState
Туннельконнектионстате
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-соединение со службой.