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 עם תגובה שמכילה את המטען הייעודי (payload) הזהה לזה של הבקשה. עם זאת, האפליקציה יכולה לשנות את ההתנהגות הזו במהלך העיבוד של אירוע EchoRequestReceived API.

אירועי API

במהלך פעולתו, האובייקט WeaveEchoServer יתקשר לאפליקציה כדי לבקש פעולות ספציפיות או לספק התראות על אירועים חשובים. הקריאות לאירועי ה-API האלה מתבצעות לפונקציית הקריאה החוזרת המוגדרת כרגע באובייקט השרת. אפליקציות לא יכולות לשנות את מצב השרת במהלך קריאה חוזרת של אירוע (למעט במקומות שבהם מצוין אחרת). חריגה כללית אחת היא שיטת Shutdown() של האובייקט, שייתכן שלעולם לא תיקרא במהלך קריאה חוזרת (callback).

אירועי ה-API הבאים מוגדרים:

EchoRequestReceived

התקבלה הודעת EchoRequest מעמית. הארגומנטים לאירוע מכילים את המטען הייעודי (payload) של הבקשה, את ההקשר שבו התקבלה ההודעה ומטא-מידע על הודעת הבקשה.

אם האפליקציה בוחרת, היא עשויה לשנות את הארגומנטים של הפלט לאירוע כדי לאלץ השהיה בתגובה או כדי לבטל את התגובה לגמרי. בנוסף, הוא עשוי לשנות את התוכן של מאגר המטען הייעודי (payload), שיהפוך למטען הייעודי (payload) של הודעת התגובה.

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
מחזירה מצביע אל פונקציית הקריאה החוזרת של האירוע של ה-API שמוגדרת כרגע באובייקט WeaveEchoServer.
Init(WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
מאתחלים אובייקט WeaveEchoServer.
Init(WeaveExchangeManager *exchangeMgr)
מאתחלים אובייקט WeaveEchoServer.
SetEventCallback(EventCallback eventCallback)
void
מגדירה את פונקציית הקריאה החוזרת (callback) של אירוע ה-API באובייקט WeaveEchoServer.
Shutdown(void)
משביתים אובייקט WeaveEchoServer שאותחל בעבר.

פונקציות סטטיות ציבוריות

DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
handler ברירת מחדל לאירועי API של WeaveEchoServer.

מבנים

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

מזינים פרמטרים לאירוע API של WeaveEchoServer.

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

פרמטרים של פלט לאירוע API של WeaveEchoServer.

סוגים ציבוריים

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 

מחזירה מצביע אל פונקציית הקריאה החוזרת של האירוע של ה-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 כדי להגיב להודעות הד מעמית.

הוצא משימוש: יש להשתמש בפונקציה Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState).

פרטים
פרמטרים
[in] exchangeMgr
מצביע אל האובייקט WeaveExchangeManager.
[in] eventCallback
מצביע אל פונקציה שתיקרא על ידי האובייקט WeaveEchoServer כדי להעביר אירועי API לאפליקציה.
[in] appState
מצביע לאובייקט שמוגדר על ידי האפליקציה, שיועבר חזרה לאפליקציה בכל פעם שמתרחש אירוע API.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

מגדירה את פונקציית הקריאה החוזרת (callback) של אירוע ה-API באובייקט WeaveEchoServer.

כיבוי

WEAVE_ERROR Shutdown(
  void
)

משביתים אובייקט WeaveEchoServer שאותחל בעבר.

הערה: ניתן לקרוא לשיטה הזו רק אם השיטה Init() הופעלה בעבר.

WeaveEchoServer

 WeaveEchoServer(
  void
)

בנאי ברירת המחדל של WeaveEchoServer.

פונקציות סטטיות ציבוריות

DefaultEventHandler

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

handler ברירת מחדל לאירועי API של WeaveEchoServer.

אפליקציות נדרשות לקרוא לשיטה הזו עבור כל אירועי API שהם לא מזהים או לא מטפלים בה. הפרמטרים המסופקים חייבים להיות זהים לאלו שמועברים על ידי אובייקט השרת לפונקציית המטפל באירועים של האפליקציה.

פרטים
פרמטרים
[in] appState
מצביע לפרטי מצב שהוגדרו על ידי האפליקציה שמשויכים לאובייקט השרת.
[in] eventType
מזהה האירוע שהועבר על ידי הקריאה החוזרת של האירוע
[in] inParam
הפניה לפרמטרים של אירועי הקלט שהועברו מהקריאה החוזרת של האירוע
[in] outParam
הפניה לפרמטרים של אירועי פלט שהועברו על ידי הקריאה החוזרת לאירוע