nl:: Weave:: Profiles:: BDX_Development
इस नेमस्पेस में, बल्क डेटा ट्रांसफ़र (बीडीएक्स) प्रोफ़ाइल के लिए Weave के वे सभी इंटरफ़ेस शामिल हैं जिन पर काम जारी है. इनका इस्तेमाल प्रोडक्शन में नहीं किया जाना चाहिए.
खास जानकारी
गिनती |
|
---|---|
@80
|
enum |
@81
|
enum |
@82
|
enum |
@83
|
enum |
टाइपडीफ़ |
|
---|---|
BdxClient
|
typedef |
BdxServer
|
typedef |
ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
|
typedefvoid(*
जब भी कोई Weave गड़बड़ी मिलती है, तो इस हैंडलर को कॉल किया जाता है. इसे उपयोगकर्ता के ऐप्लिकेशन के तय किए गए कंट्रोल फ़्लो में, गड़बड़ी कोड के ज़रिए सीधे तौर पर नहीं दिखाया जा सकता. |
GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
|
typedefvoid(*
Get a block of data to be transmitted. |
PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
typedefvoid(*
लंबाई की लंबाई के एक DataBlock के ज़रिए बताए गए डेटा के ब्लॉक को हैंडल करें. |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
typedef कॉलबैक तब शुरू होता है, जब डेस्टिनेशन, पहले से भेजे गए ReceiveInit को स्वीकार कर लेती है. |
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
|
typedefuint16_t(*
ReceiveInit मैसेज मिलने पर, कॉलबैक का अनुरोध किया गया. |
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
|
typedefvoid(*
यह तब लागू होता है, जब पिछले Init मैसेज में से किसी एक को डेस्टिनेशन ने अस्वीकार कर दिया हो. |
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
|
typedef कॉलबैक तब शुरू होता है, जब डेस्टिनेशन, पहले से भेजे गए SendInit को स्वीकार कर लेता है. |
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
|
typedefuint16_t(*
SendInit मैसेज मिलने पर कॉलबैक का अनुरोध किया गया. |
XferDoneHandler)(BDXTransfer *aXfer)
|
typedefvoid(*
उन मामलों को मैनेज करें जहां डेटा ट्रांसफ़र करने की प्रोसेस पूरी हो गई है. |
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
|
typedefvoid(*
BDX से मिले या भेजे गए TransferError मैसेज को मैनेज करें. |
फ़ंक्शन |
|
---|---|
GetBDXAckFlag(ExchangeContext *anEc)
|
uint16_t
getBDXAckFlag, Exchange कॉन्टेक्स्ट के कनेक्शन (टीसीपी के लिए कोई अनुरोध स्वीकार नहीं करने) और डब्ल्यूआरएमपी के लिए कंपाइल टाइम सपोर्ट के आधार पर, requestAck फ़ील्ड के लिए सही फ़्लैग दिखाता है.
|
क्लास |
|
---|---|
nl:: |
|
nl:: |
BlockAck मैसेज का इस्तेमाल, डेटा के ब्लॉक होने की पुष्टि करने के लिए किया जाता है. |
nl:: |
BlockAckV1 मैसेज का इस्तेमाल, डेटा के ब्लॉक होने की पुष्टि करने के लिए किया जाता है. |
nl:: |
BlockEOF मैसेज का इस्तेमाल, भेजने वाले से पाने वाले को डेटा के आखिरी ब्लॉक को ट्रांसफ़र करने के लिए किया जाता है. |
nl:: |
BlockEOFAck मैसेज का इस्तेमाल, डेटा के आखिरी ब्लॉक की पुष्टि करने के लिए किया जाता है. |
nl:: |
BlockEOFAckV1 मैसेज का इस्तेमाल, डेटा के आखिरी ब्लॉक की पहचान करने के लिए किया जाता है. |
nl:: |
BlockEOFV1 मैसेज का इस्तेमाल, भेजने वाले से पाने वाले तक डेटा के आखिरी ब्लॉक को ट्रांसफ़र करने के लिए किया जाता है. |
nl:: |
BlockQuery मैसेज का इस्तेमाल करके, भेजने वाले से पाने वाले व्यक्ति के बीच डेटा के एक ब्लॉक को ट्रांसफ़र करने का अनुरोध किया जाता है. |
nl:: |
BlockQueryV1 मैसेज का इस्तेमाल यह अनुरोध करने के लिए किया जाता है कि डेटा के किसी ब्लॉक को भेजने वाले से पाने वाले को ट्रांसफ़र किया जाए. |
nl:: |
BlockSend मैसेज का इस्तेमाल, डेटा भेजने वाले से उसे पाने वाले व्यक्ति को ट्रांसफ़र करने के लिए किया जाता है. |
nl:: |
BlockSendV1 मैसेज का इस्तेमाल, डेटा भेजने वाले से पाने वाले व्यक्ति को डेटा भेजने के लिए किया जाता है. |
nl:: |
ReceiveAccept मैसेज का इस्तेमाल, सुझाए गए एक्सचेंज को स्वीकार करने के लिए किया जाता है. ऐसा तब किया जाता है, जब रिसीवर को शुरू करने वाला हो. |
nl:: |
ReceiveInit मैसेज का इस्तेमाल, एक्सचेंज शुरू करने के लिए किया जाता है. |
nl:: |
ReceiveReject मैसेज का इस्तेमाल, किसी सुझाए गए एक्सचेंज को अस्वीकार करने के लिए किया जाता है. ऐसा तब होता है, जब भेजने वाला व्यक्ति ही मैसेज भेजना शुरू करता है. |
nl:: |
SendAccept मैसेज का इस्तेमाल, सुझाए गए एक्सचेंज को स्वीकार करने के लिए किया जाता है. ऐसा तब किया जाता है, जब भेजने वाला व्यक्ति बातचीत शुरू करता है. |
nl:: |
SendInit मैसेज का इस्तेमाल, एक्सचेंज शुरू करने के लिए किया जाता है. ऐसा तब किया जाता है, जब भेजने वाला व्यक्ति मैसेज भेजना शुरू करता है. |
nl:: |
SendReject मैसेज का इस्तेमाल, भेजे गए एक्सचेंज को अस्वीकार करने के लिए किया जाता है. ऐसा तब किया जाता है, जब भेजने वाला व्यक्ति ही मैसेज भेजना शुरू करता है. |
nl:: |
गड़बड़ी के मैसेज का इस्तेमाल, गड़बड़ी की शिकायत करने और एक्सचेंज को रद्द करने के लिए किया जाता है. |
संरचना |
|
---|---|
nl:: |
|
nl:: |
इस स्ट्रक्चर में ऐसे डेटा सदस्य शामिल हैं जो ऐक्टिव BDX ट्रांसफ़र को दिखाते हैं. |
नाम स्थान |
|
---|---|
nl:: |
गिनती
@80
@80
@81
@81
@82
@82
@83
@83
टाइपडीफ़
BdxClient
BdxNode BdxClient
BdxServer
BdxNode BdxServer
ErrorHandler
void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
जब भी कोई Weave गड़बड़ी मिलती है, तो इस हैंडलर को कॉल किया जाता है. इसे उपयोगकर्ता के ऐप्लिकेशन के तय किए गए कंट्रोल फ़्लो में, गड़बड़ी कोड के ज़रिए सीधे तौर पर नहीं दिखाया जा सकता.
इसका मतलब है कि अगर किसी ऐसे हैंडलर में कोई गड़बड़ी होती है जिसके सिग्नेचर में रिटर्न टाइप अमान्य है (उदाहरण के लिए, इनकमिंग Weave मैसेज के जवाब में या प्रोटोकॉल से भेजा गया), तो इस हैंडलर को कॉल किया जाएगा. इससे उपयोगकर्ता यह तय कर सकेगा कि ट्रांसफ़र को वापस लाया जा सकता है और उसे जारी रखा जा सकता है या नहीं या उसे शटडाउन() को कॉल करना चाहिए या नहीं. ध्यान दें कि कई ऑब्जेक्ट पहले ही असाइन किए जाने से पहले गड़बड़ी होना संभव है.BDXTransfer ऐसे मामले में, बताई गई गड़बड़ी को Weave लॉग करेगा और प्रोटोकॉल, तय की गई ज़रूरी स्थिति को साफ़ करेगा.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
GetBlockHandler
void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
Get a block of data to be transmitted.
कॉलर, बफ़र होने की जगह बताता है. बफ़र की जानकारी का बफ़र और तय की गई दूरी, रेफ़रंस में पास की जाती है. Callee (उपयोगकर्ता ऐप्लिकेशन) को दिए गए बफ़र का इस्तेमाल करना चाहिए. हालांकि, पुराने सिस्टम के साथ काम करने की वजह से, वह अपना बफ़र दिखा सकता है. कॉली को aLength
से ज़्यादा बाइट नहीं देनी चाहिए. वापस आने पर, aLength
में बफ़र में पढ़ी गई बाइट की असल संख्या शामिल होती है.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
PutBlockHandler
void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
लंबाई की लंबाई के एक DataBlock के ज़रिए बताए गए डेटा के ब्लॉक को हैंडल करें.
अगर isLastBlock सही है, तो संभावना है कि इसमें इसे किसी फ़ाइल पर लिखा जाए और बताई गई फ़ाइल को बंद किया जाए.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
ReceiveAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
कॉलबैक तब शुरू होता है, जब डेस्टिनेशन, पहले से भेजे गए ReceiveInit को स्वीकार कर लेती है.
अगर आपने ट्रांसफ़र शुरू करते समय ऐसा नहीं किया था, तो इस अवसर का इस्तेमाल फ़ाइलें खोलने या ट्रांसफ़र के लिए संसाधन असाइन करने के लिए किया जा सकता है.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
ReceiveInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
ReceiveInit मैसेज मिलने पर, कॉलबैक का अनुरोध किया गया.
इसका काम यह तय करना है कि आप पाने वाले व्यक्ति को स्वीकार करना चाहते हैं या नहीं. अगर ऐसा है, तो aXfer->mIsAllowed=true को सेट करें, ताकि शुरू करने वाले को प्रोटोकॉल, शर्तों को स्वीकार करने का मैसेज भेज सके. BDXTransfer ऑब्जेक्ट डिफ़ॉल्ट सेटिंग पर शुरू हो जाता है. किसी भी ऐप्लिकेशन की खास स्थिति (खुली फ़ाइल हैंडल वगैरह) को aXfer->mAppState से अटैच करने के लिए यह एक अच्छी जगह है. आपको ज़रूरी हैंडलर, जैसे कि इस पॉइंट पर BDXTransfer ऑब्जेक्ट से ब्लॉक हैंडलिंग को भी अटैच करना चाहिए. अगर kStatus_ Success के अलावा कोई गड़बड़ी कोड दिखता है, तो माना जाता है कि ट्रांसफ़र अस्वीकार कर दिया गया है. साथ ही, प्रोटोकॉल, कोड के साथ अस्वीकार करने का मैसेज भेज देगा.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
RejectHandler
void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
यह तब लागू होता है, जब पिछले Init मैसेज में से किसी एक को डेस्टिनेशन ने अस्वीकार कर दिया हो.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
SendAcceptHandler
WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
कॉलबैक तब शुरू होता है, जब डेस्टिनेशन, पहले से भेजे गए SendInit को स्वीकार कर लेता है.
अगर आपने ट्रांसफ़र शुरू करते समय ऐसा नहीं किया था, तो इस अवसर का इस्तेमाल फ़ाइलें खोलने या ट्रांसफ़र के लिए संसाधन असाइन करने के लिए किया जा सकता है.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
SendInitHandler
uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
SendInit मैसेज मिलने पर कॉलबैक का अनुरोध किया गया.
इसका काम यह तय करना है कि आपको SendInit स्वीकार करना है या नहीं. अगर ऐसा है, तो aXfer->mIsAllowed=true को सेट करें, ताकि प्रोटोकॉल शुरू करने वाले को स्वीकार किया जाने वाला मैसेज भेजे. BDXTransfer ऑब्जेक्ट डिफ़ॉल्ट सेटिंग पर शुरू हो जाता है. किसी भी ऐप्लिकेशन की खास स्थिति (खुली फ़ाइल हैंडल वगैरह) को aXfer->mAppState से अटैच करने के लिए यह एक अच्छी जगह है. आपको ज़रूरी हैंडलर, जैसे कि इस पॉइंट पर BDXTransfer ऑब्जेक्ट से ब्लॉक हैंडलिंग को भी अटैच करना चाहिए. अगर WEAVE_NO_ERROR के अलावा कोई गड़बड़ी कोड दिया जाता है, तो माना जाता है कि ट्रांसफ़र अस्वीकार कर दिया गया है. साथ ही, प्रोटोकॉल, कोड के साथ अस्वीकार करने का मैसेज भेजने की प्रक्रिया को मैनेज करेगा.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
उन मामलों को मैनेज करें जहां डेटा ट्रांसफ़र करने की प्रोसेस पूरी हो गई है.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
BDX से मिले या भेजे गए TransferError मैसेज को मैनेज करें.
ध्यान दें: यह माना जाता है कि BDX ट्रांसफ़र को वापस पाया जा सकता है.उदाहरण के लिए, यह कुछ समय के लिए हो सकता है. उदाहरण के लिए, इस समय पैकेट से बाहर. TODO: इसकी पुष्टि करें और इसका मिलान BDX दस्तावेज़ की भाषा से करें, जिसमें यह बताया गया है: "[एकTransferError] बल्क डेटा ट्रांसफ़र को समय से पहले खत्म करने के लिए, किसी भी पक्ष को कभी भी मैसेज भेजा जा सकता है."
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
फ़ंक्शन
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
getBDXAckFlag, Exchange कॉन्टेक्स्ट के कनेक्शन (टीसीपी के लिए कोई अनुरोध स्वीकार नहीं करने) और डब्ल्यूआरएमपी के लिए कंपाइल टाइम सपोर्ट के आधार पर, requestAck फ़ील्ड के लिए सही फ़्लैग दिखाता है.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
0 या kSendFlag_RequestAck
|