Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

nl :: 짜다:: 프로필 :: 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의 클래스가 구현 직조 에코 프로토콜의 응답면. ICMP 핑 프로토콜과 유사하게 Weave Echo 프로토콜을 사용하여 Weave 노드의 활성 상태와 도달 가능성을 테스트 할 수 있습니다.

응용 프로그램은 사용할 수 WeaveEchoServer의 수신 EchoRequest 메시지에 자동 대응을 가능하게하는 클래스를. 상응하는 클래스는 에코 요청 (참조 시작 존재 WeaveEchoClient을 ).

기본적으로 WeaveEchoServer는 요청과 동일한 페이로드를 포함하는 응답을 가진 EchoRequest 즉시 응답한다. 그러나이 동작은 EchoRequestReceived API 이벤트를 처리하는 동안 응용 프로그램에서 변경할 수 있습니다.

API 이벤트

동작의 과정 동안, WeaveEchoServer의 객체는 요청 특정 작업에 응용 프로그램까지 전화 또는 중요한 이벤트의 알림을 제공합니다. 이러한 API 이벤트 호출은 서버 개체에서 현재 구성된 콜백 함수에 수행됩니다. 언급 된 경우를 제외하고 애플리케이션은 이벤트 콜백 중에 서버의 상태를 자유롭게 변경할 수 있습니다. 하나 개의 전체 예외는 객체의입니다 종료 () 콜백 중에 호출되지 않을 수 있습니다 방법.

다음 API 이벤트가 정의됩니다.

EchoRequestReceived

피어로부터 EchoRequest 메시지를 받았습니다. 이벤트에 대한 인수에는 요청 페이로드, 메시지가 수신 된 교환 컨텍스트 및 요청 메시지에 대한 메타 정보가 포함됩니다.

애플리케이션이 선택하면 이벤트에 대한 출력 인수를 변경하여 응답을 지연 시키거나 응답을 완전히 억제 할 수 있습니다. 또한 응답 메시지의 페이로드가 될 페이로드 버퍼의 내용을 변경할 수 있습니다.

EchoResponseSent

EchoResponse 메시지를 보냈거나 보내지 못했습니다. 이벤트에 대한 인수에는 메시지 (있는 경우) 전송으로 인한 오류와 메시지가 전송 된 교환 컨텍스트가 포함됩니다.

계승

:에서 상속 NL :: 위브 :: WeaveServerBase
기존의 서브 클래스를 직접 : NL :: 위브 :: DeviceLayer :: 내부 :: 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
}
열거 형

공용 속성

AppState
void *
애플리케이션 별 데이터에 대한 포인터입니다.
OnEchoRequestReceived
EchoFunct

공공 기능

GetEventCallback (void) const
EventCallback
현재에 구성된 API 이벤트 콜백 함수에 대한 포인터를 돌려줍니다 WeaveEchoServer의 개체를.
Init ( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
초기화 WeaveEchoServer의 개체를.
Init ( WeaveExchangeManager *exchangeMgr)
초기화 WeaveEchoServer의 개체를.
SetEventCallback (EventCallback eventCallback)
void
온 API를 이벤트 콜백 함수로 설정 WeaveEchoServer의 개체를.
Shutdown (void)
종료 이전에 초기화 WeaveEchoServer의 객체입니다.

공개 정적 함수

DefaultEventHandler (void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
에 대한 기본 핸들러 WeaveEchoServer의 API 이벤트.

구조체

NL :: 위브 :: 프로필 :: Echo_Next :: WeaveEchoServer :: InEventParam

에 입력 매개 변수 WeaveEchoServer의 API 이벤트.

NL :: 위브 :: 프로필 :: 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
속성
kEvent_DefaultCheck

응용 프로그램에서 올바른 기본 이벤트 처리를 확인하는 데 사용됩니다.

kEvent_EchoRequestReceived

피어로부터 EchoRequest 메시지를 받았습니다.

kEvent_EchoResponseSent

EchoResponse 메시지를 보냈거나 보내지 못했습니다.

공용 속성

AppState

void * AppState

애플리케이션 별 데이터에 대한 포인터입니다.

OnEchoRequestReceived

EchoFunct OnEchoRequestReceived

공공 기능

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

현재에 구성된 API 이벤트 콜백 함수에 대한 포인터를 돌려줍니다 WeaveEchoServer의 개체를.

초기화

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

초기화 WeaveEchoServer의 개체를.

초기화 WeaveEchoServer의 피어에서 에코 메시지에 응답 할 개체를.

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

초기화

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

초기화 WeaveEchoServer의 개체를.

초기화 WeaveEchoServer의 피어에서 에코 메시지에 응답 할 개체를.

사용되지 않음 : 사용하십시오 초기화 (WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, 무효 *의 AppState 서비스를) .

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

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

온 API를 이벤트 콜백 함수로 설정 WeaveEchoServer의 개체를.

일시 휴업

WEAVE_ERROR Shutdown(
  void
)

종료 이전에 초기화 WeaveEchoServer의 객체입니다.

이 방법은 호출 할 수 있습니다 초기화 () 메소드가 이전에 호출 된.

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
이벤트 콜백에 의해 전달 된 출력 이벤트 매개 변수의 참조