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)
यह फ़ंक्शन, BDXTransfer के GetBlockHandler को कॉल करके वापस लाए गए BlockSendV1 को भेजता है.
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
ऐसा Exchange कॉन्टेक्स्ट जिसने कनेक्शन बंद होने का पता लगाया है. हम इससे जुड़े BDXTransfer को ढूंढ सकते हैं
[in] aCon
Weave कनेक्शन, जो वास्तविक फ़ंक्शन में उपयोग नहीं किया गया है
[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
वह Exchange संदर्भ जिसमें एक ऐसा मैसेज था जिसे स्वीकार नहीं किया गया था. हम इससे जुड़े 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
अगर कोई पैकेटबफ़र उपलब्ध नहीं है.

SendBlockEOFAckV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

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

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

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

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
अगर कोई पैकेटबफ़र उपलब्ध नहीं है.

SendNextBlock

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

SendNextBlockV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

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

ब्यौरा
पैरामीटर
[in] aXfer
वह BDXTransfer जिसके GetBlockHandler को संबद्ध ExchangeContext का उपयोग करके अगला ब्लॉक भेजने से पहले उसे पाने के लिए कॉल किया जाता है
रिटर्न वैल्यू
WEAVE_ERROR_INCORRECT_STATE
अगर GetBlockHandler शून्य है

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
)