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
Direct Known Subclasses: 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
이벤트 콜백에서 전달한 출력 이벤트 매개변수 참조