nl:: बुनाई::बाइंड करना

#include <src/lib/core/WeaveBinding.h>

यह, Weave कम्यूनिकेशन और उससे जुड़े कॉन्फ़िगरेशन की जानकारी का टारगेट कैप्चर करता है.

खास जानकारी

बाइंडिंग ऑब्जेक्ट, Weave कम्यूनिकेशन के इंटेंट टारगेट (जिसे & "मिलते-जुलते कोटेशन" भी कहा जाता है) की पहचान करता है. साथ ही, यह कॉन्फ़िगरेशन पैरामीटर के सेट के बारे में भी बताता है कि पीयर से इंटरैक्ट कैसे किया जाता है. बाइंडिंग दोनों प्रोटोकॉल के बीच बोले जाने वाले ऐप्लिकेशन प्रोटोकॉल से अलग होती हैं. इस तरह, वे & तारीख को कोट करते हैं; और 'कैसे' कोटेशन देते हैं, न कि & &कोटेशन कैसे करते हैं;

कॉन्फ़िगरेशन

ऐप्लिकेशन को मनचाहे कम्यूनिकेशन चैनल के प्रकार के पैरामीटर के साथ बाइंडिंग कॉन्फ़िगर करना होगा. बाइंडिंग नेटवर्क ट्रांसपोर्ट की एक रेंज को सपोर्ट करती हैं. इनमें TCP, UDP, Weave की भरोसेमंद मैसेज सेवा के साथ UDP, और BLE (WoBLE) पर Weave शामिल हैं. ऐप्लिकेशन, पक्षों के बीच भेजे गए मैसेज की सुरक्षा करने के लिए खास सुरक्षा तकनीकों के इस्तेमाल का अनुरोध भी कर सकते हैं. इनमें CASE और PASE सेशन, और ऐप्लिकेशन ग्रुप कुंजियां शामिल हैं. बाइंडिंग को कॉन्फ़िगर करने का इंटरफ़ेस, एलान किए गए एपीआई स्टाइल का इस्तेमाल करता है. इसकी मदद से, ऐप्लिकेशन आसान शब्दों में, कम्यूनिकेशन के लिए अपनी ज़रूरी शर्तों के बारे में बता सकता है.

ज़्यादा जानकारी के लिए Binding::कॉन्फ़िगरेशन के लिए दस्तावेज़ देखें.

तैयारी

कम्यूनिकेशन के लिए, बाइंडिंग पहले से तैयार और &कोटेशन की होनी चाहिए. बाइंडिंग तैयार करने की प्रोसेस में, बातचीत के लिए ज़रूरी स्थिति स्थापित करना शामिल है. इसमें ये चीज़ें शामिल हो सकती हैं: पीयर का नेटवर्क पता हल करना, नेटवर्क कनेक्शन स्थापित करना, और सुरक्षा कुंजियों को लेकर किसी तरह की बातचीत करना. एक बार ऐप्लिकेशन से कॉन्फ़िगर हो जाने के बाद, बाइंडिंग बातचीत की तैयारी के लिए ज़रूरी सभी चरणों को पूरा करता है. प्रोसेस पूरी होने के बाद, ऐप्लिकेशन पर वापस कॉल करता है. इस तरह, बाइंडिंग से बातचीत करने के तरीके छिप जाते हैं. इससे ऐप्लिकेशन, हाई-लेवल इंटरैक्शन पर ध्यान दे पाता है.

विज्ञापन की सेवा

बाइंडिंग तैयार होने के बाद, इसका इस्तेमाल किया जा सकता है. इस स्थिति में, ऐप्लिकेशन (या आम तौर पर, किसी ऐप्लिकेशन की तरफ़ से काम करने वाला प्रोटोकॉल लेयर कोड), Weave एक्सचेंज रेफ़रंस के लिए बाइंडिंग का अनुरोध करता है. इसकी वजह से, कम्यूनिकेशन के लिए पहले से कॉन्फ़िगर किया गया एक्सचेंज कॉन्टेक्स्ट मिलता है. इससे, ऐप्लिकेशन तुरंत मिलते-जुलते ऐप्लिकेशन से Weave एक्सचेंज शुरू कर देता है. ऐप्लिकेशन तब तक बाइंडिंग से एक्सचेंज के कॉन्टेक्स्ट का अनुरोध करना जारी रख सकता है, जब तक कि बाइंडिंग बंद नहीं हो जाती. जैसे कि नेटवर्क फ़ेल होने की वजह से, कम्यूनिकेशन के बुनियादी चैनल को बंद कर दिया जाता है.

बाइंडिंग की स्थिति में बदलाव

इसके इस्तेमाल के दौरान, बाइंडिंग ऐप्लिकेशन को एपीआई इवेंट डिलीवर करेगा, जो बाइंडिंग और #39; की स्थिति में होने वाले बदलावों के बारे में बताता है. उदाहरण के लिए, तैयारी पूरी होने पर, ऐप्लिकेशन को एक इवेंट मिलेगा जिसमें बताया जाएगा कि बाइंडिंग इस्तेमाल के लिए तैयार है. इसी तरह, अगर कम्यूनिकेट करने के तरीके के बारे में बताने वाला चैनल काम नहीं करता, तो इवेंट को ऐप्लिकेशन में डिलीवर कर दिया जाता है. इससे यह पता चलता है कि बाइंडिंग अब तैयार नहीं है.

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

बाइंडिंग लाइफ़टाइम

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

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

बाइंडिंग एपीआई इवेंट में पैरामीटर डालना.

nl:: बुनाई::बाइंडिंग::OutEventParam

बाइंडिंग एपीआई इवेंट के लिए आउटपुट पैरामीटर.

सार्वजनिक प्रकार

@23 टैग

 @23
प्रॉपर्टी
kGetPeerDescription_MaxLength

GetPeerDescription() के ज़रिए दिए गए स्ट्रिंग की ज़्यादा से ज़्यादा लंबाई (NUL वर्ण सहित).

इवेंट कॉलबैक

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

इवेंट टाइप

 EventType
प्रॉपर्टी
kEvent_BindingFailed

बाइंडिंग नहीं हो सका. अब इसका इस्तेमाल मिलते-जुलते ऐप्लिकेशन से बातचीत करने के लिए नहीं किया जा सकता.

kEvent_BindingReady

बाइंडिंग के लिए तैयार होने की कार्रवाई पूरी हो गई है और मिलते-जुलते ऐप्लिकेशन से संपर्क करने के लिए बाइंडिंग का इस्तेमाल किया जा सकता है.

kEvent_ConnectionEstablished

अनुरोध किए गए Weave कनेक्शन को स्थापित कर दिया गया है.

kEvent_DefaultCheck

ऐप्लिकेशन में इवेंट के सही डिफ़ॉल्ट हैंडलिंग की पुष्टि करने के लिए इस्तेमाल किया जाता है.

kEvent_PASEParametersRequested

ऐप्लिकेशन में PASE सेशन शुरू करने के दौरान इस्तेमाल किए जाने वाले पैरामीटर उपलब्ध कराने का अनुरोध किया जाता है.

kEvent_PrepareFailed

बाइंडिंग के लिए तैयार करने की कार्रवाई पूरी नहीं हो सकी.

kEvent_PrepareRequested

ऐप्लिकेशन को नेटवर्क स्टैक से इस्तेमाल करने के लिए बाइंडिंग को कॉन्फ़िगर करने और तैयार करने का अनुरोध किया गया है.

kEvent_TAKEParametersRequested

ऐप्लिकेशन के लिए अनुरोध किया जाता है कि वह takeout सत्र की स्थापना के दौरान इस्तेमाल किए जाने वाले पैरामीटर उपलब्ध कराए.

राज्य

 State

सार्वजनिक विशेषताएं

AppState

void * AppState

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

AddRef

void AddRef(
  void
)

बाइंडिंग ऑब्जेक्ट का रेफ़रंस रिज़र्व करें.

रिस्पॉन्सिव टाइम आउट में बदलाव करें

WEAVE_ERROR AdjustResponseTimeout(
  ExchangeContext *apExchangeContext
) const 

रिस्पॉन्स टाइम आउट को अडजस्ट करने के लिए, मौजूदा एक्सचेंज कॉन्टेक्स्ट को फिर से कॉन्फ़िगर करें.

ब्यौरा
पैरामीटर
[in] apExchangeContext
एक्सचेंज कॉन्टेक्स्ट ऑब्जेक्ट का फिर से कॉन्फ़िगर किया जाने वाला पॉइंटर

ऐलोकेशन राइटसीडबफ़र

WEAVE_ERROR AllocateRightSizedBuffer(
  PacketBuffer *& buf,
  const uint32_t desiredSize,
  const uint32_t minSize,
  uint32_t & outMaxPayloadSize
)

कॉन्फ़िगरेशन शुरू करें

Configuration BeginConfiguration()

बाइंडिंग को कॉन्फ़िगर करने की प्रोसेस के दौरान.

बाइंडिंग को कॉन्फ़िगर करने के लिए, ऐप्लिकेशन को BeginConfiguration() को कॉल करना होगा. इसके बाद ही, वह ऐप्लिकेशन को सहयोगी के साथ बातचीत करने के लिए तैयार करेगा.

ब्यौरा
लौटाए गए सामान
बाइंडिंग को कॉन्फ़िगर करने के लिए बाइंडिंग::कॉन्फ़िगरेशन ऑब्जेक्ट का इस्तेमाल किया जा सकता है.

तैयार किया जा सकता है

bool CanBePrepared(
  void
) const 

बंद करें

void Close(
  void
)

बाइंडिंग ऑब्जेक्ट को बंद करें और रेफ़रंस छोड़ें.

इस तरीके का इस्तेमाल करने पर, बाइंडिंग से 'बंद है' की स्थिति आ जाती है. बाइंडिंग के लिए पहले से जारी कार्रवाई को रद्द कर दिया जाता है और बाइंडिंग के तहत शामिल सभी बाहरी कम्यूनिकेशन रिसॉर्स रिलीज़ हो जाते हैं.

बंद() कॉल करने से बाइंडिंग से जुड़ी पहचान संख्या कम हो जाती है, अगर पहचान की संख्या शून्य हो जाती है, तो ऑब्जेक्ट को खाली कर दिया जाता है.

GetConnection

WeaveConnection * GetConnection() const 

बाइंडिंग से जुड़े Weave कनेक्शन ऑब्जेक्ट पाएं.

ब्यौरा
लौटाए गए सामान
बाइंडिंग के लिए कोई कनेक्शन न होने पर WeaveConnection ऑब्जेक्ट का पॉइंटर या NULL.

GetDefaultResponseTimeout

uint32_t GetDefaultResponseTimeout() const 

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

ब्यौरा
लौटाए गए सामान
जवाब देने के समय का समय मिलीसेकंड में

GetDefaultWRMPConfig

const WRMPConfig & GetDefaultWRMPConfig(
  void
) const 

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

ब्यौरा
लौटाए गए सामान
WRMPConfig स्ट्रक्चर का रेफ़रंस, जिसमें डिफ़ॉल्ट कॉन्फ़िगरेशन वैल्यू शामिल हैं.

एन्क्रिप्शन टाइप पाएं

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 पेलोड का साइज़ पाएं जो सप्लाई किए गए PacketBuffer में फ़िट हो सकता है.

UDP के लिए, जिसमें WRM के साथ UDP शामिल हैं, लौटाए गए ज़्यादा से ज़्यादा पेलोड का आकार यह पक्का करेगा कि नतीजे वाले Weave मैसेज, कॉन्फ़िगर किए गए UDP MTU को ओवरफ़्लो न करे.

साथ ही, यह तरीका पक्का करेगा कि 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 

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

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

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

GetPeerNodeId

uint64_t GetPeerNodeId(
  void
) const 

बाइंडिंग पार्टनर के नोड आईडी को वापस पाएं.

बाइंडिंग ऑब्जेक्ट तैयार होने के बाद ही मान्य होगा.

ब्यौरा
लौटाए गए सामान
मिलते-जुलते ऐप्लिकेशन का Weave नोड आईडी

GetProtocolLayerCallback

void GetProtocolLayerCallback(
  EventCallback & callback,
  void *& state
) const 

गेटस्टेट

State GetState(
  void
) const 

बाइंडिंग की मौजूदा स्थिति फिर से पाएं.

ब्यौरा
लौटाए गए सामान
बाइंडिंग की स्थिति.

IsAuthenticMessageFromPeer

bool IsAuthenticMessageFromPeer(
  const WeaveMessageInfo *msgInfo
)

देखें कि क्या कोई खास इनकमिंग मैसेज, कॉन्फ़िगर किए गए मिलते-जुलते ऐप्लिकेशन की ओर से भेजा गया है और यह सही है या नहीं.

यह तरीका, दिए गए मैसेज के बारे में नीचे दी गई जानकारी की पुष्टि करता है:

  • यह मैसेज, बाइंडिंग के मिलते-जुलते नोड से आया था
  • यह मैसेज, बाइंडिंग के लिए एक ही तरह के ट्रांसपोर्ट के आधार पर मिला है. अगर मैसेज किसी कनेक्शन पर मिला था, तो यह तरीका इस बात की पुष्टि करता है कि बाइंडिंग के साथ जुड़े कनेक्शन के ज़रिए मैसेज मिला था या नहीं.
  • मैसेज को एन्क्रिप्ट (सुरक्षित) करने के लिए इस्तेमाल किए गए एन्क्रिप्शन कुंजी और टाइप, बाइंडिंग में कॉन्फ़िगर किए गए मैसेज से मेल खाते हैं. सुरक्षा का इस्तेमाल किए बिना कॉन्फ़िगर की गई बाइंडिंग के लिए, यह तरीका इस बात की पुष्टि करता है कि इनकमिंग मैसेज को एन्क्रिप्ट (सुरक्षित) नहीं किया गया है.

इस तरीके का इस्तेमाल WDM जैसे प्रोटोकॉल में किए जाने के लिए किया जाता है. इस मोड में मिलते-जुलते ऐप्लिकेशन, नोड से स्थानीय एक्सचेंज में वापस एक्सचेंज की प्रक्रिया आसानी से कर सकते हैं. ऐसे मामलों में, इस तरीके से लोकल नोड यह पुष्टि कर सकता है कि आने वाले अनचाहे मैसेज को मिलते-जुलते ऐप्लिकेशन ने भेजा है. (बेशक, मैसेज एन्क्रिप्शन का इस्तेमाल किए बिना कॉन्फ़िगर की गई बाइंडिंग के लिए, सुरक्षा के नज़रिए से यह दावा सही नहीं है. यह सिर्फ़ इस बात की पुष्टि करता है कि भेजने वाले का नोड आईडी और परिवहन का प्रकार मेल खाते हैं.)

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

ब्यौरा
पैरामीटर
[in] msgInfo
इनकमिंग संदेश के लिए Weave संदेश जानकारी.
लौटाए गए सामान
सही है, अगर मैसेज मिलते-जुलते ऐप्लिकेशन का ऐप्लिकेशन है.

IsConnection ट्रांसपोर्ट

bool IsConnectionTransport() const 

तैयार किया जा रहा है

bool IsPreparing(
  void
) const 

ब्यौरा
लौटाए गए सामान
अगर बाइंडिंग अभी तैयार की जा रही है, तो सही है.

तैयार है

bool IsReady(
  void
) const 

ब्यौरा
लौटाए गए सामान
अगर बाइंडिंग तैयार स्थिति में है, तो सही है.

ISUDPट्रांसपोर्ट

bool IsUDPTransport() const 

InslilledUDPट्रांसपोर्ट

bool IsUnreliableUDPTransport() const 

ISWRM ट्रांसपोर्ट

bool IsWRMTransport() const 

न्यू एक्सचेंजकॉन्टेक्स्ट

WEAVE_ERROR NewExchangeContext(
  ExchangeContext *& appExchangeContext
)

बाइंडिंग के लिए टारगेट किए गए पीयर से बातचीत करने के लिए, एक नया Exchange कॉन्टेक्स्ट तय करें.

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

रिलीज़ के दौरान

void Release(
  void
)

बाइंडिंग ऑब्जेक्ट का रेफ़रंस रिलीज़ करें.

अगर बाइंडिंग ऑब्जेक्ट में कोई और रेफ़रंस नहीं है, तो बाइंडिंग बंद हो जाती है और फ़्री हो जाती है.

अनुरोध तैयार करें

WEAVE_ERROR RequestPrepare()

बाइंडिंग को कॉन्फ़िगर करने और तैयार करने के लिए, ऐप्लिकेशन से अनुरोध करें.

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

इस तरीके का इस्तेमाल, सिर्फ़ तभी कॉन्फ़िगर किया जा सकता है, जब बाइंडिंग कॉन्फ़िगर नहीं की गई हो या फ़ेल हो गई हो.

अगर ऐप्लिकेशन में मांग पर कॉन्फ़िगरेशन/बाइंडिंग की तैयारी करने की सुविधा नहीं है, तो यह तरीका WEAVE_ERROR_NOT_IMPLEMENTED के साथ काम नहीं करेगा.

रीसेट करें

void Reset(
  void
)

बाइंडिंग को कॉन्फ़िगर न की गई स्थिति पर रीसेट करें.

जब Reset() को कॉल किया जाता है, तो बाइंडिंग के लिए पहले से चल रही तैयारी की कार्रवाइयों को रद्द कर दिया जाता है. साथ ही, बाइंडिंग के तहत शामिल सभी बाहरी कम्यूनिकेशन रिसॉर्स रिलीज़ हो जाते हैं. रीसेट करें बाइंडिंग को कॉन्फ़िगर नहीं की गई स्थिति में रखता है, जिसके बाद इसे कॉन्फ़िगर करके फिर से तैयार किया जा सकता है.

रीसेट() बाइंडिंग की पहचान संख्या में बदलाव नहीं करता.

setDefaultResponseTimeout

void SetDefaultResponseTimeout(
  uint32_t msec
)

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

ब्यौरा
पैरामीटर
[in] timeout
मिलीसेकंड में नया रिस्पॉन्स टाइम आउट.

सेट डिफ़ॉल्टWRMPConfig

void SetDefaultWRMPConfig(
  const WRMPConfig & wrmpConfig
)

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

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

setEventCallback

void SetEventCallback(
  EventCallback aEventCallback
)

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

ब्यौरा
पैरामीटर
[in] aEventCallback
कॉलबैक फ़ंक्शन के लिए पॉइंटर.

सेट प्रोटोकॉल लेयरकॉलबैक

void SetProtocolLayerCallback(
  EventCallback callback,
  void *state
)

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

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

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

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

डिफ़ॉल्ट इवेंट हैंडलर

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

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

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

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