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) 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
उस एपीआई इवेंट कॉलबैक फ़ंक्शन के लिए पॉइंटर दिखाता है जिसे फ़िलहाल 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 ऑब्जेक्ट पर कॉन्फ़िगर किया गया है.

शुरू करें

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, 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
इवेंट कॉलबैक से पास किए गए आउटपुट इवेंट पैरामीटर का रेफ़रंस