nl::Weave::Profiles::BDX_Development::BdxProtocol

खास जानकारी

फ़ंक्शन

HandleConnectionClosed(ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
कनेक्शन के बंद होने पर हैंडलर इस्तेमाल करने के लिए हैंडलर.
HandleKeyError(ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
जब Weave के मैसेज को एन्क्रिप्ट (सुरक्षित) और पुष्टि करने के लिए इस्तेमाल की जाने वाली कुंजी का इस्तेमाल न किया जाए, तब हैंडलर की स्थिति के लिए हैंडलर.
HandleResponse(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
BDX एक्सचेंज पर आने वाले मैसेज के लिए मुख्य हैंडलर.
HandleResponseNotAccepted(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleResponseReceive(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleResponseTimeout(ExchangeContext *anEc)
void
हैंडलर, जो तब जवाब देता है, जब हम जवाब का इंतज़ार करते हुए टाइम आउट करते हैं.
HandleResponseTransmit(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleSendError(ExchangeContext *anEc, WEAVE_ERROR aSendErr, void *aMsgCtxt)
void
हैंडलर ने जो WRMP मैसेज भेजा उसे स्वीकार नहीं किया गया.
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)
SendBadBlockCounterStatusReport(BDXTransfer & aXfer)
SendBlockAckV1(BDXTransfer & aXfer)
यह फ़ंक्शन, दिए गए BDXTransfer के लिए BlockAckV1 मैसेज भेजता है.
SendBlockEOFAckV1(BDXTransfer & aXfer)
यह फ़ंक्शन, दिए गए BDXTransfer के लिए BlockEOFAckV1 मैसेज भेजता है.
SendBlockQuery(BDXTransfer & aXfer)
SendBlockQueryV1(BDXTransfer & aXfer)
यह फ़ंक्शन, दिए गए BDXTransfer के लिए BlockQueryV1 मैसेज भेजता है.
SendNextBlock(BDXTransfer & aXfer)
SendNextBlockV1(BDXTransfer & aXfer)
यह फ़ंक्शन अगले BlockSendV1 को BDXTransfer के getBlockHandler को कॉल करके वापस भेजता है.
SendStatusReport(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void
इससे जुड़े प्रोफ़ाइल आईडी, स्टेटस कोड, और एक्सचेंज कॉन्टेक्स्ट के साथ स्टेटस रिपोर्ट का मैसेज भेजा जाता है.
SendTransferError(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void

फ़ंक्शन

HandleConnectionClosed

void HandleConnectionClosed(
  ExchangeContext *anEc,
  WeaveConnection *aCon,
  WEAVE_ERROR aConErr
)

कनेक्शन के बंद होने पर हैंडलर इस्तेमाल करने के लिए हैंडलर.

इससे जुड़े ट्रांसफ़र के गड़बड़ी हैंडलर को कॉल करता है और ट्रांसफ़र शट डाउन करता है.

जानकारी
पैरामीटर
[in] anEc
एक्सचेंज का कॉन्टेक्स्ट जिसे क्लोज़्ड कनेक्शन का पता चला है. इससे जुड़ा BDXTransfer
[in] aCon
वीव कनेक्शन, असल फ़ंक्शन में इस्तेमाल नहीं किया गया
[in] aConErr
कनेक्शन बंद होने से जुड़ी गड़बड़ी

HandleKeyError

void HandleKeyError(
  ExchangeContext *anEc,
  WEAVE_ERROR aKeyErr
)

जब Weave के मैसेज को एन्क्रिप्ट (सुरक्षित) और पुष्टि करने के लिए इस्तेमाल की जाने वाली कुंजी का इस्तेमाल न किया जाए, तब हैंडलर की स्थिति के लिए हैंडलर.

जानकारी
पैरामीटर
[in] anEc
Exchange कॉन्टेक्स्ट जिसमें एक मुख्य गड़बड़ी का पता चला है हम इससे जुड़े BDXTransfer को ढूंढ सकते हैं
[in] aKeyErr
कुंजी से जुड़ी गड़बड़ी का अब इस्तेमाल नहीं किया जा सकता

HandleResponse

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

BDX एक्सचेंज पर आने वाले मैसेज के लिए मुख्य हैंडलर.

यह असल में, BDX हेडर की सही जानकारी और डेटा निकालने के लिए राऊटर के तौर पर काम करता है. साथ ही, इस ऑब्जेक्ट पर कार्रवाई करने के लिए सही हैंडलर को भेजता है.

जानकारी
पैरामीटर
[in] anEc
ज़रूरत के समय एक्सचेंज का कॉन्टेक्स्ट
[in] aPktInfo
अप्रयुक्त, लेकिन फ़ंक्शन के प्रोटोटाइप से मेल खाना चाहिए
[in] aWeaveMsgInfo
मैसेज के लिए वीव मैसेज की जानकारी
[in] aProfileId
उस प्रोफ़ाइल का आईडी जिसके तहत मैसेज तय किया गया है
[in] aMessageType
उस प्रोफ़ाइल के मैसेज का टाइप
[in] aPacketBuffer
पैक किया गया मैसेज

HandleResponseNotAccepted

WEAVE_ERROR HandleResponseNotAccepted(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleResponseReceive

WEAVE_ERROR HandleResponseReceive(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleResponseTimeout

void HandleResponseTimeout(
  ExchangeContext *anEc
)

हैंडलर, जो तब जवाब देता है, जब हम जवाब का इंतज़ार करते हुए टाइम आउट करते हैं.

समय खत्म होने वाले ट्रांसफ़र को बंद करता है और ट्रांसफ़र के गड़बड़ी हैंडलर को कॉल करता है.

जानकारी
पैरामीटर
[in] anEc
एक्सचेंज का कॉन्टेक्स्ट जिसे हम BDXTransfer से पा सकते हैं

HandleResponseTransmit

WEAVE_ERROR HandleResponseTransmit(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleSendError

void HandleSendError(
  ExchangeContext *anEc,
  WEAVE_ERROR aSendErr,
  void *aMsgCtxt
)

हैंडलर ने जो WRMP मैसेज भेजा उसे स्वीकार नहीं किया गया.

जानकारी
पैरामीटर
[in] anEc
ऐसा एक्सचेंज कॉन्टेक्स्ट जिसमें अस्वीकार किया गया मैसेज था. इससे जुड़ा BDXTransfer यहां से ढूंढा जा सकता है
[in] aSendErr
मैसेज भेजने में हुई गड़बड़ी से जुड़ी गड़बड़ी
[in] aMsgCtxt
स्वीकार न किए गए मैसेज से जुड़ा आर्बिट्रेरी मैसेज कॉन्टेक्स्ट.

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
)

SendBadBlockCounterStatusReport

WEAVE_ERROR SendBadBlockCounterStatusReport(
  BDXTransfer & aXfer
)

SendBlockAckV1

WEAVE_ERROR SendBlockAckV1(
  BDXTransfer & aXfer
)

यह फ़ंक्शन, दिए गए BDXTransfer के लिए BlockAckV1 मैसेज भेजता है.

स्वीकार किया गया ब्लॉक नंबर, aXfer.mBlockCounter - 1 के बराबर है, क्योंकि इस फ़ंक्शन को सिर्फ़ ट्रांसफ़र की स्थिति के अगले काउंटर पर जाने के बाद ही कॉल किया जा सकता है.

जानकारी
पैरामीटर
[in] aXfer
वह BDXTransfer जिसके लिए हम BlockAck भेज रहे हैं.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर हमने मैसेज भेज दिया है.
WEAVE_ERROR_NO_MEMORY
अगर कोई PaetBuffers उपलब्ध नहीं है.

SendBlockEOFAckV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

यह फ़ंक्शन, दिए गए BDXTransfer के लिए BlockEOFAckV1 मैसेज भेजता है.

स्वीकार किया गया ब्लॉक नंबर, aXfer.mBlockCounter के बराबर है.

जानकारी
पैरामीटर
[in] aXfer
वह BDXTransfer जिसके लिए हम BlockEOFAck भेज रहे हैं.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर हमने मैसेज भेज दिया है.
WEAVE_ERROR_NO_MEMORY
अगर कोई PaetBuffers उपलब्ध नहीं है.

SendBlockQuery

WEAVE_ERROR SendBlockQuery(
  BDXTransfer & aXfer
)

SendBlockQueryV1

WEAVE_ERROR SendBlockQueryV1(
  BDXTransfer & aXfer
)

यह फ़ंक्शन, दिए गए BDXTransfer के लिए BlockQueryV1 मैसेज भेजता है.

अनुरोध किया गया ब्लॉक नंबर aXfer.mBlockCounter के बराबर है.

जानकारी
पैरामीटर
[in] aXfer
वह BDXTransfer जिसके लिए हम BlockQuery भेज रहे हैं.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर हमने मैसेज भेज दिया है.
WEAVE_ERROR_NO_MEMORY
अगर कोई PaetBuffers उपलब्ध नहीं है.

SendNextBlock

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

SendNextBlockV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

यह फ़ंक्शन अगले BlockSendV1 को BDXTransfer के getBlockHandler को कॉल करके वापस भेजता है.

जानकारी
पैरामीटर
[in] aXfer
BDXTransfer से जुड़े ExchangeContext की मदद से अगले ब्लॉक को भेजने के लिए getBlockHandler को कॉल किया जाता है
रिटर्न वैल्यू
WEAVE_ERROR_INCORRECT_STATE
अगर getBlockHandler का मान NULL है

SendStatusReport

void SendStatusReport(
  ExchangeContext *anEc,
  uint32_t aProfileId,
  uint16_t aStatusCode
)

इससे जुड़े प्रोफ़ाइल आईडी, स्टेटस कोड, और एक्सचेंज कॉन्टेक्स्ट के साथ स्टेटस रिपोर्ट का मैसेज भेजा जाता है.

जानकारी
पैरामीटर
[in] anEc
एक्सचेंज का वह कॉन्टेक्स्ट जहां हमें स्टेटस रिपोर्ट वाला मैसेज भेजना चाहिए
[in] aProfileId
प्रोफ़ाइल आईडी
[in] aStatusCode
ट्रांसफ़र में गड़बड़ी से जुड़ा कोड

SendTransferError

void SendTransferError(
  ExchangeContext *anEc,
  uint32_t aProfileId,
  uint16_t aStatusCode
)