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::WeaveServerBaseDirect known Subclasses: nl::Weave::DeviceLayer::Internal::EchoServer
בונים והורסים |
|
---|---|
WeaveEchoServer(void)
בנאי ברירת המחדל של WeaveEchoServer.
|
סוגים ציבוריים |
|
---|---|
EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
|
typedefvoid(*
|
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
|
EventType{
|
טיפוסים בני מנייה (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:: |
מזינים פרמטרים לאירוע API של WeaveEchoServer. |
nl:: |
פרמטרים של פלט לאירוע 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 כדי להגיב להודעות הד מעמית.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
הפעלה
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
מאתחלים אובייקט WeaveEchoServer.
מפעילים אובייקט WeaveEchoServer כדי להגיב להודעות הד מעמית.
הוצא משימוש: יש להשתמש בפונקציה Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState).
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
מגדירה את פונקציית הקריאה החוזרת (callback) של אירוע ה-API באובייקט WeaveEchoServer.
כיבוי
WEAVE_ERROR Shutdown( void )
משביתים אובייקט WeaveEchoServer שאותחל בעבר.
הערה: ניתן לקרוא לשיטה הזו רק אם השיטה Init() הופעלה בעבר.
פונקציות סטטיות ציבוריות
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
handler ברירת מחדל לאירועי API של WeaveEchoServer.
אפליקציות נדרשות לקרוא לשיטה הזו עבור כל אירועי API שהם לא מזהים או לא מטפלים בה. הפרמטרים המסופקים חייבים להיות זהים לאלו שמועברים על ידי אובייקט השרת לפונקציית המטפל באירועים של האפליקציה.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|