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) 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

공개 속성

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::Weave::Profiles::Echo_Next::WeaveEchoServer::InEventParam

WeaveEchoServer API 이벤트에 입력 매개변수를 입력합니다.

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

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 객체를 초기화하여 피어의 에코 메시지에 응답합니다.

세부정보
매개변수
[in] exchangeMgr
WeaveExchangeManager 객체에 대한 포인터입니다.
[in] eventCallback
API 이벤트를 애플리케이션에 전달하기 위해 WeaveEchoServer 객체가 호출할 함수에 대한 포인터입니다.
[in] appState
API 이벤트가 발생할 때마다 애플리케이션에 다시 전달되는 애플리케이션 정의 객체에 대한 포인터입니다.

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

WeaveEchoServer 객체를 초기화합니다.

WeaveEchoServer 객체를 초기화하여 피어의 에코 메시지에 응답합니다.

지원 중단됨: Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState)를 사용하세요.

세부정보
매개변수
[in] exchangeMgr
WeaveExchangeManager 객체에 대한 포인터입니다.
[in] eventCallback
API 이벤트를 애플리케이션에 전달하기 위해 WeaveEchoServer 객체가 호출할 함수에 대한 포인터입니다.
[in] appState
API 이벤트가 발생할 때마다 애플리케이션에 다시 전달되는 애플리케이션 정의 객체에 대한 포인터입니다.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

WeaveEchoServer 객체에 API 이벤트 콜백 함수를 설정합니다.

종료

WEAVE_ERROR Shutdown(
  void
)

이전에 초기화된 WeaveEchoServer 객체를 종료합니다.

이 메서드는 이전에 Init() 메서드가 호출된 경우에만 호출할 수 있습니다.

WeaveEchoServer

 WeaveEchoServer(
  void
)

WeaveEchoServer의 기본 생성자.

공개 정적 함수

DefaultEventHandler

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

WeaveEchoServer API 이벤트의 기본 핸들러입니다.

애플리케이션에서 인식하거나 처리할 수 없는 API 이벤트에 대해 이 메서드를 호출해야 합니다. 제공된 매개변수는 서버 객체가 애플리케이션의 이벤트 핸들러 함수에 전달한 매개변수와 같아야 합니다.

세부정보
매개변수
[in] appState
서버 객체와 연결된 애플리케이션에서 정의한 상태 정보에 대한 포인터입니다.
[in] eventType
이벤트 콜백에서 전달한 이벤트 ID
[in] inParam
이벤트 콜백에서 전달한 입력 이벤트 매개변수의 참조입니다.
[in] outParam
이벤트 콜백이 전달한 출력 이벤트 매개변수의 참조입니다.