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)
|
typedefvoid(*
|
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
|
EventType{
|
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:: |
WeaveEchoServer एपीआई इवेंट के लिए पैरामीटर इनपुट. |
nl:: |
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 ऑब्जेक्ट को शुरू करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
शुरू करें
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
WeaveEchoServer ऑब्जेक्ट को शुरू करें.
किसी मिलते-जुलते ऐप्लिकेशन से इको मैसेज का जवाब देने के लिए, WeaveEchoServer ऑब्जेक्ट को शुरू करें.
हटाया गया: कृपया Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState) का इस्तेमाल करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
यह एपीआई इवेंट कॉलबैक फ़ंक्शन को WeaveEchoServer ऑब्जेक्ट पर सेट करता है.
बंद है
WEAVE_ERROR Shutdown( void )
पहले से शुरू किए गए WeaveEchoServer ऑब्जेक्ट को शट डाउन करें.
ध्यान दें कि इस तरीके को सिर्फ़ तब कॉल किया जा सकता है, जब Init() तरीके को पहले कॉल किया गया हो.
सार्वजनिक स्टैटिक फ़ंक्शन
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
WeaveEchoServer एपीआई इवेंट के लिए डिफ़ॉल्ट हैंडलर.
ऐप्लिकेशन को ऐसे किसी भी एपीआई इवेंट के लिए इस तरीके का इस्तेमाल करना होगा जिसे वे नहीं पहचानते या मैनेज नहीं करते. दिए गए पैरामीटर वही होने चाहिए जो सर्वर ऑब्जेक्ट से ऐप्लिकेशन के इवेंट हैंडलर फ़ंक्शन को पास किए जाते हैं.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|