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 khả năng kết nối và khả năng tiếp cận của nút Weave.
Các ứng dụng có thể sử dụng lớp WeaveEchoServer để bật tính năng phản hồi tự động cho các thông báo EchoRequest gửi đến. Có một lớp tương ứng để khởi tạo các yêu cầu tiếng vọng (xem WeaveEchoClient).
Theo mặc định, WeaveEchoServer phản hồi ngay lập tức một EchoRequest bằng phản hồi chứa cùng trọng tải 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ừ trường hợp được lưu ý, các ứng dụng có thể tự do thay đổi trạng thái máy chủ trong quá trình gọi lại sự kiện. Một trường hợp 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 một thông báo EchoRequest từ một ứng dụng ngang hàng. Đối số cho sự kiện có chứa tải trọng yêu cầu, ngữ cảnh trao đổi mà thông báo đã được nhận 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ì hoãn phản hồi hoặc ngăn hoàn toàn phản hồi. Ngoài ra, thao tác này có thể thay đổi nội dung của vùng đệm tải trọng, nơi sẽ trở thành tải trọng cho thông báo phản hồi.
EchoResponseSent
Một tin nhắn EchoResponse đã được gửi hoặc không gửi được. Các đối số cho sự kiện chứa lỗi do gửi thông báo (nếu có) và ngữ cảnh trao đổi mà thông báo đã được gửi.
Tính kế thừa
Kế thừa từ: nl::Weave::WeaveServerBaseLớp con đã biết trực tiếp: nl::Weave::DeviceLayer::Internal::EchoServer
Hàm khởi tạo và hàm phá |
|
---|---|
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)
|
typedefvoid(*
|
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
|
EventType{
|
enum |
Thuộc tính công khai |
|
---|---|
AppState
|
void *
Con trỏ tới 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:: |
Các tham số đầu vào cho sự kiện API WeaveEchoServer. |
nl:: |
Xuất tham số sang sự kiện WeaveEchoServer API. |
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 một thông báo EchoRequest từ một ứng dụng ngang hàng. |
kEvent_EchoResponseSent
|
Một tin nhắn EchoResponse đã được gửi hoặc không gửi được. |
Thuộc tính công khai
AppState
void * AppState
Con trỏ tới 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.
Bắt đầu
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
Khởi động một đối tượng WeaveEchoServer.
Khởi động một đối tượng WeaveEchoServer để phản hồi thông báo tiếng vọng từ một ứng dụng ngang hàng.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
Bắt đầu
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
Khởi động một đối tượng WeaveEchoServer.
Khởi động một đối tượng WeaveEchoServer để phản hồi thông báo tiếng vọng từ một ứng dụng ngang hàng.
KHÔNG DÙNG NỮA: Vui lòng sử dụng Init(WeaveExchangeManager * swapMgr, EventCallback eventCallback, void * appState).
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
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 bạn chỉ có thể gọi phương thức này nếu phương thức Init() đã được gọi trước đó.
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.
Ứng dụng bắt buộc 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ý. 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.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
|