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

खास जानकारी

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

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

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

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 पाएं और सेट अप करें या अगर उपलब्ध न हो, तो NULL पर सेट करें और गड़बड़ी का मैसेज दिखाएं.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
अगर उपलब्ध हो, तो ट्रांसफ़र पूल से नया BDXTransfer पाएं और सेट अप करें या अगर उपलब्ध न हो, तो NULL पर सेट करें और गड़बड़ी का मैसेज दिखाएं.
Shutdown(void)
सभी ट्रांसफ़र को बंद करता है और Weave के सभी संसाधन रिलीज़ करता है (फ़िलहाल, mExchangeMgr को NULL पर सेट करता है).

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

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
)

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

जब तक कि आप कम से कम init() कॉल न कर लें, तब तक सर्वर के साथ कुछ भी करने की कोशिश न करें.

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

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

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

शुरू करें

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 पाएं और सेट अप करें या अगर उपलब्ध न हो, तो NULL पर सेट करें और गड़बड़ी का मैसेज दिखाएं.

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

NewTransfer

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

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

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

बंद है

WEAVE_ERROR Shutdown(
  void
)

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

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::Stopdown() पर सेट हो जाता है

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