nl:: बुनें:: प्रोफाइल:: इको_अगला :: वेवइकोसर्वर
#include <src/lib/profiles/echo/Next/WeaveEchoServer.h>
Accepts EchoRequest messages from a peer node and responds with an EchoResponse message.
सारांश
WeaveEchoServer वर्ग औजार Weave इको प्रोटोकॉल का प्रत्युत्तर ओर। ICMP पिंग प्रोटोकॉल के समान, वीव इको प्रोटोकॉल का उपयोग वीव नोड की जीवंतता और पहुंच क्षमता का परीक्षण करने के लिए किया जा सकता है।
आवेदन का उपयोग कर सकते WeaveEchoServer भेजे गए संदेशों EchoRequest के लिए स्वत: प्रतिक्रिया सक्षम करने के लिए वर्ग। एक इसी वर्ग गूंज अनुरोध (देखें शुरू करने के लिए मौजूद है WeaveEchoClient )।
डिफ़ॉल्ट रूप से WeaveEchoServer अनुरोध के रूप में एक ही पेलोड युक्त प्रतिक्रिया के साथ एक EchoRequest करने के लिए तुरंत प्रतिक्रिया करता है। हालाँकि इस व्यवहार को EchoRequestReceived API ईवेंट के प्रसंस्करण के दौरान एप्लिकेशन द्वारा बदला जा सकता है।
एपीआई घटनाक्रम
इसके संचालन के दौरान, WeaveEchoServer वस्तु अनुरोध विशिष्ट कार्यों के लिए आवेदन करने के लिए फोन या महत्वपूर्ण घटनाओं में से सूचनाएं वितरित करेंगे। ये API ईवेंट कॉल सर्वर ऑब्जेक्ट पर वर्तमान में कॉन्फ़िगर किए गए कॉलबैक फ़ंक्शन के लिए किए जाते हैं। जहां उल्लेख किया गया है, उसे छोड़कर, एप्लिकेशन किसी ईवेंट कॉलबैक के दौरान सर्वर की स्थिति को बदलने के लिए स्वतंत्र हैं। एक समग्र अपवाद वस्तु की है शटडाउन () विधि है, जो एक कॉलबैक के दौरान कभी नहीं कहा जा सकता है।
निम्नलिखित एपीआई घटनाओं को परिभाषित किया गया है:
EchoRequestReceived
एक सहकर्मी से एक EchoRequest संदेश प्राप्त हुआ था। घटना के तर्क में अनुरोध पेलोड, विनिमय संदर्भ जिस पर संदेश प्राप्त हुआ था और अनुरोध संदेश के बारे में मेटा-सूचना शामिल है।
यदि एप्लिकेशन चुनता है, तो यह प्रतिक्रिया में देरी या प्रतिक्रिया को पूरी तरह से दबाने के लिए घटना के आउटपुट तर्कों को बदल सकता है। इसके अतिरिक्त, यह पेलोड बफर की सामग्री को बदल सकता है, जो प्रतिक्रिया संदेश के लिए पेलोड बन जाएगा।
EchoResponseSent
एक EchoResponse संदेश भेजा गया था, या भेजने में विफल रहा। घटना के तर्क में वह त्रुटि होती है जो संदेश (यदि कोई हो) भेजने के परिणामस्वरूप हुई और विनिमय संदर्भ जिस पर संदेश भेजा गया था।
विरासत
: से विरासत में मिली nl :: Weave :: WeaveServerBaseप्रत्यक्ष ज्ञात उपवर्गों: nl :: Weave :: DeviceLayer :: आंतरिक :: EchoServer
निर्माता और विनाशक De | |
---|---|
WeaveEchoServer (void) के लिए डिफ़ॉल्ट निर्माता WeaveEchoServer । |
सार्वजनिक प्रकार | |
---|---|
EchoFunct )(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload) | टाइपडीफvoid(* |
EventCallback )(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) | टाइपडीफvoid(* |
EventType { | एन्यूम |
सार्वजनिक गुण | |
---|---|
AppState | void * एप्लिकेशन-विशिष्ट डेटा के लिए एक सूचक। |
OnEchoRequestReceived | EchoFunct |
सार्वजनिक समारोह | |
---|---|
GetEventCallback (void) const | EventCallback वर्तमान में पर कॉन्फ़िगर एपीआई घटना कॉलबैक फ़ंक्शन पर एक सूचक रिटर्न WeaveEchoServer वस्तु। |
Init ( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState) | एक प्रारंभ WeaveEchoServer वस्तु। |
Init ( WeaveExchangeManager *exchangeMgr) | एक प्रारंभ WeaveEchoServer वस्तु। |
SetEventCallback (EventCallback eventCallback) | void पर एपीआई घटना कॉलबैक फ़ंक्शन सेट WeaveEchoServer वस्तु। |
Shutdown (void) | शटडाउन एक पहले से प्रारंभ WeaveEchoServer वस्तु। |
सार्वजनिक स्थैतिक कार्य | |
---|---|
DefaultEventHandler (void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam) | void के लिए डिफ़ॉल्ट हैंडलर WeaveEchoServer एपीआई घटनाओं। |
स्ट्रक्चर्स | |
---|---|
nl :: Weave :: प्रोफाइल :: Echo_Next :: WeaveEchoServer :: InEventParam | करने के लिए इनपुट पैरामीटर WeaveEchoServer एपीआई घटना। |
nl :: Weave :: प्रोफाइल :: Echo_Next :: WeaveEchoServer :: OutEventParam | आउटपुट पैरामीटर WeaveEchoServer एपीआई घटना। |
सार्वजनिक प्रकार
इको फंक्शन
void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
इवेंट कॉलबैक
void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
घटना प्रकार
EventType
सार्वजनिक गुण
ऐपस्टेट
void * AppState
एप्लिकेशन-विशिष्ट डेटा के लिए एक सूचक।
OnEchoRequestReceived
EchoFunct OnEchoRequestReceived
सार्वजनिक समारोह
गेटइवेंट कॉलबैक
EventCallback GetEventCallback( void ) const
वर्तमान में पर कॉन्फ़िगर एपीआई घटना कॉलबैक फ़ंक्शन पर एक सूचक रिटर्न WeaveEchoServer वस्तु।
में इस
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
एक प्रारंभ WeaveEchoServer वस्तु।
एक प्रारंभ WeaveEchoServer एक सहकर्मी से गूंज संदेशों पर प्रतिक्रिया के लिए वस्तु।
विवरण | |||||||
---|---|---|---|---|---|---|---|
मापदंडों |
|
में इस
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
एक प्रारंभ WeaveEchoServer वस्तु।
एक प्रारंभ WeaveEchoServer एक सहकर्मी से गूंज संदेशों पर प्रतिक्रिया के लिए वस्तु।
बहिष्कृत किया गया: का उपयोग करें Init (WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, शून्य * AppState) ।
विवरण | |||||||
---|---|---|---|---|---|---|---|
मापदंडों |
|
सेटइवेंट कॉलबैक
void SetEventCallback( EventCallback eventCallback )
पर एपीआई घटना कॉलबैक फ़ंक्शन सेट WeaveEchoServer वस्तु।
शट डाउन
WEAVE_ERROR Shutdown( void )
शटडाउन एक पहले से प्रारंभ WeaveEchoServer वस्तु।
ध्यान दें कि यह विधि केवल तभी कहा जा सकता है Init () विधि पहले से बुलाया गया है।
सार्वजनिक स्थैतिक कार्य
डिफ़ॉल्टइवेंटहैंडलर
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
के लिए डिफ़ॉल्ट हैंडलर WeaveEchoServer एपीआई घटनाओं।
एप्लिकेशन को इस पद्धति को किसी भी एपीआई ईवेंट के लिए कॉल करने की आवश्यकता होती है जिसे वे पहचानते या संभालते नहीं हैं। आपूर्ति किए गए पैरामीटर वही होने चाहिए जो सर्वर ऑब्जेक्ट द्वारा एप्लिकेशन के ईवेंट हैंडलर फ़ंक्शन में पास किए गए हों।
विवरण | |||||||||
---|---|---|---|---|---|---|---|---|---|
मापदंडों |
|