нл:: Переплетение:: Профили:: ВеавеТуннель:: WeaveTunnelControl

Краткое содержание

Конструкторы и деструкторы

WeaveTunnelControl (void)

Публичные типы

TunnelStatusRcvdFunct )(uint8_t tType, StatusReport &tunStatus) определение типа
void(*
Указатель функции на обработчик, установленный более высоким уровнем для действия при получении сообщения StatusReport в ответ на отправленное сообщение управления туннелем.

Публичные атрибуты

OnTunStatusRcvd
mCtrlResponseTimeout
uint16_t
Таймаут (в секундах) ответа на управляющие сообщения.
mShortcutTunnelAdvInterval
uint16_t
Интервал в секундах для периодических объявлений туннеля быстрого доступа.

Общественные функции

Close (void)
Закройте WeaveTunnelControl , закрыв все невыполненные контексты обмена и сбросив элементы.
DisableShortcutTunneling (void)
void
Отключите туннелирование ярлыков для отправки рекламы из пограничного шлюза или мобильного клиента, а также прослушивания рекламы от аналогов туннелей ярлыков.
EnableShortcutTunneling (void)
void
Включите туннелирование по ярлыкам, отправляя рекламные объявления либо из пограничного шлюза, либо из мобильного клиента, а также прослушивая рекламные объявления от аналогов туннелей по ярлыкам.
Init ( WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd)
Инициализируйте WeaveTunnelControl , чтобы установить соответствующие элементы, такие как агент Weave Tunnel и обратные вызовы.
IsPeerInShortcutTunnelCache (uint64_t peerId)
bool
Проверьте, присутствует ли одноранговый узел в кэше ярлыков туннеля для локальной отправки.
Reconnect ( WeaveTunnelConnectionMgr *conMgr)
Восстановите соединение с одноранговым узлом.
SendBorderRouterAdvertise (void)
Отправьте пограничному маршрутизатору рекламное сообщение, рекламирующее его идентификатор структуры.
SendMessageOverTunnelShortcut (uint64_t peerId, WeaveMessageInfo *msgHdr, PacketBuffer *msg)
Отправьте сообщение через ярлык туннеля.
SendMobileClientAdvertise (void)
Отправьте мобильному клиенту рекламное сообщение, рекламирующее его идентификатор узла.
SendTunnelClose ( WeaveTunnelConnectionMgr *conMgr)
Отправьте управляющее сообщение о закрытии туннеля одноранговому узлу с набором туннельных маршрутов.
SendTunnelOpen ( WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
Отправьте управляющее сообщение Tunnel Open на одноранговый узел с набором туннельных маршрутов.
SendTunnelRouteUpdate ( WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
Отправьте управляющее сообщение «Обновление маршрута туннеля» на одноранговый узел с набором туннельных маршрутов.

Публичные статические функции

HandleShortcutTunnelAdvertiseMessage ( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
Функция, зарегистрированная в WeaveMessageLayer , для прослушивания рекламы в туннеле ярлыков и обновления кеша.

Публичные типы

TunnelStatusRcvdFunct

void(* TunnelStatusRcvdFunct)(uint8_t tType, StatusReport &tunStatus)

Указатель функции на обработчик, установленный более высоким уровнем для действия при получении сообщения StatusReport в ответ на отправленное сообщение управления туннелем.

Подробности
Параметры
[in] tType
Тип туннеля, т. е. основной или резервный.
[in] tunStatus
Ссылка на сообщение StatusReport элемента управления туннелем.

Публичные атрибуты

ОнТунстатусРквд

TunnelStatusRcvdFunct OnTunStatusRcvd

mCtrlResponseTimeout

uint16_t mCtrlResponseTimeout

Таймаут (в секундах) ответа на управляющие сообщения.

мШорткуттуннелеадвинтервал

uint16_t mShortcutTunnelAdvInterval

Интервал в секундах для периодических объявлений туннеля быстрого доступа.

Общественные функции

Закрывать

WEAVE_ERROR Close(
  void
)

Закройте WeaveTunnelControl , закрыв все невыполненные контексты обмена и сбросив элементы.

Подробности
Возврат
WEAVE_NO_ERROR.

Отключить ярлык туннелирования

void DisableShortcutTunneling(
  void
)

Отключите туннелирование ярлыков для отправки рекламы из пограничного шлюза или мобильного клиента, а также прослушивания рекламы от аналогов туннелей ярлыков.

ВключитьShortcutTunneling

void EnableShortcutTunneling(
  void
)

Включите туннелирование по ярлыкам, отправляя рекламные объявления либо из пограничного шлюза, либо из мобильного клиента, а также прослушивая рекламные объявления от аналогов туннелей по ярлыкам.

В этом

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelStatusRcvdFunct statusRcvd
)

Инициализируйте WeaveTunnelControl , чтобы установить соответствующие элементы, такие как агент Weave Tunnel и обратные вызовы.

Подробности
Параметры
[in] tunAgent
Указатель на объект WeaveTunnelAgent .
[in] statusRcvd
Указатель на обратный вызов обработчика StatusRcvd.
Возврат
WEAVE_NO_ERROR

IsPeerInShortcutTunnelCache

bool IsPeerInShortcutTunnelCache(
  uint64_t peerId
)

Проверьте, присутствует ли одноранговый узел в кэше ярлыков туннеля для локальной отправки.

Восстановить соединение

WEAVE_ERROR Reconnect(
  WeaveTunnelConnectionMgr *conMgr
)

Восстановите соединение с одноранговым узлом.

ОтправитьBorderRouterРеклама

WEAVE_ERROR SendBorderRouterAdvertise(
  void
)

Отправьте пограничному маршрутизатору рекламное сообщение, рекламирующее его идентификатор структуры.

Отправить сообщениеOverTunnelShortcut

WEAVE_ERROR SendMessageOverTunnelShortcut(
  uint64_t peerId,
  WeaveMessageInfo *msgHdr,
  PacketBuffer *msg
)

Отправьте сообщение через ярлык туннеля.

ОтправитьМобильныйКлиентРеклама

WEAVE_ERROR SendMobileClientAdvertise(
  void
)

Отправьте мобильному клиенту рекламное сообщение, рекламирующее его идентификатор узла.

ОтправитьТуннельЗакрыть

WEAVE_ERROR SendTunnelClose(
  WeaveTunnelConnectionMgr *conMgr
)

Отправьте управляющее сообщение о закрытии туннеля одноранговому узлу с набором туннельных маршрутов.

Отправьте управляющее сообщение о закрытии туннеля одноранговому узлу.

Подробности
Параметры
[in] conMgr
Указатель на объект WeaveTunnelConnectionMgr .
Возврат
WEAVE_ERROR WEAVE_NO_ERROR в случае успеха, иначе ошибка.

ОтправитьТуннельОткрыть

WEAVE_ERROR SendTunnelOpen(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

Отправьте управляющее сообщение Tunnel Open на одноранговый узел с набором туннельных маршрутов.

Подробности
Параметры
[in] conMgr
Указатель на объект WeaveTunnelConnectionMgr .
[in] tunRoutes
Список префиксных маршрутов для добавления в таблицу маршрутов.
Возврат
WEAVE_ERROR WEAVE_NO_ERROR в случае успеха, иначе ошибка.

Отправитьтуннельроутапдате

WEAVE_ERROR SendTunnelRouteUpdate(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

Отправьте управляющее сообщение «Обновление маршрута туннеля» на одноранговый узел с набором туннельных маршрутов.

Подробности
Параметры
[in] conMgr
Указатель на объект WeaveTunnelConnectionMgr .
[in] tunRoutes
Список префиксных маршрутов для добавления в таблицу маршрутов.
Возврат
WEAVE_ERROR WEAVE_NO_ERROR в случае успеха, иначе ошибка.

WeaveTunnelControl

 WeaveTunnelControl(
  void
)

Публичные статические функции

HandleShortcutTunnelAdvertiseMessage

void HandleShortcutTunnelAdvertiseMessage(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

Функция, зарегистрированная в WeaveMessageLayer , для прослушивания рекламы в туннеле ярлыков и обновления кеша.