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() של האובייקט, והיא לא יכולה להתבצע אף פעם במהלך קריאה חוזרת.

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

EchoRequestReceived

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

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

EchoResponseSent

הודעת EchoResponse נשלחה או שליחתה נכשלה. הארגומנטים לאירוע מכילים את השגיאה שנוצרה משליחת ההודעה (אם הייתה כזו) ואת הקשר ההחלפה שדרכו ההודעה נשלחה.

ירושה

עובר בירושה מ: nl::Weave::WeaveServerBase
מחלקות משנה מוכרות ישירות: nl::Weave::DeviceLayer::Internal::EchoServer

בנייה

WeaveEchoServer(void)
constructor ברירת המחדל של 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
מגדירה את פונקציית הקריאה החוזרת של אירוע ה-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

צריך להזין פרמטרים לאירוע 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 

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

Init

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

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

לאתחל אובייקט WeaveEchoServer כדי להגיב להודעות הד מקולגה.

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

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

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

לאתחל אובייקט WeaveEchoServer כדי להגיב להודעות הד מקולגה.

הוצא משימוש: צריך להשתמש ב-Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, cancel * appState).

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

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

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

כיבוי

WEAVE_ERROR Shutdown(
  void
)

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

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

WeaveEchoServer

 WeaveEchoServer(
  void
)

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

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

DefaultEventHandler

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

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

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

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