nl::Weave::Profiles::BDX_Development::BdxNode

खास जानकारी

कंस्ट्रक्टर और डिस्ट्रक्टर

BdxNode(void)
डिफ़ॉल्ट कंस्ट्रक्टर, जो सभी सदस्यों को शून्य पर सेट करता है.

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

AllowBdxTransferToRun(bool aEnable)
void
BDX सर्वर को पूरी तरह से बंद और रीस्टार्ट किए बिना इसे चालू/बंद करने के लिए इसका इस्तेमाल करें.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
अगर BDX सर्वर को इस समय ट्रांसफ़र शुरू करने की अनुमति है, तो 'सही' दिखाता है. ऐसा न होने पर 'गलत' दिखाता है.
Init(WeaveExchangeManager *anExchangeMgr)
सभी ट्रांसफ़र को इस्तेमाल के लिए डिफ़ॉल्ट स्थिति में रखें, WeaveExchangeManager और किसी भी दूसरे ज़रूरी Weave संसाधन को स्टोर करें, और AllowBdxTransferToRun(true) सेट करें.
InitBdxReceive(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
IsInitialized(void)
bool
अगर BdxNode पहले ही शुरू किया जा चुका है, तो 'सही' दिखाता है.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
अगर उपलब्ध हो, तो ट्रांसफ़र पूल से नया BDXTransfer पाएं और सेट अप करें. अगर ऐसा नहीं है, तो 'शून्य' पर सेट करें और कोई गड़बड़ी दिखाएं.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
अगर उपलब्ध हो, तो ट्रांसफ़र पूल से नया BDXTransfer पाएं और सेट अप करें. अगर ऐसा नहीं है, तो 'शून्य' पर सेट करें और कोई गड़बड़ी दिखाएं.
Shutdown(void)
सभी ट्रांसफ़र बंद करता है और Weave संसाधन रिलीज़ करता है (फ़िलहाल, mExchangeMgr को शून्य पर सेट करता है).

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

HandleReceiveInit(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
HandleSendInit(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
ShutdownTransfer(BDXTransfer *aXfer)
void
दिए गए ट्रांसफ़र ऑब्जेक्ट को शटडाउन करें और उसे पूल में वापस ले जाएं.

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

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

BDX सर्वर को पूरी तरह से बंद और रीस्टार्ट किए बिना इसे चालू/बंद करने के लिए इसका इस्तेमाल करें.

जानकारी
पैरामीटर
[in] aEnable
चालू करें (सही) या बंद करें (गलत)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

डिफ़ॉल्ट कंस्ट्रक्टर, जो सभी सदस्यों को शून्य पर सेट करता है.

सर्वर का इस्तेमाल तब तक न करें, जब तक कि आपको init() कॉल न करना पड़े.

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

अगर BDX सर्वर को इस समय ट्रांसफ़र शुरू करने की अनुमति है, तो 'सही' दिखाता है. ऐसा न होने पर 'गलत' दिखाता है.

जानकारी
लौटाए जाने वाले प्रॉडक्ट
अगर BDX ट्रांसफ़र की अनुमति है, तो सही है. अगर नहीं है, तो गलत है

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

सभी ट्रांसफ़र को इस्तेमाल के लिए डिफ़ॉल्ट स्थिति में रखें, WeaveExchangeManager और किसी भी दूसरे ज़रूरी Weave संसाधन को स्टोर करें, और AllowBdxTransferToRun(true) सेट करें.

जानकारी
पैरामीटर
[in] anExchangeMgr
इस बल्क ट्रांसफ़र ऑपरेशन के लिए इस्तेमाल किया जाने वाला एक्सचेंज मैनेजर.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर हो गया
WEAVE_ERROR_INCORRECT_STATE
अगर mExchangeMgr खाली नहीं है, तो यह पहले से शुरू हो चुका है

InitBdxReceive

WEAVE_ERROR InitBdxReceive(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

IsInitialized

bool IsInitialized(
  void
)

अगर BdxNode पहले ही शुरू किया जा चुका है, तो 'सही' दिखाता है.

जानकारी
लौटाए जाने वाले प्रॉडक्ट
अगर यह ऑब्जेक्ट शुरू किया गया हो, तो यह सही है

NewTransfer

WEAVE_ERROR NewTransfer(
  Binding *aBinding,
  BDXHandlers aBDXHandlers,
  ReferencedString & aFileDesignator,
  void *anAppState,
  BDXTransfer *& aXfer
)

अगर उपलब्ध हो, तो ट्रांसफ़र पूल से नया BDXTransfer पाएं और सेट अप करें. अगर ऐसा नहीं है, तो 'शून्य' पर सेट करें और कोई गड़बड़ी दिखाएं.

जानकारी
पैरामीटर
[in] aBinding
नोड पर बाइंडिंग होने से, हम ट्रांसफ़र की प्रक्रिया शुरू करेंगे. इसका इस्तेमाल इस ट्रांसफ़र से जुड़े ExchangeContext बनाने के लिए किया जाता है.
[in] aBDXHandlers
ट्रांसफ़र के दौरान कॉल किए जाने वाले BDX कॉलबैक हैंडलर का स्ट्रक्चर
[in] aFileDesignator
ट्रांसफ़र की जाने वाली फ़ाइल के लिए फ़ाइल डेज़िडेंटर.
[in] anAppState
BDXTransfer में ऐप्लिकेशन के हिसाब से जुड़ा ऑब्जेक्ट अटैच किया जाता है, ताकि उपयोगकर्ता ऐप्लिकेशन और उससे जुड़े कॉलबैक का इस्तेमाल किया जा सके.
[in] aXfer
पास-बाय-रेफ़रंस पॉइंटर, जो नए BDXTransfer ऑब्जेक्ट के उपलब्ध होने पर उसे पॉइंट करता है, नहीं तो इसे दिखाता है.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर हमें नया BDXTransfer मिल जाता है, तो
WEAVE_ERROR_NO_MEMORY
अगर ExchangeContext नहीं बना पा रहे हैं
WEAVE_ERROR_TOO_MANY_CONNECTIONS
अगर इस समय बहुत सारे ट्रांसफ़र चालू हैं और aXfer शून्य है
WEAVE_ERROR_INCORRECT_STATE
अगर aBinding तैयार नहीं है

NewTransfer

WEAVE_ERROR NewTransfer(
  WeaveConnection *aCon,
  BDXHandlers aBDXHandlers,
  ReferencedString & aFileDesignator,
  void *anAppState,
  BDXTransfer *& aXfer
)

अगर उपलब्ध हो, तो ट्रांसफ़र पूल से नया BDXTransfer पाएं और सेट अप करें. अगर ऐसा नहीं है, तो 'शून्य' पर सेट करें और कोई गड़बड़ी दिखाएं.

जानकारी
पैरामीटर
[in] aCon
उस WeaveConnection को जिससे हम ट्रांसफ़र शुरू करेंगे. इसका इस्तेमाल इस ट्रांसफ़र से जुड़े ExchangeContext बनाने के लिए किया जाता है.
[in] aBDXHandlers
ट्रांसफ़र के दौरान कॉल किए जाने वाले BDX कॉलबैक हैंडलर का स्ट्रक्चर
[in] aFileDesignator
ट्रांसफ़र की जाने वाली फ़ाइल के लिए फ़ाइल डेज़िडेंटर.
[in] anAppState
BDXTransfer में ऐप्लिकेशन के हिसाब से जुड़ा ऑब्जेक्ट अटैच किया जाता है, ताकि उपयोगकर्ता ऐप्लिकेशन और उससे जुड़े कॉलबैक का इस्तेमाल किया जा सके.
[in] aXfer
पास-बाय-रेफ़रंस पॉइंटर, जो नए BDXTransfer ऑब्जेक्ट के उपलब्ध होने पर उसे पॉइंट करता है, नहीं तो इसे दिखाता है.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर हमें नया BDXTransfer मिल जाता है, तो
WEAVE_ERROR_NO_MEMORY
अगर ExchangeContext नहीं बना पा रहे हैं
WEAVE_ERROR_TOO_MANY_CONNECTIONS
अगर इस समय बहुत सारे ट्रांसफ़र चालू हैं और aXfer शून्य है
WEAVE_ERROR_INCORRECT_STATE
अगर mExchangeMgr अब तक सेट नहीं किया गया है या aCon कनेक्ट नहीं हुआ है

बंद करें

WEAVE_ERROR Shutdown(
  void
)

सभी ट्रांसफ़र बंद करता है और Weave संसाधन रिलीज़ करता है (फ़िलहाल, mExchangeMgr को शून्य पर सेट करता है).

AllowBdxTransferToRun(false) सेट करता है और किसी भी मौजूदा कॉलबैक को डिसकनेक्ट करता है (उदाहरण के लिए, SendInitHandler).

जानकारी
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलतापूर्वक शट डाउन हो जाने पर AwaitBdxSend/ReceiveInit से गड़बड़ी आती है

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

HandleReceiveInit

void HandleReceiveInit(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleSendInit

void HandleSendInit(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

ShutdownTransfer

void ShutdownTransfer(
  BDXTransfer *aXfer
)

दिए गए ट्रांसफ़र ऑब्जेक्ट को शटडाउन करें और उसे पूल में वापस ले जाएं.

यह सिर्फ़ BDXTransfer::शटडाउन() से बचाव करता है

जानकारी
पैरामीटर
[in] aXfer
BDXTransfer बंद करने के लिए