nl:: Weave:: Binding
#include <src/lib/core/WeaveBinding.h>
Weave कम्यूनिकेशन के लिए टारगेट किए गए टारगेट और उससे जुड़े कॉन्फ़िगरेशन की जानकारी को कैप्चर करता है.
खास जानकारी
बाइंडिंग ऑब्जेक्ट, Weave कम्यूनिकेशन के लिए तय किए गए टारगेट की पहचान करता है. इसे "पीयर" भी कहा जाता है. साथ ही, कॉन्फ़िगरेशन पैरामीटर के एक सेट की पहचान करता है जो यह बताता है कि पीयर के साथ कम्यूनिकेशन कैसे किया जाना चाहिए. बाइंडिंग, दो पक्षों के बीच बोले जा रहे ऐप्लिकेशन प्रोटोकॉल से अलग होते हैं. ऐसे में, वे दर्शकों से बातचीत करते समय, "कौन" और "कैसे" की जानकारी लेते हैं, न कि "क्या".
ऐप्लिकेशन को किसी भी तरह के कम्यूनिकेशन चैनल के लिए, खास पैरामीटर के साथ बाइंडिंग कॉन्फ़िगर करना होगा. बाइंडिंग कई तरह के नेटवर्क ट्रांसपोर्ट के साथ काम करते हैं. इनमें टीसीपी, यूडीपी, Weave भरोसेमंद मैसेज के साथ यूडीपी, और वीव ओवर BLE (WoBLE) शामिल है. ऐप्लिकेशन, पक्षों के बीच भेजे गए मैसेज की सुरक्षा करने के लिए, खास सुरक्षा तरीकों के इस्तेमाल का अनुरोध भी कर सकते हैं. इनमें CASE और PASE सेशन, और ऐप्लिकेशन ग्रुप की कुंजियां शामिल हैं. बाइंडिंग को कॉन्फ़िगर करने के लिए इंटरफ़ेस, डिक्लेरेटिव एपीआई स्टाइल का इस्तेमाल करता है. इसकी मदद से, ऐप्लिकेशन आसान शब्दों में कम्यूनिकेशन के लिए अपनी ज़रूरी शर्तें बता सकते हैं.
ज़्यादा जानकारी के लिए, Binding::Configuration से जुड़े दस्तावेज़ देखें.
वीडियो की रणनीति
किसी के साथ बातचीत शुरू होने से पहले, बाइंडिंग को "तैयार" होना चाहिए. बाइंडिंग को तैयार करने के काम में, यह तय करना शामिल होता है कि बातचीत करने के लिए क्या ज़रूरी है. इसमें इस तरह की चीज़ें शामिल हो सकती हैं: पीयर के नेटवर्क पते की समस्या हल करना, इंटरनेट कनेक्शन बनाना, और सुरक्षा कुंजियों पर बातचीत करना. ऐप्लिकेशन से कॉन्फ़िगर किए जाने के बाद, बाइंडिंग, कम्यूनिकेशन की तैयारी के लिए सभी ज़रूरी चरणों को पूरा करता है. साथ ही, प्रोसेस पूरी होने के बाद ऐप्लिकेशन को वापस कॉल करता है. इस तरह, बाइंडिंग, कम्यूनिकेशन के तरीके को छिपा देते हैं. इससे ऐप्लिकेशन, हाई-लेवल इंटरैक्शन पर ध्यान दे पाते हैं.
संपर्क
बाइंडिंग तैयार हो जाने के बाद, वह इस्तेमाल के लिए तैयार हो जाता है. इस स्थिति में, ऐप्लिकेशन (या सामान्य तौर पर, किसी ऐप्लिकेशन की ओर से काम करने वाला प्रोटोकॉल लेयर कोड), एक Weave एक्सचेंज कॉन्टेक्स्ट आबंटित करने के लिए बाइंडिंग का अनुरोध करते हैं. इससे, आपस में बातचीत करने के लिए कॉन्टेक्स्ट पहले से कॉन्फ़िगर किया जाता है. इससे ऐप्लिकेशन, साथी के साथ तुरंत Weave की अदला-बदली शुरू कर सकता है. ऐप्लिकेशन तब तक बाइंडिंग से एक्सचेंज के कॉन्टेक्स्ट का अनुरोध कर सकता है, जब तक बाइंडिंग बंद नहीं हो जाती या कोई इवेंट, जैसे कि नेटवर्क काम नहीं कर रहा, कम्यूनिकेशन चैनल बंद कर देता है.
बाइंडिंग स्टेटस में बदलाव
इसका इस्तेमाल करने के दौरान, Binding ऐप्लिकेशन को एपीआई इवेंट डिलीवर करेगा, ताकि उसे बाइंडिंग की स्थिति में हुए बदलावों के बारे में सूचना दी जा सके. उदाहरण के लिए, आवेदन की तैयारी पूरी होने पर, ऐप्लिकेशन को एक इवेंट मिलेगा. इसमें बताया जाएगा कि बाइंडिंग इस्तेमाल के लिए तैयार है. इसी तरह, अगर दिया गया कम्यूनिकेशन चैनल काम नहीं करता, तो ऐप्लिकेशन में एक इवेंट डिलीवर किया जाता है. इसमें बताया जाता है कि बाइंडिंग अब तैयार स्थिति में नहीं है.
एपीआई इवेंट, ऐप्लिकेशन को एक इवेंट कॉलबैक फ़ंक्शन के ज़रिए डिलीवर किए जाते हैं. यह फ़ंक्शन बाइंडिंग के असाइन होने पर दिया जाता है.
बाइंडिंग लाइफ़टाइम
बाइंडिंग को रेफ़रंस के तौर पर गिना जाता है, ताकि सॉफ़्टवेयर कॉम्पोनेंट को एक साथ इस्तेमाल किया जा सके. जब किसी बाइंडिंग को बांटा जाता है, तो बाइंडिंग के लिए एक रेफ़रंस बनाया जाता है. यह ऐप्लिकेशन इस पहचान फ़ाइल को आने वाले समय में रिलीज़ करने के लिए ज़िम्मेदार है, ताकि बाइंडिंग को दोबारा इस्तेमाल किया जा सके.
जब किसी ऐप्लिकेशन को बाइंडिंग के साथ किया जाता है, तो यह बाइंडिंग पर close() को कॉल कर सकता है. यह बाइंडिंग के लिए ऐप्लिकेशन का रेफ़रंस रिलीज़ करता है और एपीआई इवेंट की आने वाली सभी डिलीवरी को ब्लॉक करता है. जब बाइंडिंग का आखिरी रेफ़रंस रिलीज़ होता है, तो वह अपने-आप बंद हो जाता है.
सार्वजनिक टाइप |
|
---|---|
@23{
|
enum |
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
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
वह फ़ंक्शन पाएं जिसे बाइंडिंग के लिए कोई एपीआई इवेंट होने पर कॉल किया जाएगा.
|
GetExchangeManager() const
|
|
GetKeyId(void) const
|
uint32_t
पीयर को मैसेज भेजने या उससे भेजने को एन्क्रिप्ट (सुरक्षित) करते समय, इस्तेमाल की जाने वाली मैसेज एन्क्रिप्ट (सुरक्षित) करने की कुंजी का आईडी वापस पाएं.
|
GetLogId(void) const
|
uint16_t
बाइंडिंग के लिए एक यूनीक आईडी पाएं.
|
GetMaxWeavePayloadSize(const System::PacketBuffer *msgBuf)
|
uint32_t
Weave की सबसे बड़ी पेलोड साइज़ की जानकारी पाएं, जो साथ में दिए गए पैकेटBuffer के अंदर फ़िट हो सके.
|
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)
|
बाइंडिंग के टारगेट में जिस पीयर को टारगेट किया गया है उसके साथ बातचीत करने के लिए, नया एक्सचेंज कॉन्टेक्स्ट तय करें.
|
Release(void)
|
void
बाइंडिंग ऑब्जेक्ट का रेफ़रंस रिलीज़ करें.
|
RequestPrepare()
|
बाइंडिंग को कॉन्फ़िगर और तैयार करने के लिए, ऐप्लिकेशन का अनुरोध करें.
|
Reset(void)
|
void
बाइंडिंग को वापस कॉन्फ़िगर नहीं की गई स्थिति पर रीसेट करें.
|
SetDefaultResponseTimeout(uint32_t msec)
|
void
मिलते-जुलते ऐप्लिकेशन से बातचीत करते समय, एक्सचेंज रिस्पॉन्स का डिफ़ॉल्ट टाइम आउट सेट करें.
|
SetDefaultWRMPConfig(const WRMPConfig & wrmpConfig)
|
void
मिलते-जुलते ऐप्लिकेशन से संपर्क करते समय, WRMP कॉन्फ़िगरेशन का डिफ़ॉल्ट कॉन्फ़िगरेशन सेट करें.
|
SetEventCallback(EventCallback aEventCallback)
|
void
बाइंडिंग के लिए कोई एपीआई इवेंट होने पर, ऐप्लिकेशन के लिए तय किए गए फ़ंक्शन को कॉल करने के लिए सेट करें.
|
SetProtocolLayerCallback(EventCallback callback, void *state)
|
void
किसी ऐप्लिकेशन की ओर से बाइंडिंग का इस्तेमाल करके, प्रोटोकॉल लेयर कोड के लिए इवेंट कॉलबैक फ़ंक्शन सेट करें.
|
सार्वजनिक स्टैटिक फ़ंक्शन |
|
---|---|
DefaultEventHandler(void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
|
void
बाइंडिंग एपीआई इवेंट के लिए डिफ़ॉल्ट हैंडलर.
|
क्लास |
|
---|---|
nl:: |
यह बाइंडिंग ऑब्जेक्ट को कॉन्फ़िगर करने और तैयार करने के लिए, डिक्लेरेटिव स्टाइल का इंटरफ़ेस देता है. |
संरचना |
|
---|---|
nl:: |
किसी Binding API इवेंट के लिए, इनपुट पैरामीटर. |
nl:: |
Binding एपीआई इवेंट के लिए आउटपुट पैरामीटर. |
सार्वजनिक टाइप
@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
|
ऐप्लिकेशन से अनुरोध किया जाता है कि वह PASE सेशन शुरू होने के दौरान इस्तेमाल किए जाने वाले पैरामीटर उपलब्ध कराए. |
kEvent_PrepareFailed
|
बाइंडिंग के लिए तैयार कार्रवाई पूरी नहीं हो सकी. |
kEvent_PrepareRequested
|
ऐप्लिकेशन से अनुरोध किया गया है कि वह बाइंडिंग को कॉन्फ़िगर और तैयार करे, ताकि नेटवर्क स्टैक का इस्तेमाल किया जा सके. |
kEvent_TAKEParametersRequested
|
ऐप्लिकेशन से अनुरोध किया जाता है कि वह TAG सेशन शुरू करने के दौरान इस्तेमाल किए जाने वाले पैरामीटर उपलब्ध कराए. |
स्थिति
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()
बाइंडिंग को कॉन्फ़िगर करने की प्रोसेस.
पीयर के साथ संपर्क करने के लिए तैयार करने से पहले, ऐप्लिकेशन को बाइंडिंग को कॉन्फ़िगर करने के लिए, BeginConfiguration() को कॉल करना होगा.
जानकारी | |
---|---|
लौटाए गए सामान |
एक Binding::Configuration ऑब्जेक्ट, जिसका इस्तेमाल बाइंडिंग को कॉन्फ़िगर करने के लिए किया जा सकता है.
|
CanBePrepared
bool CanBePrepared( void ) const
बंद करें
void Close( void )
बाइंडिंग ऑब्जेक्ट को बंद करें और रेफ़रंस रिलीज़ करें.
कॉल करने पर, इस तरीके की वजह से बाइंडिंग, क्लोज़्ड स्थिति में पहुंच जाती है. बाइंडिंग के लिए पहले से जारी सभी कार्रवाइयों को रद्द कर दिया जाता है और बाइंडिंग के तहत आने वाले सभी बाहरी कम्यूनिकेशन रिसॉर्स रिलीज़ कर दिए जाते हैं.
close() को कॉल करने पर बाइंडिंग से जुड़ी रेफ़रंस की संख्या कम हो जाती है. साथ ही, अगर रेफ़रंस की संख्या शून्य हो जाती है, तो ऑब्जेक्ट फ़्री हो जाता है.
GetConnection
WeaveConnection * GetConnection() const
बाइंडिंग से जुड़ा Weave कनेक्शन ऑब्जेक्ट पाएं.
जानकारी | |
---|---|
लौटाए गए सामान |
बाइंडिंग से कोई कनेक्शन न जुड़े होने पर, WeaveConnection ऑब्जेक्ट का पॉइंटर या NULL.
|
GetDefaultResponseTimeout
uint32_t GetDefaultResponseTimeout() const
मिलते-जुलते ऐप्लिकेशन से बातचीत करते समय, एक्सचेंज रिस्पॉन्स का डिफ़ॉल्ट टाइम आउट पाएं.
जानकारी | |
---|---|
लौटाए गए सामान |
प्रतिक्रिया मिलने का समय मिलीसेकंड में.
|
GetDefaultWRMPConfig
const WRMPConfig & GetDefaultWRMPConfig( void ) const
मिलते-जुलते ऐप्लिकेशन से संपर्क करते समय, डिफ़ॉल्ट WRMP कॉन्फ़िगरेशन का इस्तेमाल करें.
जानकारी | |
---|---|
लौटाए गए सामान |
ऐसे WRMPConfig स्ट्रक्चर का रेफ़रंस जिसमें डिफ़ॉल्ट कॉन्फ़िगरेशन वैल्यू हैं.
|
GetEncryptionType
uint8_t GetEncryptionType( void ) const
पीयर को/से मैसेज एन्क्रिप्ट करते समय इस्तेमाल किया जाने वाला मैसेज एन्क्रिप्शन टाइप वापस पाएं.
GetEventCallback
EventCallback GetEventCallback() const
वह फ़ंक्शन पाएं जिसे बाइंडिंग के लिए कोई एपीआई इवेंट होने पर कॉल किया जाएगा.
जानकारी | |
---|---|
लौटाए गए सामान |
कॉलबैक फ़ंक्शन के लिए पॉइंटर.
|
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 की सबसे बड़ी पेलोड साइज़ की जानकारी पाएं, जो साथ में दिए गए पैकेटBuffer के अंदर फ़िट हो सके.
यूडीपी और डब्ल्यूआरएम वाले यूडीपी के लिए, पेलोड का ज़्यादा से ज़्यादा साइज़ यह पक्का करेगा कि कॉन्फ़िगर किया गया Weave मैसेज, कॉन्फ़िगर किए गए UDP MTU से बाहर न हो.
इसके अलावा, इस तरीके से यह पक्का किया जाएगा कि Weave पेलोड, दिए गए पैकेटBuffer से ऊपर नहीं जाएगा.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
Weave की ज़्यादा से ज़्यादा पेलोड साइज़.
|
GetPeerDescription
void GetPeerDescription( char *buf, uint32_t bufSize ) const
पीयर नोड और उससे जुड़े पते / कनेक्शन की जानकारी के बारे में बताने वाली स्ट्रिंग बनाता है.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
GetPeerIPAddress
void GetPeerIPAddress( nl::Inet::IPAddress & address, uint16_t & port, InterfaceId & interfaceId ) const
उपलब्ध होने पर, साथी के आईपी पते की जानकारी वापस पाएं.
पीयरिंग की स्थिति और कॉन्फ़िगरेशन पर निर्भर करता है कि मिलते-जुलते ऐप्लिकेशन के आईपी पते की जानकारी उपलब्ध होगी या नहीं. आईपी पते की जानकारी सिर्फ़ तब उपलब्ध होती है, जब आईपी पर आधारित ट्रांसपोर्ट (टीसीपी, यूडीपी या डब्ल्यूआरपीपी के साथ यूडीपी) का इस्तेमाल किया जाता है. तैयारी शुरू होने से पहले, पते की जानकारी सिर्फ़ तब उपलब्ध होती है, जब कॉन्फ़िगरेशन के दौरान ऐप्लिकेशन ने इसे साफ़ तौर पर सेट किया हो. तैयारी के दौरान, पते की जानकारी उपलब्ध हो जाती है. जैसे, डीएनएस रिज़ॉल्यूशन पूरा होने के बाद. बाइंडिंग के तैयार होने के बाद, पते की जानकारी तब तक उपलब्ध रहती है, जब तक बाइंडिंग रीसेट नहीं हो जाती.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
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 )
बाइंडिंग के टारगेट में जिस पीयर को टारगेट किया गया है उसके साथ बातचीत करने के लिए, नया एक्सचेंज कॉन्टेक्स्ट तय करें.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
रिलीज़ करें
void Release( void )
बाइंडिंग ऑब्जेक्ट का रेफ़रंस रिलीज़ करें.
अगर बाइंडिंग ऑब्जेक्ट का कोई रेफ़रंस नहीं है, तो बाइंडिंग को बंद और फ़्री कर दिया जाता है.
RequestPrepare
WEAVE_ERROR RequestPrepare()
बाइंडिंग को कॉन्फ़िगर और तैयार करने के लिए, ऐप्लिकेशन का अनुरोध करें.
प्रोटोकॉल लेयर कोड, इस तरीके का इस्तेमाल उस बाइंडिंग पर कर सकता है जिसे कॉन्फ़िगर नहीं किया गया है या जिसके लिए यह अनुरोध पूरा नहीं किया जा सका. इस तरीके से, ऐप्लिकेशन में इवेंट ट्रिगर नहीं किया जा सकता (kEvent_ Readyrequest) कि अनुरोध करने पर, यह बाइंडिंग को इस्तेमाल के लिए कॉन्फ़िगर और तैयार करे.
इस तरीके को सिर्फ़ गैर-ज़रूरी या असफल स्थितियों में बाइंडिंग पर कॉल किया जा सकता है.
अगर यह ऐप्लिकेशन, मांग पर मिलने वाले कॉन्फ़िगरेशन/बाइंडिंग को बनाने की सुविधा के साथ काम नहीं करता, तो यह तरीका 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 )
बाइंडिंग के लिए कोई एपीआई इवेंट होने पर, ऐप्लिकेशन के लिए तय किए गए फ़ंक्शन को कॉल करने के लिए सेट करें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
SetProtocolLayerCallback
void SetProtocolLayerCallback( EventCallback callback, void *state )
किसी ऐप्लिकेशन की ओर से बाइंडिंग का इस्तेमाल करके, प्रोटोकॉल लेयर कोड के लिए इवेंट कॉलबैक फ़ंक्शन सेट करें.
बाइंडिंग के लिए एपीआई इवेंट होने पर, ऐप्लिकेशन के तय किए गए कॉलबैक फ़ंक्शन के साथ इस फ़ंक्शन को कॉल किया जाएगा.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
सार्वजनिक स्टैटिक फ़ंक्शन
DefaultEventHandler
void DefaultEventHandler( void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam )
बाइंडिंग एपीआई इवेंट के लिए डिफ़ॉल्ट हैंडलर.
ऐप्लिकेशन को ऐसे किसी भी एपीआई इवेंट के लिए इस तरीके का इस्तेमाल करना होगा जिसे वे नहीं पहचानते या मैनेज नहीं करते. दिए गए पैरामीटर बिलकुल वही होने चाहिए जो ऐप्लिकेशन के इवेंट हैंडलर फ़ंक्शन को बाइंडिंग के ज़रिए पास करते हैं.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|