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 प्रोटोकॉल के रिस्पॉन्सर साइड को लागू करती है. आईसीएमपी पिंग प्रोटोकॉल की तरह ही, Weave Echo प्रोटोकॉल का इस्तेमाल, Weave नोड की लाइवनेस और रीचेबिलिटी की जांच करने के लिए किया जा सकता है.

आने वाले EchoRequest मैसेज के अपने-आप जवाब देने की सुविधा चालू करने के लिए, ऐप्लिकेशन WeaveEchoServer क्लास का इस्तेमाल कर सकते हैं. इको अनुरोध शुरू करने के लिए एक संबंधित क्लास मौजूद है (WeaveEchoClient देखें).

डिफ़ॉल्ट रूप से WeaveEchoServer, EchoRequest के जवाब के तुरंत जवाब देता है, जिसमें अनुरोध के पेलोड जैसा ही होता है. हालांकि, EchoRequestReceived API इवेंट की प्रोसेसिंग के दौरान ऐप्लिकेशन इस व्यवहार में बदलाव कर सकता है.

एपीआई इवेंट

इस कार्रवाई के दौरान, WeaveEchoServer ऑब्जेक्ट खास कार्रवाइयों का अनुरोध करने या अहम इवेंट की सूचनाएं डिलीवर करने के लिए, ऐप्लिकेशन को कॉल करेगा. ये एपीआई इवेंट कॉल, सर्वर ऑब्जेक्ट पर हाल ही में कॉन्फ़िगर किए गए कॉलबैक फ़ंक्शन में किए जाते हैं. यहां बताए गए मामलों को छोड़कर, किसी इवेंट कॉलबैक के दौरान, ऐप्लिकेशन सर्वर की स्थिति में बदलाव कर सकते हैं. ऑब्जेक्ट का शटडाउन() तरीका कुल मिलाकर एक अपवाद है. इसे कॉलबैक के दौरान कभी भी कॉल नहीं किया जा सकता.

एपीआई इवेंट के बारे में नीचे बताया गया है:

EchoRequestReceived

किसी सहकर्मी से EchoRequest मैसेज मिला. इवेंट के आर्ग्युमेंट में, अनुरोध पेलोड, मैसेज पाने वाले एक्सचेंज का कॉन्टेक्स्ट, और अनुरोध किए गए मैसेज की मेटा-जानकारी शामिल होती है.

अगर ऐप्लिकेशन चुनता है, तो वह इवेंट के आउटपुट आर्ग्युमेंट में बदलाव कर सकता है, ताकि जवाब देने में देरी हो सके या रिस्पॉन्स को पूरी तरह से रोका जा सके. इसके अलावा, यह पेलोड बफ़र की सामग्री में बदलाव कर सकता है, जो जवाब वाले मैसेज के लिए पेलोड बन जाएगा.

EchoResponseSent

EchoResponse संदेश भेजा गया था, या भेजा नहीं जा सका. इवेंट के लिए आर्ग्युमेंट में, मैसेज भेजने की वजह से हुई गड़बड़ी (अगर कोई है) और वह एक्सचेंज कॉन्टेक्स्ट होता है जिस पर मैसेज भेजा गया था.

इनहेरिटेंस

इनसे इनहेरिट किया जाता है: nl::Weave::WeaveServerBase
पहले से मालूम सब-क्लास: nl::Weave::DeviceLayer::Internal::EchoServer

कंस्ट्रक्टर और डिस्ट्रक्टर

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
}
enum

सार्वजनिक विशेषताएं

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::Profiles::Echo_Next::WeaveEchoServer::InEventParam

WeaveEchoServer एपीआई इवेंट के लिए पैरामीटर इनपुट करें.

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

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 

एपीआई इवेंट के कॉलबैक फ़ंक्शन का पॉइंटर दिखाता है, जो फ़िलहाल WeaveEchoServer ऑब्जेक्ट पर कॉन्फ़िगर किया गया है.

Init

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

WeaveEchoServer ऑब्जेक्ट शुरू करें.

किसी साथी के मैसेज इको का जवाब देने के लिए, WeaveEchoServer ऑब्जेक्ट को शुरू करें.

जानकारी
पैरामीटर
[in] exchangeMgr
WeaveExchangeManager ऑब्जेक्ट का पॉइंटर.
[in] eventCallback
ऐप्लिकेशन में एपीआई इवेंट डिलीवर करने के लिए, WeaveEchoServer ऑब्जेक्ट से कॉल करने वाले फ़ंक्शन का पॉइंटर.
[in] appState
ऐप्लिकेशन के ज़रिए तय किए गए ऑब्जेक्ट का पॉइंटर, जिसे एपीआई इवेंट होने पर ऐप्लिकेशन को वापस पास किया जाएगा.

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

WeaveEchoServer ऑब्जेक्ट शुरू करें.

किसी साथी के मैसेज इको का जवाब देने के लिए, WeaveEchoServer ऑब्जेक्ट को शुरू करें.

बंद किया गया: कृपया Init(WeaveExchangeManager * ExchangeMgr, EventCallback eventCallback, void * appState) का इस्तेमाल करें

जानकारी
पैरामीटर
[in] exchangeMgr
WeaveExchangeManager ऑब्जेक्ट का पॉइंटर.
[in] eventCallback
ऐप्लिकेशन में एपीआई इवेंट डिलीवर करने के लिए, WeaveEchoServer ऑब्जेक्ट से कॉल करने वाले फ़ंक्शन का पॉइंटर.
[in] appState
ऐप्लिकेशन के ज़रिए तय किए गए ऑब्जेक्ट का पॉइंटर, जिसे एपीआई इवेंट होने पर ऐप्लिकेशन को वापस पास किया जाएगा.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

यह WeaveEchoServer ऑब्जेक्ट पर, एपीआई इवेंट के कॉलबैक फ़ंक्शन को सेट करता है.

बंद करें

WEAVE_ERROR Shutdown(
  void
)

पहले से शुरू किए गए WeaveEchoServer ऑब्जेक्ट को शटडाउन करें.

ध्यान रखें कि यह तरीका सिर्फ़ तब कॉल किया जा सकता है, जब Init() तरीके को पहले कॉल किया गया हो.

WeaveEchoServer

 WeaveEchoServer(
  void
)

WeaveEchoServer के लिए डिफ़ॉल्ट कंस्ट्रक्टर.

सार्वजनिक स्टैटिक फ़ंक्शन

DefaultEventHandler

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

WeaveEchoServer एपीआई इवेंट के लिए डिफ़ॉल्ट हैंडलर.

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

जानकारी
पैरामीटर
[in] appState
ऐप्लिकेशन की ओर से तय की गई स्थिति की जानकारी का पॉइंटर, जो सर्वर ऑब्जेक्ट से जुड़ा है.
[in] eventType
इवेंट आईडी को इवेंट कॉलबैक से पास किया गया
[in] inParam
इवेंट कॉलबैक से पास किए गए इनपुट इवेंट पैरामीटर का रेफ़रंस
[in] outParam
इवेंट कॉलबैक से पास किए गए आउटपुट इवेंट पैरामीटर का रेफ़रंस