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 po stronie użytkownika 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. Istnieje klasa do inicjowania żądań echa (patrz WeaveEchoClient).
Domyślnie WeaveEchoServer od razu odpowiada na żądanie EchoRequest, wysyłając odpowiedź zawierającą ten sam ładunek co żądanie. Aplikacja może jednak zmienić to zachowanie podczas przetwarzania zdarzenia EchoRequestReceived API.
Zdarzenia API
W trakcie działania obiekt WeaveEchoServer wywołuje aplikację, aby zażądać określonych działań lub dostarczać powiadomienia o ważnych zdarzeniach. Te wywołania zdarzeń interfejsu API są kierowane 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. Jednym z ogólnych wyjątków jest metoda Shutdown() obiektu, która nie może zostać wywołana podczas wywołania zwrotnego.
Zdefiniowano te zdarzenia interfejsu API:
EchoRequestReceived
Odebrano wiadomość EchoRequest od połączenia równorzędnego. Argumenty zdarzenia zawierają ładunek żądania, kontekst wymiany, w ramach którego odebrano wiadomość, oraz metadane dotyczące komunikatu z żądaniem.
Jeśli aplikacja o tym zdecyduje, może zmienić argumenty wyjściowe zdarzenia, aby wymusić opóźnienie w udzieleniu odpowiedzi lub całkowicie pominąć odpowiedź. Może też zmienić zawartość bufora ładunku, który stanie się ładunkiem wiadomości z odpowiedzią.
EchoResponseSent
Wiadomość EchoResponse została wysłana lub nie udało się jej wysłać. Argumenty zdarzenia zawierają błąd wynikający z wysłania wiadomości (jeśli wystąpił) oraz kontekst wymiany, przez który wiadomość została wysłana.
Dziedziczenie
Dziedziczy z: nl::Weave::WeaveServerBaseBezpośrednie znane podklasy: nl::Weave::DeviceLayer::Internal::EchoServer
Konstruktorzy i niszczyciele |
|
---|---|
WeaveEchoServer(void)
Domyślny konstruktor dla serwera WeaveEchoServer.
|
Typy publiczne |
|
---|---|
EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
|
typedefvoid(*
|
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
|
EventType{
|
enum | typ wyliczeniowy |
Atrybuty publiczne |
|
---|---|
AppState
|
void *
Wskaźnik do danych specyficznych dla aplikacji.
|
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 zainicjowany wcześniej 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.
|
Konstrukcja |
|
---|---|
nl:: |
Parametry wejściowe zdarzenia interfejsu API WeaveEchoServer. |
nl:: |
Parametry wyjściowe do 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 weryfikowania prawidłowej domyślnej obsługi zdarzeń w aplikacji. |
kEvent_EchoRequestReceived
|
Odebrano wiadomość EchoRequest od połączenia 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 specyficznych dla aplikacji.
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.
Zainicjuj
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
Zainicjuj obiekt WeaveEchoServer.
Zainicjuj obiekt WeaveEchoServer, aby odpowiadać na wiadomości echa od peera.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
Zainicjuj
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
Zainicjuj obiekt WeaveEchoServer.
Zainicjuj obiekt WeaveEchoServer, aby odpowiadać na wiadomości echa od peera.
WYCOFANE: użyj Init(WeaveExchangeManager * ExchangeMgr, EventCallback eventCallback, void * appState).
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
Ustawia funkcję wywołania zwrotnego zdarzenia interfejsu API w obiekcie WeaveEchoServer.
Wyłączono
WEAVE_ERROR Shutdown( void )
Wyłącz zainicjowany wcześniej obiekt WeaveEchoServer.
Pamiętaj, że tę metodę można wywołać tylko wtedy, gdy metoda Init() została wywołana wcześniej.
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 przekazane przez obiekt serwera do funkcji modułu obsługi zdarzeń aplikacji.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|