нл:: Переплетение:: Профили:: Echo_Next:: WeaveEchoServer

#include <src/lib/profiles/echo/Next/WeaveEchoServer.h>

Accepts EchoRequest messages from a peer node and responds with an EchoResponse message.

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

Класс WeaveEchoServer реализует ответную часть протокола Weave Echo. Подобно протоколу проверки связи ICMP, протокол Weave Echo можно использовать для проверки работоспособности и доступности узла Weave.

Приложения могут использовать класс WeaveEchoServer для автоматического ответа на входящие сообщения EchoRequest. Для инициации эхо-запросов существует соответствующий класс (см. WeaveEchoClient ).

По умолчанию WeaveEchoServer немедленно отвечает на EchoRequest ответом, содержащим ту же полезную нагрузку, что и запрос. Однако это поведение может быть изменено приложением во время обработки события API EchoRequestReceived.

API-события

В ходе своей работы объект WeaveEchoServer будет обращаться к приложению для запроса определенных действий или доставки уведомлений о важных событиях. Эти вызовы событий API выполняются для текущей настроенной функции обратного вызова на объекте сервера. Если не указано иное, приложения могут изменять состояние сервера во время обратного вызова события. Единственным общим исключением является метод объекта Shutdown() , который никогда не может быть вызван во время обратного вызова.

Определены следующие события API:

Эхозапросполучен

Сообщение EchoRequest было получено от узла. Аргументы события содержат полезную нагрузку запроса, контекст обмена, в котором было получено сообщение, и метаинформацию о сообщении запроса.

Если приложение пожелает, оно может изменить выходные аргументы события, чтобы вызвать задержку ответа или вообще подавить ответ. Кроме того, он может изменить содержимое буфера полезной нагрузки, который станет полезной нагрузкой для ответного сообщения.

ЭхоОтветОтправлено

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

Наследование

Наследуется от: nl::Weave::WeaveServerBase
Прямые известные подклассы: nl::Weave::DeviceLayer::Internal::EchoServer

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

WeaveEchoServer (void)
Конструктор по умолчанию для WeaveEchoServer .

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

EchoFunct )(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload) определение типа
void(*
EventCallback )(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) определение типа
void(*
EventType {
kEvent_EchoRequestReceived = 1,
kEvent_EchoResponseSent = 2,
kEvent_DefaultCheck = 100
}
перечисление

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

AppState
void *
Указатель на данные, специфичные для приложения.
OnEchoRequestReceived
EchoFunct

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

GetEventCallback (void) const
EventCallback
Возвращает указатель на функцию обратного вызова событий API, настроенную в данный момент для объекта WeaveEchoServer .
Init ( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
Инициализируйте объект WeaveEchoServer .
Init ( WeaveExchangeManager *exchangeMgr)
Инициализируйте объект WeaveEchoServer .
SetEventCallback (EventCallback eventCallback)
void
Устанавливает функцию обратного вызова события API для объекта WeaveEchoServer .
Shutdown (void)
Завершите работу ранее инициализированного объекта WeaveEchoServer .

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

DefaultEventHandler (void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
Обработчик по умолчанию для событий API WeaveEchoServer .

Структуры

nl:: Weave:: Profiles:: Echo_Next:: WeaveEchoServer:: InEventParam

Входные параметры для события API WeaveEchoServer .

nl:: Weave:: Profiles:: Echo_Next:: WeaveEchoServer:: OutEventParam

Выходные параметры для события API WeaveEchoServer .

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

ЭхоФункция

void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)

Обратный вызов события

void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)

Тип события

 EventType
Характеристики
kEvent_DefaultCheck

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

kEvent_EchoRequestReceived

Сообщение EchoRequest было получено от узла.

kEvent_EchoResponseSent

Сообщение EchoResponse было отправлено или не удалось отправить.

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

состояние приложения

void * AppState

Указатель на данные, специфичные для приложения.

OnEchoRequestReceived

EchoFunct OnEchoRequestReceived

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

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Возвращает указатель на функцию обратного вызова событий API, настроенную в данный момент для объекта WeaveEchoServer .

В этом

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr,
  EventCallback eventCallback,
  void *appState
)

Инициализируйте объект WeaveEchoServer .

Инициализируйте объект WeaveEchoServer для ответа на эхо-сообщения от узла.

Подробности
Параметры
[in] exchangeMgr
Указатель на объект WeaveExchangeManager .
[in] eventCallback
Указатель на функцию, которая будет вызываться объектом WeaveEchoServer для доставки событий API в приложение.
[in] appState
Указатель на объект, определенный приложением, который будет передаваться обратно приложению при возникновении события API.

В этом

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

Инициализируйте объект WeaveEchoServer .

Инициализируйте объект WeaveEchoServer для ответа на эхо-сообщения от узла.

УСТАРЕЛО: используйте Init(WeaveExchangeManager * ExchangeMgr, EventCallback eventCallback, void * appState) .

Подробности
Параметры
[in] exchangeMgr
Указатель на объект WeaveExchangeManager .
[in] eventCallback
Указатель на функцию, которая будет вызываться объектом WeaveEchoServer для доставки событий API в приложение.
[in] appState
Указатель на объект, определенный приложением, который будет передаваться обратно приложению при возникновении события API.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Устанавливает функцию обратного вызова события API для объекта WeaveEchoServer .

Неисправность

WEAVE_ERROR Shutdown(
  void
)

Завершите работу ранее инициализированного объекта WeaveEchoServer .

Обратите внимание, что этот метод можно вызвать только в том случае, если ранее был вызван метод Init() .

WeaveEchoServer

 WeaveEchoServer(
  void
)

Конструктор по умолчанию для WeaveEchoServer .

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

Обработчик событий по умолчанию

void DefaultEventHandler(
  void *appState,
  EventType eventType,
  const InEventParam & inParam,
  OutEventParam & outParam
)

Обработчик по умолчанию для событий API WeaveEchoServer .

Приложения должны вызывать этот метод для любых событий API, которые они не распознают или не обрабатывают. Предоставляемые параметры должны быть такими же, как те, которые передаются объектом сервера в функцию обработчика событий приложения.

Подробности
Параметры
[in] appState
Указатель на определяемую приложением информацию о состоянии, связанную с объектом сервера.
[in] eventType
Идентификатор события, передаваемый обратным вызовом события
[in] inParam
Ссылка на параметры входного события, передаваемые обратным вызовом события
[in] outParam
Ссылка на параметры выходного события, передаваемые обратным вызовом события