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.

Tóm tắt

Lớp WeaveEchoServer triển khai phía trình phản hồi của giao thức Weave Echo. Tương tự như giao thức ping ICMP, giao thức Weave Echo có thể được dùng để kiểm tra tính hoạt động và khả năng kết nối của nút Weave.

Các ứng dụng có thể dùng lớp WeaveEchoServer để bật tính năng phản hồi tự động cho các tin nhắn EchoRequest đến. Một lớp tương ứng tồn tại để khởi tạo các yêu cầu tiếng vọng (xem WeaveEchoClient).

Theo mặc định, WeaveEchoServer sẽ phản hồi ngay lập tức một EchoRequest với phản hồi có chứa cùng tải trọng với yêu cầu. Tuy nhiên, ứng dụng có thể thay đổi hành vi này trong quá trình xử lý sự kiện API EchoRequestReceived.

Sự kiện API

Trong quá trình hoạt động, đối tượng WeaveEchoServer sẽ gọi đến ứng dụng để yêu cầu các thao tác cụ thể hoặc gửi thông báo về các sự kiện quan trọng. Các lệnh gọi sự kiện API này được thực hiện đến hàm callback hiện được định cấu hình trên đối tượng máy chủ. Ngoại trừ những trường hợp có lưu ý, các ứng dụng có thể tự do thay đổi trạng thái của máy chủ trong khi lệnh gọi lại sự kiện. Một ngoại lệ chung là phương thức Shutdown() của đối tượng. Phương thức này có thể không bao giờ được gọi trong lệnh gọi lại.

Các sự kiện API sau đây được xác định:

EchoRequestReceived

Đã nhận được tin nhắn EchoRequest từ một ứng dụng ngang hàng. Các đối số cho sự kiện này chứa tải trọng yêu cầu, ngữ cảnh trao đổi mà thông báo nhận được qua đó và thông tin siêu dữ liệu về thông báo yêu cầu.

Nếu chọn, ứng dụng có thể thay đổi các đối số đầu ra cho sự kiện để buộc độ trễ khi phản hồi hoặc loại bỏ hoàn toàn phản hồi. Ngoài ra, việc này có thể thay đổi nội dung của vùng đệm tải trọng, vốn sẽ trở thành tải trọng cho thông báo phản hồi.

EchoResponseSent

Đã gửi hoặc không gửi được thông báo EchoResponse. Các đối số cho sự kiện này chứa lỗi phát sinh từ việc gửi tin nhắn (nếu có) và ngữ cảnh trao đổi mà tin nhắn được gửi đi.

Tính kế thừa

Kế thừa từ: nl::Weave::WeaveServerBase
Lớp học con đã biết trực tiếp: nl::Weave::DeviceLayer::Internal::EchoServer

Hàm khởi tạo và phá huỷ

WeaveEchoServer(void)
Hàm khởi tạo mặc định cho WeaveEchoServer.

Loại công khai

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

Các thuộc tính công khai

AppState
void *
Con trỏ trỏ đến dữ liệu dành riêng cho ứng dụng.
OnEchoRequestReceived
EchoFunct

Hàm công khai

GetEventCallback(void) const
EventCallback
Trả về một con trỏ đến hàm callback sự kiện API hiện được định cấu hình trên đối tượng WeaveEchoServer.
Init(WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
Khởi động một đối tượng WeaveEchoServer.
Init(WeaveExchangeManager *exchangeMgr)
Khởi động một đối tượng WeaveEchoServer.
SetEventCallback(EventCallback eventCallback)
void
Đặt hàm callback sự kiện API trên đối tượng WeaveEchoServer.
Shutdown(void)
Tắt đối tượng WeaveEchoServer đã khởi tạo trước đó.

Hàm tĩnh công khai

DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
Trình xử lý mặc định cho các sự kiện API WeaveEchoServer.

Cấu trúc

nl::Weave::Profiles::Echo_Next::WeaveEchoServer::InEventParam

Nhập các tham số vào sự kiện của API WeaveEchoServer.

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

Xuất các tham số cho sự kiện API WeaveEchoServer.

Loại công khai

EchoFunct

void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)

EventCallback

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

EventType

 EventType
Thuộc tính
kEvent_DefaultCheck

Dùng để xác minh cách xử lý sự kiện mặc định chính xác trong ứng dụng.

kEvent_EchoRequestReceived

Đã nhận được tin nhắn EchoRequest từ một ứng dụng ngang hàng.

kEvent_EchoResponseSent

Đã gửi hoặc không gửi được thông báo EchoResponse.

Các thuộc tính công khai

AppState

void * AppState

Con trỏ trỏ đến dữ liệu dành riêng cho ứng dụng.

OnEchoRequestReceived

EchoFunct OnEchoRequestReceived

Hàm công khai

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Trả về một con trỏ đến hàm callback sự kiện API hiện được định cấu hình trên đối tượng WeaveEchoServer.

Init

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

Khởi động một đối tượng WeaveEchoServer.

Khởi chạy một đối tượng WeaveEchoServer để phản hồi các thông báo phản hồi từ một ứng dụng ngang hàng.

Chi tiết
Tham số
[in] exchangeMgr
Con trỏ trỏ đến đối tượng WeaveExchangeManager.
[in] eventCallback
Con trỏ trỏ đến một hàm sẽ được gọi bởi đối tượng WeaveEchoServer để gửi các sự kiện API đến ứng dụng.
[in] appState
Con trỏ trỏ đến một đối tượng do ứng dụng xác định và sẽ được trả về cho ứng dụng mỗi khi có sự kiện API xảy ra.

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

Khởi động một đối tượng WeaveEchoServer.

Khởi chạy một đối tượng WeaveEchoServer để phản hồi các thông báo phản hồi từ một ứng dụng ngang hàng.

ĐÃ NGỪNG HOẠT ĐỘNG: Vui lòng sử dụng Init(WeaveExchangeManager * ExchangeMgr, EventCallback eventCallback, void * appState).

Chi tiết
Tham số
[in] exchangeMgr
Con trỏ trỏ đến đối tượng WeaveExchangeManager.
[in] eventCallback
Con trỏ trỏ đến một hàm sẽ được gọi bởi đối tượng WeaveEchoServer để gửi các sự kiện API đến ứng dụng.
[in] appState
Con trỏ trỏ đến một đối tượng do ứng dụng xác định và sẽ được trả về cho ứng dụng mỗi khi có sự kiện API xảy ra.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Đặt hàm callback sự kiện API trên đối tượng WeaveEchoServer.

Tắt

WEAVE_ERROR Shutdown(
  void
)

Tắt đối tượng WeaveEchoServer đã khởi tạo trước đó.

Lưu ý rằng phương thức này chỉ có thể được gọi nếu phương thức Init() đã được gọi trước đó.

WeaveEchoServer

 WeaveEchoServer(
  void
)

Hàm khởi tạo mặc định cho WeaveEchoServer.

Hàm tĩnh công khai

DefaultEventHandler

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

Trình xử lý mặc định cho các sự kiện API WeaveEchoServer.

Các ứng dụng cần phải gọi phương thức này cho mọi sự kiện API mà ứng dụng không nhận dạng hoặc xử lý được. Tham số được cung cấp phải giống với tham số mà đối tượng máy chủ chuyển đến hàm trình xử lý sự kiện của ứng dụng.

Chi tiết
Tham số
[in] appState
Con trỏ trỏ đến thông tin trạng thái do ứng dụng xác định được liên kết với đối tượng máy chủ.
[in] eventType
Mã sự kiện bị lệnh gọi lại sự kiện truyền
[in] inParam
Tham chiếu các thông số sự kiện đầu vào được lệnh gọi lại sự kiện truyền
[in] outParam
Tham chiếu đến các thông số sự kiện đầu ra được lệnh gọi lại sự kiện truyền