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 {
kEvent_EchoRequestReceived = 1,
kEvent_EchoResponseSent = 2,
kEvent_DefaultCheck = 100
}
एन्यूम

सार्वजनिक गुण

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
गुण
kEvent_DefaultCheck

एप्लिकेशन में सही डिफ़ॉल्ट ईवेंट हैंडलिंग को सत्यापित करने के लिए उपयोग किया जाता है।

kEvent_EchoRequestReceived

एक सहकर्मी से एक EchoRequest संदेश प्राप्त हुआ था।

kEvent_EchoResponseSent

EchoResponse संदेश भेजा गया था, या भेजने में विफल रहा।

सार्वजनिक गुण

ऐपस्टेट

void * AppState

एप्लिकेशन-विशिष्ट डेटा के लिए एक सूचक।

OnEchoRequestReceived

EchoFunct OnEchoRequestReceived

सार्वजनिक समारोह

गेटइवेंट कॉलबैक

EventCallback GetEventCallback(
  void
) const 

वर्तमान में पर कॉन्फ़िगर एपीआई घटना कॉलबैक फ़ंक्शन पर एक सूचक रिटर्न WeaveEchoServer वस्तु।

में इस

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

एक प्रारंभ WeaveEchoServer वस्तु।

एक प्रारंभ WeaveEchoServer एक सहकर्मी से गूंज संदेशों पर प्रतिक्रिया के लिए वस्तु।

विवरण
मापदंडों
[in] exchangeMgr
करने के लिए एक सूचक WeaveExchangeManager वस्तु।
[in] eventCallback
एक समारोह है कि द्वारा बुलाया जाएगा करने के लिए एक सूचक WeaveEchoServer वस्तु आवेदन करने के लिए एपीआई घटनाओं वितरित करने के लिए।
[in] appState
एप्लिकेशन-परिभाषित ऑब्जेक्ट के लिए एक पॉइंटर जो कि जब भी कोई एपीआई इवेंट होता है, तो एप्लिकेशन को वापस भेज दिया जाएगा।

में इस

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

एक प्रारंभ WeaveEchoServer वस्तु।

एक प्रारंभ WeaveEchoServer एक सहकर्मी से गूंज संदेशों पर प्रतिक्रिया के लिए वस्तु।

बहिष्कृत किया गया: का उपयोग करें Init (WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, शून्य * AppState)

विवरण
मापदंडों
[in] exchangeMgr
करने के लिए एक सूचक WeaveExchangeManager वस्तु।
[in] eventCallback
एक समारोह है कि द्वारा बुलाया जाएगा करने के लिए एक सूचक WeaveEchoServer वस्तु आवेदन करने के लिए एपीआई घटनाओं वितरित करने के लिए।
[in] appState
एप्लिकेशन-परिभाषित ऑब्जेक्ट के लिए एक पॉइंटर जो कि जब भी कोई एपीआई इवेंट होता है, तो एप्लिकेशन को वापस भेज दिया जाएगा।

सेटइवेंट कॉलबैक

void SetEventCallback(
  EventCallback eventCallback
)

पर एपीआई घटना कॉलबैक फ़ंक्शन सेट WeaveEchoServer वस्तु।

शट डाउन

WEAVE_ERROR Shutdown(
  void
)

शटडाउन एक पहले से प्रारंभ WeaveEchoServer वस्तु।

ध्यान दें कि यह विधि केवल तभी कहा जा सकता है Init () विधि पहले से बुलाया गया है।

वेवइकोसर्वर

 WeaveEchoServer(
  void
)

के लिए डिफ़ॉल्ट निर्माता WeaveEchoServer

सार्वजनिक स्थैतिक कार्य

डिफ़ॉल्टइवेंटहैंडलर

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

के लिए डिफ़ॉल्ट हैंडलर WeaveEchoServer एपीआई घटनाओं।

एप्लिकेशन को इस पद्धति को किसी भी एपीआई ईवेंट के लिए कॉल करने की आवश्यकता होती है जिसे वे पहचानते या संभालते नहीं हैं। आपूर्ति किए गए पैरामीटर वही होने चाहिए जो सर्वर ऑब्जेक्ट द्वारा एप्लिकेशन के ईवेंट हैंडलर फ़ंक्शन में पास किए गए हों।

विवरण
मापदंडों
[in] appState
सर्वर ऑब्जेक्ट से जुड़ी एप्लिकेशन-परिभाषित स्थिति की जानकारी के लिए एक सूचक।
[in] eventType
इवेंट कॉलबैक द्वारा पारित इवेंट आईडी
[in] inParam
ईवेंट कॉलबैक द्वारा पारित इनपुट ईवेंट पैरामीटर का संदर्भ
[in] outParam
इवेंट कॉलबैक द्वारा पारित आउटपुट इवेंट पैरामीटर का संदर्भ