nl:: Weave:: Binding
#include <src/lib/core/WeaveBinding.h>
यह नीति Weave कम्यूनिकेशन और उससे जुड़े कॉन्फ़िगरेशन की जानकारी के टारगेट को कैप्चर करती है.
खास जानकारी
Binding ऑब्जेक्ट, Weave कम्यूनिकेशन के टारगेट की पहचान करता है. इसे "पीयर" भी कहा जाता है. साथ ही, इसमें कॉन्फ़िगरेशन पैरामीटर का एक सेट भी होता है, जो यह बताता है कि पीयर के साथ कम्यूनिकेशन कैसे होना चाहिए. बाइंडिंग, दो पक्षों के बीच बोले जा रहे ऐप्लिकेशन प्रोटोकॉल से अलग होती हैं. इसलिए, वे "कौन" और "कैसे" वाली बात है, लेकिन वह "क्या" नहीं है.
ऐप्लिकेशन को ज़रूरी कम्यूनिकेशन चैनल के टाइप के हिसाब से पैरामीटर के साथ बाइंडिंग कॉन्फ़िगर करनी होगी. बाइंडिंग, कई नेटवर्क ट्रांसपोर्ट के लिए सहायता उपलब्ध कराती हैं. इनमें टीसीपी, यूडीपी, वीडीपी के साथ यूडीपी, और बीएलई (WoBLE) पर Weave शामिल हैं. ऐप्लिकेशन, पक्षों के बीच भेजे गए मैसेज को सुरक्षित रखने के लिए खास सुरक्षा तरीकों का इस्तेमाल करने का अनुरोध भी कर सकते हैं. इनमें CASE और PASE सेशन के साथ-साथ, ऐप्लिकेशन ग्रुप की कुंजियां शामिल होती हैं. Binding को कॉन्फ़िगर करने का इंटरफ़ेस, डिक्लेरेटिव एपीआई स्टाइल का इस्तेमाल करता है. इसकी मदद से, ऐप्लिकेशन, कम्यूनिकेशन से जुड़ी ज़रूरी शर्तों को आसान शब्दों में बता सकते हैं.
ज़्यादा जानकारी के लिए, Binding::कॉन्फ़िगरेशन का दस्तावेज़ देखें.
वीडियो की रणनीति
बातचीत करने से पहले, बाइंडिंग को "तैयार" होना चाहिए. बाइंडिंग तैयार करने की प्रक्रिया में, बातचीत के लिए ज़रूरी स्थिति तय करना शामिल है. इसमें ये चीज़ें शामिल हो सकती हैं: मिलते-जुलते ऐप्लिकेशन के नेटवर्क पते का समाधान करना, इंटरनेट कनेक्शन बनाना, और सुरक्षा कुंजियों के बारे में बातचीत करना. ऐप्लिकेशन के कॉन्फ़िगर हो जाने के बाद, बाइंडिंग, कम्यूनिकेशन के लिए तैयार होने के सभी ज़रूरी चरणों को पूरा करता है. प्रोसेस पूरी होने पर ऐप्लिकेशन को वापस कॉल करता है. इस तरह से बाइंडिंग, बातचीत के तरीके को छिपा देती हैं. इससे ऐप्लिकेशन, हाई-लेवल इंटरैक्शन पर ध्यान दे पाते हैं.
कम्यूनिकेशन
बाइंडिंग तैयार होने के बाद, इसका इस्तेमाल किया जा सकता है. इस स्थिति में, ऐप्लिकेशन (या आम तौर पर, किसी ऐप्लिकेशन की ओर से काम करने वाला प्रोटोकॉल लेयर कोड), Weave एक्सचेंज के लिए कॉन्टेक्स्ट असाइन करने के लिए बाइंडिंग का अनुरोध करते हैं. इसके बाद, एक्सचेंज की सुविधा बातचीत के लिए पहले से कॉन्फ़िगर होती है. इससे ऐप्लिकेशन, मिलते-जुलते ऐप्लिकेशन के साथ तुरंत Weave एक्सचेंज शुरू कर सकता है. ऐप्लिकेशन बाइंडिंग से, कॉन्टेक्स्ट के एक्सचेंज के लिए अनुरोध करना जारी रख सकता है.ऐसा तब तक हो सकता है, जब तक बाइंडिंग बंद नहीं हो जाती. इसके अलावा, यह भी हो सकता है कि कोई इवेंट, जैसे कि नेटवर्क न होना, कम्यूनिकेशन चैनल को बंद कर दे.
बाइंडिंग की स्थिति में बदलाव
इस इस्तेमाल के दौरान, Binding ऐप्लिकेशन को एपीआई इवेंट डिलीवर करेगा. इससे ऐप्लिकेशन को Binding की स्थिति में होने वाले बदलावों के बारे में जानकारी मिलेगी. उदाहरण के लिए, तैयारी पूरी होने पर आवेदन को एक इवेंट मिलेगा. इसमें यह बताया जाएगा कि बाइंडिंग इस्तेमाल के लिए तैयार है. इसी तरह, अगर बुनियादी कम्यूनिकेशन चैनल काम नहीं करता है, तो ऐप्लिकेशन में एक इवेंट डिलीवर किया जाता है. इसमें बताया जाता है कि बाइंडिंग अब तैयार नहीं है.
Binding के असाइन किए जाने पर, एपीआई इवेंट, इवेंट के कॉलबैक फ़ंक्शन के ज़रिए ऐप्लिकेशन में डिलीवर किए जाते हैं.
बाइंडिंग लाइफ़टाइम
बाइंडिंग को एक रेफ़रंस माना जाता है. इसकी मदद से, अलग-अलग सॉफ़्टवेयर कॉम्पोनेंट को एक साथ इस्तेमाल किया जा सकता है. जब किसी बाइंडिंग को बांटा जाता है, तब बाइंडिंग के लिए एक रेफ़रंस बनाया जाता है. आने वाले समय में, इस पहचान फ़ाइल को रिलीज़ करने की ज़िम्मेदारी ऐप्लिकेशन की होगी. इससे बाइंडिंग, बाद में इस्तेमाल करने के लिए बिना किसी शुल्क के उपलब्ध रहेगी.
जब किसी ऐप्लिकेशन को बाइंडिंग के साथ पूरा किया जाता है, तो यह बाइंडिंग पर close() को कॉल कर सकता है. यह बाइंडिंग के लिए ऐप्लिकेशन का रेफ़रंस रिलीज़ करता है. साथ ही, एपीआई इवेंट की आगे की सभी डिलीवरी को ब्लॉक करता है. किसी बाइंडिंग का आखिरी रेफ़रंस रिलीज़ होने पर, वह अपने-आप बंद हो जाता है.
सार्वजनिक प्रकार |
|
---|---|
@23{
|
enum |
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
टाइपडिफ़void(*
|
EventType{
|
enum |
State
|
enum |
सार्वजनिक विशेषताएं |
|
---|---|
AppState
|
void *
|
सार्वजनिक फ़ंक्शन |
|
---|---|
AddRef(void)
|
void
बाइंडिंग ऑब्जेक्ट का रेफ़रंस रिज़र्व करें.
|
AdjustResponseTimeout(ExchangeContext *apExchangeContext) const
|
रिस्पॉन्स के टाइम आउट में बदलाव करने के लिए, मौजूदा Exchange कॉन्टेक्स्ट को फिर से कॉन्फ़िगर करें.
|
AllocateRightSizedBuffer(PacketBuffer *& buf, const uint32_t desiredSize, const uint32_t minSize, uint32_t & outMaxPayloadSize)
|
|
BeginConfiguration()
|
बाइंडिंग को कॉन्फ़िगर करने की प्रोसेस.
|
CanBePrepared(void) const
|
bool
|
Close(void)
|
void
बाइंडिंग ऑब्जेक्ट को बंद करें और रेफ़रंस छोड़ें.
|
GetConnection() const
|
बाइंडिंग से जुड़ा Weave कनेक्शन ऑब्जेक्ट पाएं.
|
GetDefaultResponseTimeout() const
|
uint32_t
मिलते-जुलते ऐप्लिकेशन से बातचीत करते समय, डिफ़ॉल्ट एक्सचेंज रिस्पॉन्स टाइम आउट पाएं.
|
GetDefaultWRMPConfig(void) const
|
const WRMPConfig &
मिलते-जुलते ऐप्लिकेशन से बातचीत करते समय इस्तेमाल करने के लिए, डिफ़ॉल्ट WRMP कॉन्फ़िगरेशन पाएं.
|
GetEncryptionType(void) const
|
uint8_t
पीयर को भेजे जाने वाले या मैसेज को एन्क्रिप्ट (सुरक्षित) करते समय इस्तेमाल किए जाने वाले मैसेज को एन्क्रिप्ट (सुरक्षित) करने का तरीका वापस पाएं.
|
GetEventCallback() const
|
EventCallback
Binding के लिए एपीआई इवेंट होने पर, कॉल किया जाने वाला फ़ंक्शन पाएं.
|
GetExchangeManager() const
|
|
GetKeyId(void) const
|
uint32_t
पीयर को भेजे जाने वाले मैसेज को एन्क्रिप्ट (सुरक्षित) करते समय, इस्तेमाल की जाने वाली मैसेज एन्क्रिप्ट करने की कुंजी का आईडी वापस पाएं.
|
GetLogId(void) const
|
uint16_t
बाइंडिंग के लिए यूनीक आईडी पाएं.
|
GetMaxWeavePayloadSize(const System::PacketBuffer *msgBuf)
|
uint32_t
Weave पेलोड का ज़्यादा से ज़्यादा साइज़ पाएं, जो दिए गए PacketBuffer में फ़िट हो सके.
|
GetPeerDescription(char *buf, uint32_t bufSize) const
|
void
पीयर नोड और उससे जुड़े पते / कनेक्शन की जानकारी के बारे में बताने वाली एक स्ट्रिंग बनाता है.
|
GetPeerIPAddress(nl::Inet::IPAddress & address, uint16_t & port, InterfaceId & interfaceId) const
|
void
उपलब्ध होने पर, मिलते-जुलते ऐप्लिकेशन के आईपी पते की जानकारी वापस पाएं.
|
GetPeerNodeId(void) const
|
uint64_t
बाइंडिंग पीयर का नोड आईडी वापस पाएं.
|
GetProtocolLayerCallback(EventCallback & callback, void *& state) const
|
void
|
GetState(void) const
|
State
बाइंडिंग की मौजूदा स्थिति वापस पाएं.
|
IsAuthenticMessageFromPeer(const WeaveMessageInfo *msgInfo)
|
bool
यह देखें कि क्या कोई खास इनकमिंग मैसेज, कॉन्फ़िगर किए गए मिलते-जुलते ऐप्लिकेशन से आया है और उसकी पुष्टि सही तरीके से की गई है.
|
IsConnectionTransport() const
|
bool
|
IsPreparing(void) const
|
bool
|
IsReady(void) const
|
bool
|
IsUDPTransport() const
|
bool
|
IsUnreliableUDPTransport() const
|
bool
|
IsWRMTransport() const
|
bool
|
NewExchangeContext(ExchangeContext *& appExchangeContext)
|
उस साथी से संपर्क करने के लिए नया Exchange कॉन्टेक्स्ट असाइन करें जिसका टारगेट बाइंडिंग है.
|
Release(void)
|
void
बाइंडिंग ऑब्जेक्ट का रेफ़रंस रिलीज़ करें.
|
RequestPrepare()
|
Binding को कॉन्फ़िगर और तैयार करने के लिए, ऐप्लिकेशन का अनुरोध करें.
|
Reset(void)
|
void
बाइंडिंग को वापस कॉन्फ़िगर नहीं की गई स्थिति पर रीसेट करें.
|
SetDefaultResponseTimeout(uint32_t msec)
|
void
मिलते-जुलते ऐप्लिकेशन से बातचीत करने के लिए, डिफ़ॉल्ट एक्सचेंज रिस्पॉन्स टाइम आउट सेट करें.
|
SetDefaultWRMPConfig(const WRMPConfig & wrmpConfig)
|
void
मिलते-जुलते ऐप्लिकेशन से बातचीत करने के लिए, डिफ़ॉल्ट WRMP कॉन्फ़िगरेशन सेट करें.
|
SetEventCallback(EventCallback aEventCallback)
|
void
Binding के लिए एपीआई इवेंट होने पर, ऐप्लिकेशन के मुताबिक तय किए गए फ़ंक्शन को कॉल करने के लिए सेट करें.
|
SetProtocolLayerCallback(EventCallback callback, void *state)
|
void
किसी ऐप्लिकेशन की ओर से Binding का इस्तेमाल करके, प्रोटोकॉल लेयर कोड के लिए इवेंट कॉलबैक फ़ंक्शन सेट करें.
|
सार्वजनिक स्टैटिक फ़ंक्शन |
|
---|---|
DefaultEventHandler(void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
|
void
बाइंडिंग एपीआई इवेंट के लिए डिफ़ॉल्ट हैंडलर.
|
क्लास |
|
---|---|
nl:: |
यह किसी बाइंडिंग ऑब्जेक्ट को कॉन्फ़िगर और तैयार करने के लिए, डिक्लेरेटिव स्टाइल का इंटरफ़ेस उपलब्ध कराता है. |
स्ट्रक्चर |
|
---|---|
nl:: |
Binding API इवेंट के लिए पैरामीटर इनपुट करें. |
nl:: |
किसी Binding API इवेंट के लिए आउटपुट पैरामीटर. |
सार्वजनिक प्रकार
@23
@23
प्रॉपर्टी | |
---|---|
kGetPeerDescription_MaxLength
|
स्ट्रिंग की ज़्यादा से ज़्यादा लंबाई (NUL वर्ण सहित) GetPeerDescription() से मिली. |
EventCallback
void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
EventType
EventType
प्रॉपर्टी | |
---|---|
kEvent_BindingFailed
|
लिंक करने की प्रोसेस पूरी नहीं हो सकी. इसका इस्तेमाल, अब मिलते-जुलते ऐप्लिकेशन से संपर्क करने के लिए नहीं किया जा सकता. |
kEvent_BindingReady
|
बाइंडिंग के लिए तैयारी पूरी हो गई है और अब बाइंडिंग का इस्तेमाल साथी से संपर्क करने के लिए किया जा सकता है. |
kEvent_ConnectionEstablished
|
अनुरोध किया गया Weave कनेक्शन स्थापित हो गया है. |
kEvent_DefaultCheck
|
इसका इस्तेमाल ऐप्लिकेशन में, डिफ़ॉल्ट तौर पर इवेंट मैनेज करने के सही तरीके की पुष्टि करने के लिए किया जाता है. |
kEvent_PASEParametersRequested
|
ऐप्लिकेशन से अनुरोध किया जाता है कि पीएएसई सेशन बनाने के दौरान इस्तेमाल किए जाने वाले पैरामीटर उपलब्ध कराए जाएं. |
kEvent_PrepareFailed
|
बाइंडिंग पर तैयारी पूरी नहीं हो सकी. |
kEvent_PrepareRequested
|
ऐप्लिकेशन को कॉन्फ़िगर करने और नेटवर्क स्टैक के इस्तेमाल के लिए बाइंडिंग तैयार करने का अनुरोध किया गया है. |
kEvent_TAKEParametersRequested
|
इस ऐप्लिकेशन से, टेक सेशन बनाने के दौरान इस्तेमाल किए जाने वाले पैरामीटर उपलब्ध कराने का अनुरोध किया जाता है. |
स्थिति
State
सार्वजनिक विशेषताएं
AppState
void * AppState
सार्वजनिक फ़ंक्शन
AddRef
void AddRef( void )
बाइंडिंग ऑब्जेक्ट का रेफ़रंस रिज़र्व करें.
AdjustResponseTimeout
WEAVE_ERROR AdjustResponseTimeout( ExchangeContext *apExchangeContext ) const
रिस्पॉन्स के टाइम आउट में बदलाव करने के लिए, मौजूदा Exchange कॉन्टेक्स्ट को फिर से कॉन्फ़िगर करें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
AllocateRightSizedBuffer
WEAVE_ERROR AllocateRightSizedBuffer( PacketBuffer *& buf, const uint32_t desiredSize, const uint32_t minSize, uint32_t & outMaxPayloadSize )
BeginConfiguration
Configuration BeginConfiguration()
बाइंडिंग को कॉन्फ़िगर करने की प्रोसेस.
ऐप्लिकेशन को साथी के साथ संचार करने के लिए तैयार करने से पहले Binding को कॉन्फ़िगर करने के लिए, BeginConfiguration() को कॉल करना चाहिए.
जानकारी | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
एक Binding::कॉन्फ़िगरेशन ऑब्जेक्ट, जिसका इस्तेमाल बाइंडिंग को कॉन्फ़िगर करने के लिए किया जा सकता है.
|
CanBePrepared
bool CanBePrepared( void ) const
बंद करें
void Close( void )
बाइंडिंग ऑब्जेक्ट को बंद करें और रेफ़रंस छोड़ें.
कॉल किए जाने पर, इस तरीके से बाइंडिंग, क्लोज़्ड स्थिति में पहुंच जाती है. बाइंडिंग के लिए पहले से जारी सभी तैयार कार्रवाइयां रद्द कर दी जाती हैं. साथ ही, बाइंडिंग के पास मौजूद सभी बाहरी कम्यूनिकेशन संसाधनों को रिलीज़ कर दिया जाता है.
close() कॉल करने से, बाइंडिंग से जुड़ी पहचान फ़ाइलों की संख्या कम हो जाती है. इससे, पहचान फ़ाइल की संख्या शून्य हो जाने पर ऑब्जेक्ट को खाली कर दिया जाता है.
GetConnection
WeaveConnection * GetConnection() const
बाइंडिंग से जुड़ा Weave कनेक्शन ऑब्जेक्ट पाएं.
जानकारी | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
WeaveConnection ऑब्जेक्ट का पॉइंटर या बाइंडिंग से जुड़ा कोई कनेक्शन न होने पर शून्य.
|
GetDefaultResponseTimeout
uint32_t GetDefaultResponseTimeout() const
मिलते-जुलते ऐप्लिकेशन से बातचीत करते समय, डिफ़ॉल्ट एक्सचेंज रिस्पॉन्स टाइम आउट पाएं.
जानकारी | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
जवाब का समय मिलीसेकंड में.
|
GetDefaultWRMPConfig
const WRMPConfig & GetDefaultWRMPConfig( void ) const
मिलते-जुलते ऐप्लिकेशन से बातचीत करते समय इस्तेमाल करने के लिए, डिफ़ॉल्ट WRMP कॉन्फ़िगरेशन पाएं.
जानकारी | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
WRMPConfig स्ट्रक्चर का रेफ़रंस, जिसमें डिफ़ॉल्ट कॉन्फ़िगरेशन वैल्यू मौजूद होती हैं.
|
GetEncryptionType
uint8_t GetEncryptionType( void ) const
पीयर को भेजे जाने वाले या मैसेज को एन्क्रिप्ट (सुरक्षित) करते समय इस्तेमाल किए जाने वाले मैसेज को एन्क्रिप्ट (सुरक्षित) करने का तरीका वापस पाएं.
GetEventCallback
EventCallback GetEventCallback() const
Binding के लिए एपीआई इवेंट होने पर, कॉल किया जाने वाला फ़ंक्शन पाएं.
जानकारी | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
कॉलबैक फ़ंक्शन का पॉइंटर.
|
GetExchangeManager
WeaveExchangeManager * GetExchangeManager() const
GetKeyId
uint32_t GetKeyId( void ) const
पीयर को भेजे जाने वाले मैसेज को एन्क्रिप्ट (सुरक्षित) करते समय, इस्तेमाल की जाने वाली मैसेज एन्क्रिप्ट करने की कुंजी का आईडी वापस पाएं.
GetLogId
uint16_t GetLogId( void ) const
बाइंडिंग के लिए यूनीक आईडी पाएं.
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const System::PacketBuffer *msgBuf )
Weave पेलोड का ज़्यादा से ज़्यादा साइज़ पाएं, जो दिए गए PacketBuffer में फ़िट हो सके.
UDP के साथ-साथ WRM के साथ UDP के लिए, लौटाया गया अधिकतम पेलोड साइज़, यह पक्का करेगा कि नतीजे के तौर पर मिलने वाला Weave मैसेज, कॉन्फ़िगर किए गए यूडीपी एमटीयू से ज़्यादा नहीं होगा.
इसके अलावा, इस तरीके से यह पक्का होगा कि Weave पेलोड, दिए गए PacketBuffer से ज़्यादा नहीं भरेगा.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए जाने वाले प्रॉडक्ट |
वीव पेलोड का ज़्यादा से ज़्यादा साइज़.
|
GetPeerDescription
void GetPeerDescription( char *buf, uint32_t bufSize ) const
पीयर नोड और उससे जुड़े पते / कनेक्शन की जानकारी के बारे में बताने वाली एक स्ट्रिंग बनाता है.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
GetPeerIPAddress
void GetPeerIPAddress( nl::Inet::IPAddress & address, uint16_t & port, InterfaceId & interfaceId ) const
उपलब्ध होने पर, मिलते-जुलते ऐप्लिकेशन के आईपी पते की जानकारी वापस पाएं.
मिलते-जुलते ऐप्लिकेशन के आईपी पते की जानकारी की उपलब्धता, बाइंडिंग की स्थिति और कॉन्फ़िगरेशन पर निर्भर करती है. आईपी पते की जानकारी सिर्फ़ तब उपलब्ध होती है, जब आईपी पर आधारित ट्रांसपोर्ट (टीसीपी, यूडीपी या WRMP के साथ UDP) का इस्तेमाल किया जाता है. तैयारी शुरू करने से पहले, पते की जानकारी सिर्फ़ तब उपलब्ध होती है, जब ऐप्लिकेशन ने कॉन्फ़िगरेशन के दौरान उसे साफ़ तौर पर सेट किया हो. तैयारी के दौरान, पते की जानकारी उपलब्ध हो जाती है.यह जानकारी, तैयार होने के बाद उपलब्ध होती है. उदाहरण के लिए, डीएनएस रिज़ॉल्यूशन पूरा होने के बाद. बाइंडिंग तैयार होने के बाद, बाइंडिंग को रीसेट किए जाने तक, पते की जानकारी उपलब्ध रहती है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
GetPeerNodeId
uint64_t GetPeerNodeId( void ) const
बाइंडिंग पीयर का नोड आईडी वापस पाएं.
बाइंडिंग ऑब्जेक्ट तैयार होने पर ही मान्य.
जानकारी | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
मिलते-जुलते ऐप्लिकेशन का नोड आईडी वीव करें
|
GetProtocolLayerCallback
void GetProtocolLayerCallback( EventCallback & callback, void *& state ) const
GetState
State GetState( void ) const
बाइंडिंग की मौजूदा स्थिति वापस पाएं.
जानकारी | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
बाइंडिंग की स्थिति.
|
IsAuthenticMessageFromPeer
bool IsAuthenticMessageFromPeer( const WeaveMessageInfo *msgInfo )
यह देखें कि क्या कोई खास इनकमिंग मैसेज, कॉन्फ़िगर किए गए मिलते-जुलते ऐप्लिकेशन से आया है और उसकी पुष्टि सही तरीके से की गई है.
यह तरीका, दिए गए मैसेज की यहां दी गई जानकारी की पुष्टि करता है:
- मैसेज, बाइंडिंग के पीयर नोड से आया
- मैसेज उसी ट्रांसपोर्ट टाइप पर मिला था जिससे बाइंडिंग हुई थी. अगर मैसेज किसी कनेक्शन से मिला था, तो इस तरीके से यह भी पुष्टि की जाती है कि वह मैसेज, बाइंडिंग से जुड़े कनेक्शन का इस्तेमाल करके मिला था.
- मैसेज को एन्क्रिप्ट (सुरक्षित) करने के लिए इस्तेमाल की जाने वाली एन्क्रिप्शन कुंजी और टाइप, बाइंडिंग में कॉन्फ़िगर की गई कुंजी और टाइप से मेल खाते हैं. सुरक्षा का इस्तेमाल किए बिना कॉन्फ़िगर की गई बाइंडिंग के लिए, इस तरीके से इस बात की पुष्टि होती है कि आने वाला मैसेज एन्क्रिप्ट (सुरक्षित) नहीं किया गया है.
यह तरीका, WDM जैसे प्रोटोकॉल में इस्तेमाल करने के लिए है. यहां पीयर, नोड से मिलते-जुलते ऐप्लिकेशन से शुरुआती एक्सचेंज के बाद, अपने-आप लोकल नोड में एक्सचेंज शुरू कर सकते हैं. ऐसे मामलों में, यह तरीका लोकल नोड को यह पुष्टि करने की अनुमति देता है कि अनचाहे मैसेज, उनसे जुड़े साथी ने भेजे हैं. (बेशक, मैसेज एन्क्रिप्ट करने के तरीके का इस्तेमाल किए बिना कॉन्फ़िगर किए गए बाइंडिंग के लिए, सुरक्षा के लिहाज़ से इस दावे का कोई फ़ायदा नहीं है. इससे सिर्फ़ यह पुष्टि की जाती है कि सेंडर नोड आईडी और ट्रांसपोर्ट टाइप मैच होते हैं.
ध्यान दें कि अगर बाइंडिंग तैयार स्थिति में नहीं है, तो यह तरीका हमेशा गलत दिखाएगा.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए जाने वाले प्रॉडक्ट |
अगर मैसेज, मिलते-जुलते ऐप्लिकेशन से मिला है, तो वैल्यू 'सही' होगी.
|
IsConnectionTransport
bool IsConnectionTransport() const
IsPreparing
bool IsPreparing( void ) const
जानकारी | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
अगर बाइंडिंग अभी तैयार की जा रही है, तो वैल्यू 'सही' होगी.
|
IsReady
bool IsReady( void ) const
जानकारी | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
अगर बाइंडिंग तैयार है, तो वैल्यू 'सही' होगी.
|
IsUDPTransport
bool IsUDPTransport() const
IsUnreliableUDPTransport
bool IsUnreliableUDPTransport() const
IsWRMTransport
bool IsWRMTransport() const
NewExchangeContext
WEAVE_ERROR NewExchangeContext( ExchangeContext *& appExchangeContext )
उस साथी से संपर्क करने के लिए नया Exchange कॉन्टेक्स्ट असाइन करें जिसका टारगेट बाइंडिंग है.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
रिलीज़
void Release( void )
बाइंडिंग ऑब्जेक्ट का रेफ़रंस रिलीज़ करें.
अगर बाइंडिंग ऑब्जेक्ट के लिए कोई और रेफ़रंस नहीं है, तो बाइंडिंग को बंद और फ़्री कर दिया जाता है.
RequestPrepare
WEAVE_ERROR RequestPrepare()
Binding को कॉन्फ़िगर और तैयार करने के लिए, ऐप्लिकेशन का अनुरोध करें.
प्रोटोकॉल लेयर कोड इस तरीके का इस्तेमाल, किसी ऐसे बाइंडिंग पर कर सकता है जिसे कॉन्फ़िगर नहीं किया गया है या जो ऐप्लिकेशन (kEvent_EventRequest) पर किसी इवेंट को ट्रिगर करने के लिए ट्रिगर नहीं हुआ है. यह अनुरोध, इस तरीके को कॉन्फ़िगर करने और इस्तेमाल के लिए बाइंडिंग को तैयार करने के लिए किया जा सकता है.
इस तरीके को बाइंडिंग के लिए, सिर्फ़ कॉन्फ़िगर कॉन्फ़िगर नहीं किया गया या पूरा नहीं किया जा सकने वाली स्थितियों में कॉल किया जा सकता है.
अगर ऐप्लिकेशन, मांग पर कॉन्फ़िगरेशन/बाइंडिंग की तैयारी के साथ काम नहीं करता है, तो यह तरीका WEAVE_ERROR_NOT_IMPLEMENTED के साथ काम नहीं करेगा.
रीसेट करें
void Reset( void )
बाइंडिंग को वापस कॉन्फ़िगर नहीं की गई स्थिति पर रीसेट करें.
जब Reset() को कॉल किया जाता है, तो बाइंडिंग के लिए पहले से जारी सभी तैयार कार्रवाइयां रद्द कर दी जाती हैं. साथ ही, बाइंडिंग के पास मौजूद सभी बाहरी कम्यूनिकेशन संसाधनों को रिलीज़ कर दिया जाता है. Reset(), बाइंडिंग को कॉन्फ़िगर नहीं की गई स्थिति में रखता है. इसके बाद, इसे कॉन्फ़िगर किया जा सकता है और फिर से तैयार किया जा सकता है.
Reset(), बाइंडिंग की रेफ़रंस संख्या में बदलाव नहीं करता.
SetDefaultResponseTimeout
void SetDefaultResponseTimeout( uint32_t msec )
मिलते-जुलते ऐप्लिकेशन से बातचीत करने के लिए, डिफ़ॉल्ट एक्सचेंज रिस्पॉन्स टाइम आउट सेट करें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
SetDefaultWRMPConfig
void SetDefaultWRMPConfig( const WRMPConfig & wrmpConfig )
मिलते-जुलते ऐप्लिकेशन से बातचीत करने के लिए, डिफ़ॉल्ट WRMP कॉन्फ़िगरेशन सेट करें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
SetEventCallback
void SetEventCallback( EventCallback aEventCallback )
Binding के लिए एपीआई इवेंट होने पर, ऐप्लिकेशन के मुताबिक तय किए गए फ़ंक्शन को कॉल करने के लिए सेट करें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
SetProtocolLayerCallback
void SetProtocolLayerCallback( EventCallback callback, void *state )
किसी ऐप्लिकेशन की ओर से Binding का इस्तेमाल करके, प्रोटोकॉल लेयर कोड के लिए इवेंट कॉलबैक फ़ंक्शन सेट करें.
Binding के लिए एपीआई इवेंट होने पर, इस फ़ंक्शन को ऐप्लिकेशन के तय किए गए कॉलबैक फ़ंक्शन के साथ कॉल किया जाएगा.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
सार्वजनिक स्टैटिक फ़ंक्शन
DefaultEventHandler
void DefaultEventHandler( void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam )
बाइंडिंग एपीआई इवेंट के लिए डिफ़ॉल्ट हैंडलर.
ऐप्लिकेशन को ऐसे किसी भी एपीआई इवेंट के लिए इस तरीके को कॉल करना होगा जिसे वे नहीं पहचानते या हैंडल नहीं करते. दिए गए पैरामीटर वही होने चाहिए जो ऐप्लिकेशन के इवेंट हैंडलर फ़ंक्शन की बाइंडिंग से पास किए गए हों.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|