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

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

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

Podsumowanie

Klasa WeaveEchoServer implementuje stronę respondenta protokołu Weave Echo. Podobnie jak protokół ping ICMP, protokół Weave Echo może być używany do testowania żywotności i osiągalności węzła Weave.

Aplikacje mogą używać klasy WeaveEchoServer do włączania automatycznej odpowiedzi na przychodzące wiadomości EchoRequest. Odpowiednia klasa istnieje do inicjowania żądań echo (zobacz WeaveEchoClient).

Domyślnie WeaveEchoServer odpowiada natychmiast na żądanie EchoRequest, wysyłając odpowiedź zawierającą ten sam ładunek co żądanie. Aplikacja może jednak zmienić to działanie podczas przetwarzania zdarzenia EchoRequestReceived API.

Zdarzenia interfejsu API

W trakcie działania obiekt WeaveEchoServer wywołuje aplikację, aby zażądać określonych działań lub dostarczyć powiadomienia o ważnych zdarzeniach. Te wywołania zdarzeń interfejsu API są wysyłane do obecnie skonfigurowanej funkcji wywołania zwrotnego w obiekcie serwera. O ile nie zaznaczono inaczej, aplikacje mogą zmieniać stan serwera podczas wywołania zwrotnego zdarzenia. Ogólnym wyjątkiem jest metoda Disabledown() obiektu, której nie można nigdy wywołać podczas wywołania zwrotnego.

Zdefiniowano te zdarzenia interfejsu API:

EchoRequestReceived

Odebrano wiadomość EchoRequest od elementu równorzędnego. Argumenty zdarzenia zawierają ładunek żądania, kontekst wymiany, w którym odebrano wiadomość, oraz metadane o wiadomości z żądania.

W takim przypadku aplikacja może zmienić argumenty wyjściowe zdarzenia, aby wymusić opóźnienie odpowiedzi lub całkowite wstrzymanie odpowiedzi. Dodatkowo może zmienić zawartość bufora ładunku, który stanie się ładunkiem wiadomości w odpowiedzi.

EchoResponseSent

Wiadomość echoResponse została wysłana lub nie udało się jej wysłać. Argumenty zdarzenia zawierają błąd, który wynikał z wysłania wiadomości (jeśli taka istnieje), oraz kontekst wymiany, w którym wiadomość została wysłana.

Dziedziczenie

Dziedziczy z: nl::Weave::WeaveServerBase
Bezpośrednie znane podklasy: nl::Weave::DeviceLayer::Internal::EchoServer

Konstruktory i niszczyciele

WeaveEchoServer(void)
Domyślny konstruktor dla WeaveEchoServer.

Typy publiczne

EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload) typedef
void(*
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
EventType{
  kEvent_EchoRequestReceived = 1,
  kEvent_EchoResponseSent = 2,
  kEvent_DefaultCheck = 100
}
enum | typ wyliczeniowy

Atrybuty publiczne

AppState
void *
wskaźnik do danych związanych z aplikacją,
OnEchoRequestReceived
EchoFunct

Funkcje publiczne

GetEventCallback(void) const
EventCallback
Zwraca wskaźnik do funkcji wywołania zwrotnego zdarzenia interfejsu API, która jest obecnie skonfigurowana w obiekcie WeaveEchoServer.
Init(WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
Zainicjuj obiekt WeaveEchoServer.
Init(WeaveExchangeManager *exchangeMgr)
Zainicjuj obiekt WeaveEchoServer.
SetEventCallback(EventCallback eventCallback)
void
Ustawia funkcję wywołania zwrotnego zdarzenia interfejsu API w obiekcie WeaveEchoServer.
Shutdown(void)
Wyłącz wcześniej zainicjowany obiekt WeaveEchoServer.

Publiczne funkcje statyczne

DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
Domyślny moduł obsługi zdarzeń interfejsu API WeaveEchoServer.

Struktura

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

Parametry wejściowe zdarzenia interfejsu API WeaveEchoServer.

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

Parametry wyjściowe dla zdarzenia interfejsu API WeaveEchoServer.

Typy publiczne

EchoFunct

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

EventCallback

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

EventType

 EventType
Właściwości
kEvent_DefaultCheck

Służy do weryfikacji prawidłowej domyślnej obsługi zdarzeń w aplikacji.

kEvent_EchoRequestReceived

Odebrano wiadomość EchoRequest od elementu równorzędnego.

kEvent_EchoResponseSent

Wiadomość echoResponse została wysłana lub nie udało się jej wysłać.

Atrybuty publiczne

AppState

void * AppState

wskaźnik do danych związanych z aplikacją,

OnEchoRequestReceived

EchoFunct OnEchoRequestReceived

Funkcje publiczne

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Zwraca wskaźnik do funkcji wywołania zwrotnego zdarzenia interfejsu API, która jest obecnie skonfigurowana w obiekcie WeaveEchoServer.

Init

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

Zainicjuj obiekt WeaveEchoServer.

Zainicjuj obiekt WeaveEchoServer, aby odpowiadać na komunikaty echa pochodzące od peera.

Szczegóły
Parametry
[in] exchangeMgr
Wskaźnik do obiektu WeaveExchangeManager.
[in] eventCallback
Wskaźnik do funkcji, która będzie wywoływana przez obiekt WeaveEchoServer w celu dostarczenia zdarzeń interfejsu API do aplikacji.
[in] appState
Wskaźnik do obiektu zdefiniowanego przez aplikację, który będzie przekazywany z powrotem do aplikacji za każdym razem, gdy wystąpi zdarzenie interfejsu API.

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

Zainicjuj obiekt WeaveEchoServer.

Zainicjuj obiekt WeaveEchoServer, aby odpowiadać na komunikaty echa pochodzące od peera.

WYCOFANY: użyj Init(WeaveExchangeManager * ExchangeMgr, EventCallback eventCallback, void * appState).

Szczegóły
Parametry
[in] exchangeMgr
Wskaźnik do obiektu WeaveExchangeManager.
[in] eventCallback
Wskaźnik do funkcji, która będzie wywoływana przez obiekt WeaveEchoServer w celu dostarczenia zdarzeń interfejsu API do aplikacji.
[in] appState
Wskaźnik do obiektu zdefiniowanego przez aplikację, który będzie przekazywany z powrotem do aplikacji za każdym razem, gdy wystąpi zdarzenie interfejsu API.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Ustawia funkcję wywołania zwrotnego zdarzenia interfejsu API w obiekcie WeaveEchoServer.

Wyłączono

WEAVE_ERROR Shutdown(
  void
)

Wyłącz wcześniej zainicjowany obiekt WeaveEchoServer.

Pamiętaj, że tę metodę można wywołać tylko wtedy, gdy metoda Init() została wywołana wcześniej.

WeaveEchoServer

 WeaveEchoServer(
  void
)

Domyślny konstruktor dla WeaveEchoServer.

Publiczne funkcje statyczne

DefaultEventHandler

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

Domyślny moduł obsługi zdarzeń interfejsu API WeaveEchoServer.

Aplikacje muszą wywoływać tę metodę w przypadku wszystkich zdarzeń interfejsu API, których nie rozpoznają ani nie obsługują. Podane parametry muszą być takie same jak te przekazywane przez obiekt serwera do funkcji modułu obsługi zdarzeń aplikacji.

Szczegóły
Parametry
[in] appState
Wskaźnik do określonych przez aplikację informacji o stanie powiązanych z obiektem serwera.
[in] eventType
Identyfikator zdarzenia przekazany przez wywołanie zwrotne zdarzenia
[in] inParam
Odniesienie do parametrów wejściowych zdarzeń przekazywanych przez wywołanie zwrotne zdarzenia
[in] outParam
Odniesienie do parametrów zdarzenia wyjściowego przekazywanych przez wywołanie zwrotne zdarzenia