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.
요약
WeaveEchoServer 클래스는 Weave Echo 프로토콜의 응답자 측을 구현합니다. ICMP 핑 프로토콜과 마찬가지로 Weave Echo 프로토콜을 사용하여 Weave 노드의 활성 및 연결 가능성을 테스트할 수 있습니다.
애플리케이션은 WeaveEchoServer 클래스를 사용하여 수신되는 EchoRequest 메시지에 대한 자동 응답을 활성화할 수 있습니다. 에코 요청을 시작하기 위한 상응하는 클래스가 있습니다 (WeaveEchoClient 참조).
기본적으로 WeaveEchoServer는 요청과 동일한 페이로드가 포함된 응답으로 EchoRequest에 즉시 응답합니다. 그러나 이 동작은 EchoRequestReceived API 이벤트를 처리하는 동안 애플리케이션에서 변경할 수 있습니다.
API 이벤트
작업 중에 WeaveEchoServer 객체는 애플리케이션을 호출하여 특정 작업을 요청하거나 중요한 이벤트에 대한 알림을 전달합니다. 이러한 API 이벤트 호출은 서버 객체에 현재 구성된 콜백 함수에 대해 이루어집니다. 달리 명시되지 않는 한 애플리케이션은 이벤트 콜백 중에 서버의 상태를 변경할 수 있습니다. 한 가지 전반적인 예외는 객체의 Shutdown() 메서드이며 콜백 도중에 호출되지 않을 수 있습니다.
다음과 같은 API 이벤트가 정의됩니다.
EchoRequestReceived
피어로부터 EchoRequest 메시지가 수신되었습니다. 이벤트에 대한 인수에는 요청 페이로드, 메시지를 수신한 교환 컨텍스트, 요청 메시지에 대한 메타 정보가 포함됩니다.
애플리케이션이 선택하는 경우, 이벤트에 대한 출력 인수를 변경하여 응답을 지연시키거나 응답을 완전히 억제할 수 있습니다. 또한 응답 메시지의 페이로드가 될 페이로드 버퍼의 콘텐츠를 변경할 수 있습니다.
EchoResponseSent
EchoResponse 메시지가 전송되었거나 전송되지 못했습니다. 이벤트에 대한 인수에는 메시지 전송에서 발생한 오류 (있는 경우) 및 메시지가 전송된 교환 컨텍스트가 포함됩니다.
상속
상속 출처: nl::Weave::WeaveServerBase직접 알려진 서브클래스: nl::Weave::DeviceLayer::Internal::EchoServer
생성자 및 소멸자 |
|
---|---|
WeaveEchoServer(void)
WeaveEchoServer의 기본 생성자.
|
공개 유형 |
|
---|---|
EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
|
typedefvoid(*
|
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
|
EventType{
|
enum |
공개 속성 |
|
---|---|
AppState
|
void *
애플리케이션별 데이터에 대한 포인터입니다.
|
OnEchoRequestReceived
|
EchoFunct
|
공개 함수 |
|
---|---|
GetEventCallback(void) const
|
EventCallback
현재 WeaveEchoServer 객체에 구성된 API 이벤트 콜백 함수에 대한 포인터를 반환합니다.
|
Init(WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
|
WeaveEchoServer 객체를 초기화합니다.
|
Init(WeaveExchangeManager *exchangeMgr)
|
WeaveEchoServer 객체를 초기화합니다.
|
SetEventCallback(EventCallback eventCallback)
|
void
WeaveEchoServer 객체에 API 이벤트 콜백 함수를 설정합니다.
|
Shutdown(void)
|
이전에 초기화된 WeaveEchoServer 객체를 종료합니다.
|
공개 정적 함수 |
|
---|---|
DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
|
void
WeaveEchoServer API 이벤트의 기본 핸들러입니다.
|
구조체 |
|
---|---|
nl:: |
WeaveEchoServer API 이벤트에 입력 매개변수를 입력합니다. |
nl:: |
WeaveEchoServer API 이벤트에 매개변수를 출력합니다. |
공개 유형
EchoFunct
void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
EventCallback
void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
EventType
EventType
속성 | |
---|---|
kEvent_DefaultCheck
|
애플리케이션에서 올바른 기본 이벤트 처리를 확인하는 데 사용됩니다. |
kEvent_EchoRequestReceived
|
피어로부터 EchoRequest 메시지가 수신되었습니다. |
kEvent_EchoResponseSent
|
EchoResponse 메시지가 전송되었거나 전송되지 못했습니다. |
공개 속성
AppState
void * AppState
애플리케이션별 데이터에 대한 포인터입니다.
OnEchoRequestReceived
EchoFunct OnEchoRequestReceived
공개 함수
GetEventCallback
EventCallback GetEventCallback( void ) const
현재 WeaveEchoServer 객체에 구성된 API 이벤트 콜백 함수에 대한 포인터를 반환합니다.
Init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
WeaveEchoServer 객체를 초기화합니다.
WeaveEchoServer 객체를 초기화하여 피어의 에코 메시지에 응답합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
Init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
WeaveEchoServer 객체를 초기화합니다.
WeaveEchoServer 객체를 초기화하여 피어의 에코 메시지에 응답합니다.
지원 중단됨: Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState)를 사용하세요.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
WeaveEchoServer 객체에 API 이벤트 콜백 함수를 설정합니다.
종료
WEAVE_ERROR Shutdown( void )
이전에 초기화된 WeaveEchoServer 객체를 종료합니다.
이 메서드는 이전에 Init() 메서드가 호출된 경우에만 호출할 수 있습니다.
공개 정적 함수
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
WeaveEchoServer API 이벤트의 기본 핸들러입니다.
애플리케이션에서 인식하거나 처리할 수 없는 API 이벤트에 대해 이 메서드를 호출해야 합니다. 제공된 매개변수는 서버 객체가 애플리케이션의 이벤트 핸들러 함수에 전달한 매개변수와 같아야 합니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|