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{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) टाइपडिफ़
void(*
EventType{
  kEvent_ConnectionEstablished = 1,
  kEvent_BindingReady = 2,
  kEvent_PrepareFailed = 3,
  kEvent_BindingFailed = 4,
  kEvent_PrepareRequested = 5,
  kEvent_PASEParametersRequested = 6,
  kEvent_TAKEParametersRequested = 7,
  kEvent_DefaultCheck = 100
}
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::Weave::Binding::Configuration

यह किसी बाइंडिंग ऑब्जेक्ट को कॉन्फ़िगर और तैयार करने के लिए, डिक्लेरेटिव स्टाइल का इंटरफ़ेस उपलब्ध कराता है.

स्ट्रक्चर

nl::Weave::Binding::InEventParam

Binding API इवेंट के लिए पैरामीटर इनपुट करें.

nl::Weave::Binding::OutEventParam

किसी 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 कॉन्टेक्स्ट को फिर से कॉन्फ़िगर करें.

जानकारी
पैरामीटर
[in] apExchangeContext
Exchange Context ऑब्जेक्ट को फिर से कॉन्फ़िगर करने का पॉइंटर

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 से ज़्यादा नहीं भरेगा.

जानकारी
पैरामीटर
[in] msgBuf
PacketBuffer का पॉइंटर, जिस पर मैसेज पेलोड लिखा जाएगा.
लौटाए जाने वाले प्रॉडक्ट
वीव पेलोड का ज़्यादा से ज़्यादा साइज़.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

पीयर नोड और उससे जुड़े पते / कनेक्शन की जानकारी के बारे में बताने वाली एक स्ट्रिंग बनाता है.

जानकारी
पैरामीटर
[in] buf
बफ़र का पॉइंटर, जिसमें स्ट्रिंग लिखी जानी चाहिए. दिया गया बफ़र कम से कम kGetPeerDescription_MaxLength जितना बड़ा होना चाहिए. छोटा बफ़र होने पर स्ट्रिंग में काट-छांट की जाएगी. सभी मामलों में, आउटपुट में NUL खत्म करने वाला वर्ण शामिल होगा.
[in] bufSize
बफ़र का साइज़, जिसे बफ़ से दिखाया गया है.

GetPeerIPAddress

void GetPeerIPAddress(
  nl::Inet::IPAddress & address,
  uint16_t & port,
  InterfaceId & interfaceId
) const 

उपलब्ध होने पर, मिलते-जुलते ऐप्लिकेशन के आईपी पते की जानकारी वापस पाएं.

मिलते-जुलते ऐप्लिकेशन के आईपी पते की जानकारी की उपलब्धता, बाइंडिंग की स्थिति और कॉन्फ़िगरेशन पर निर्भर करती है. आईपी पते की जानकारी सिर्फ़ तब उपलब्ध होती है, जब आईपी पर आधारित ट्रांसपोर्ट (टीसीपी, यूडीपी या WRMP के साथ UDP) का इस्तेमाल किया जाता है. तैयारी शुरू करने से पहले, पते की जानकारी सिर्फ़ तब उपलब्ध होती है, जब ऐप्लिकेशन ने कॉन्फ़िगरेशन के दौरान उसे साफ़ तौर पर सेट किया हो. तैयारी के दौरान, पते की जानकारी उपलब्ध हो जाती है.यह जानकारी, तैयार होने के बाद उपलब्ध होती है. उदाहरण के लिए, डीएनएस रिज़ॉल्यूशन पूरा होने के बाद. बाइंडिंग तैयार होने के बाद, बाइंडिंग को रीसेट किए जाने तक, पते की जानकारी उपलब्ध रहती है.

जानकारी
पैरामीटर
[out] address
IPAddress ऑब्जेक्ट का एक संदर्भ जिसे मिलते-जुलते ऐप्लिकेशन का आईपी पता मिलेगा. अगर मिलते-जुलते ऐप्लिकेशन के आईपी पते की जानकारी उपलब्ध नहीं है, तो यह वैल्यू IPAddress::Any पर सेट हो जाएगी.
[out] port
मिलते-जुलते ऐप्लिकेशन का पोर्ट नंबर पाने वाले पूर्णांक का रेफ़रंस. अगर मिलते-जुलते ऐप्लिकेशन के आईपी पते की जानकारी उपलब्ध नहीं है, तो यह वैल्यू तय नहीं होती है.
[out] interfaceId
पूर्णांक का रेफ़रंस, जिसे उस नेटवर्क इंटरफ़ेस का आईडी मिलेगा जिससे पीयर तक पहुंचा जा सकता है. अगर मिलते-जुलते ऐप्लिकेशन के आईपी पते की जानकारी उपलब्ध नहीं है, तो यह वैल्यू तय नहीं होती है.

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 जैसे प्रोटोकॉल में इस्तेमाल करने के लिए है. यहां पीयर, नोड से मिलते-जुलते ऐप्लिकेशन से शुरुआती एक्सचेंज के बाद, अपने-आप लोकल नोड में एक्सचेंज शुरू कर सकते हैं. ऐसे मामलों में, यह तरीका लोकल नोड को यह पुष्टि करने की अनुमति देता है कि अनचाहे मैसेज, उनसे जुड़े साथी ने भेजे हैं. (बेशक, मैसेज एन्क्रिप्ट करने के तरीके का इस्तेमाल किए बिना कॉन्फ़िगर किए गए बाइंडिंग के लिए, सुरक्षा के लिहाज़ से इस दावे का कोई फ़ायदा नहीं है. इससे सिर्फ़ यह पुष्टि की जाती है कि सेंडर नोड आईडी और ट्रांसपोर्ट टाइप मैच होते हैं.

ध्यान दें कि अगर बाइंडिंग तैयार स्थिति में नहीं है, तो यह तरीका हमेशा गलत दिखाएगा.

जानकारी
पैरामीटर
[in] msgInfo
आने वाले मैसेज के लिए Weave मैसेज की जानकारी.
लौटाए जाने वाले प्रॉडक्ट
अगर मैसेज, मिलते-जुलते ऐप्लिकेशन से मिला है, तो वैल्यू 'सही' होगी.

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 कॉन्टेक्स्ट असाइन करें जिसका टारगेट बाइंडिंग है.

जानकारी
पैरामीटर
[out] appExchangeContext
ऐसे पॉइंटर का रेफ़रंस जिसे नया Exchange Context ऑब्जेक्ट मिलेगा. इस तरीके के काम न करने पर, पॉइंटर को शून्य पर सेट कर दिया जाएगा.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर एक्सचेंज कॉन्टेक्स्ट को सही तरीके से बांटा गया हो.
WEAVE_ERROR_NO_MEMORY
अगर एक्सचेंज कॉन्टेक्स्ट असाइन करने के लिए कोई मेमोरी उपलब्ध नहीं थी.
WEAVE_ERROR_INCORRECT_STATE
अगर बाइंडिंग तैयार स्थिति में नहीं है.
other
बाइंडिंग के कॉन्फ़िगरेशन के आधार पर एक्सचेंज कॉन्टेक्स्ट को कॉन्फ़िगर करने से जुड़ी अन्य गड़बड़ियां.

रिलीज़

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
)

मिलते-जुलते ऐप्लिकेशन से बातचीत करने के लिए, डिफ़ॉल्ट एक्सचेंज रिस्पॉन्स टाइम आउट सेट करें.

जानकारी
पैरामीटर
[in] timeout
नया जवाब मिलीसेकंड में टाइम आउट हो गया.

SetDefaultWRMPConfig

void SetDefaultWRMPConfig(
  const WRMPConfig & wrmpConfig
)

मिलते-जुलते ऐप्लिकेशन से बातचीत करने के लिए, डिफ़ॉल्ट WRMP कॉन्फ़िगरेशन सेट करें.

जानकारी
पैरामीटर
[in] aWRMPConfig
WRMPConfig स्ट्रक्चर का रेफ़रंस, जिसमें नया डिफ़ॉल्ट कॉन्फ़िगरेशन शामिल है.

SetEventCallback

void SetEventCallback(
  EventCallback aEventCallback
)

Binding के लिए एपीआई इवेंट होने पर, ऐप्लिकेशन के मुताबिक तय किए गए फ़ंक्शन को कॉल करने के लिए सेट करें.

जानकारी
पैरामीटर
[in] aEventCallback
कॉलबैक फ़ंक्शन का पॉइंटर.

SetProtocolLayerCallback

void SetProtocolLayerCallback(
  EventCallback callback,
  void *state
)

किसी ऐप्लिकेशन की ओर से Binding का इस्तेमाल करके, प्रोटोकॉल लेयर कोड के लिए इवेंट कॉलबैक फ़ंक्शन सेट करें.

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

जानकारी
पैरामीटर
[in] callback
कॉलबैक फ़ंक्शन का पॉइंटर.
[in] state
स्टेट ऑब्जेक्ट का पॉइंटर, जो प्रोटोकॉल लेयर कॉलबैक होने पर प्रोटोकॉल लेयर कोड को दिया जाएगा.

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

DefaultEventHandler

void DefaultEventHandler(
  void *apAppState,
  EventType aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

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

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

जानकारी
पैरामीटर
[in] apAppState
बाइंडिंग से जुड़ी ऐप्लिकेशन की ओर से तय की गई स्थिति की जानकारी का पॉइंटर.
[in] aEvent
इवेंट आईडी को इवेंट कॉलबैक से पास किया गया
[in] aInParam
इवेंट कॉलबैक से पास किए गए इनपुट इवेंट पैरामीटर का रेफ़रंस
[in] aOutParam
इवेंट कॉलबैक से पास किए गए आउटपुट इवेंट पैरामीटर का रेफ़रंस