nl:: बुनाई:: प्रोफ़ाइल:: BDX_डेवलपमेंट
इस नेमस्पेस में बल्क डेटा ट्रांसफ़र (BDX) प्रोफ़ाइल के लिए Weave के सभी इंटरफ़ेस शामिल होते हैं. इन्हें अभी डेवलप किया जा रहा है और इनका इस्तेमाल प्रोडक्शन के लिए नहीं किया जाना चाहिए.
खास जानकारी
गिनती |
|
---|---|
@80
|
enum |
@81
|
enum |
@82
|
enum |
@83
|
enum |
टाइपडेफ़ |
|
---|---|
BdxClient
|
टाइपडेफ़ |
BdxServer
|
टाइपडेफ़ |
ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
|
टाइपडेफ़void(*
किसी भी समय Weave गड़बड़ी होने पर इस हैंडलर को कॉल किया जाता है, जिसे गड़बड़ी कोड के ज़रिए सीधे उपयोगकर्ता-ऐप्लिकेशन-आधारित कंट्रोल फ़्लो पर नहीं लौटाया जा सकता. |
GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
|
टाइपडेफ़void(*
Get a block of data to be transmitted. |
PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
टाइपडेफ़void(*
डेटा ब्लॉक करने की अवधि से जुड़े ADataBlock के पॉइंट को मैनेज करें. |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
टाइपडेफ़ पहले भेजे गए GetInit को डेस्टिनेशन से स्वीकार करने पर, कॉलबैक फिर से शुरू किया जाता है. |
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
|
टाइपडेफ़uint16_t(*
GetInit मैसेज मिलने पर, कॉलबैक का अनुरोध किया गया. |
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
|
टाइपडेफ़void(*
अगर शुरू किए गए पिछले किसी एक मैसेज को डेस्टिनेशन से अस्वीकार कर दिया गया था, तो क्या यह चालू होगा. |
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
|
टाइपडेफ़ पहले भेजे गए SendInit को डेस्टिनेशन स्वीकार करने पर, कॉलबैक का अनुरोध किया जाता है. |
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
|
टाइपडेफ़uint16_t(*
SendInit मैसेज मिलने पर कॉलबैक का अनुरोध किया गया. |
XferDoneHandler)(BDXTransfer *aXfer)
|
टाइपडेफ़void(*
उन मामलों को मैनेज करें जहां ट्रांसफ़र पूरा हो गया है. |
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
|
टाइपडेफ़void(*
BDX से मिले या भेजे गए transferError मैसेज को मैनेज करें. |
फ़ंक्शन |
|
---|---|
GetBDXAckFlag(ExchangeContext *anEc)
|
uint16_t
GetBDXAckFlag, अनुरोध के फ़ील्ड के लिए सही फ़्लैग दिखाता है. यह एक्सचेंज के कॉन्टेक्स्ट और#39; कनेक्शन (TCP के लिए अनुरोध करने की कोई प्रोसेस नहीं है) के आधार पर, और WRMP के लिए कंपाइल होने में लगने वाले समय के आधार पर तय होता है.
|
क्लास |
|
---|---|
nl:: |
|
nl:: |
BlockAck मैसेज का इस्तेमाल डेटा के ब्लॉक को स्वीकार करने के लिए किया जाता है. |
nl:: |
BlockAckV1 मैसेज का इस्तेमाल, डेटा के ब्लॉक को स्वीकार करने के लिए किया जाता है. |
nl:: |
BlockEOF मैसेज का इस्तेमाल, डेटा के आखिरी ब्लॉक को पाने वाले से पाने वाले को ट्रांसफ़र करने के लिए किया जाता है. |
nl:: |
BlockEOFAck मैसेज का इस्तेमाल, डेटा के आखिरी ब्लॉक को स्वीकार करने के लिए किया जाता है. |
nl:: |
BlockEOFAckV1 मैसेज का इस्तेमाल, डेटा के आखिरी ब्लॉक को स्वीकार करने के लिए किया जाता है. |
nl:: |
BlockEOFV1 मैसेज का इस्तेमाल, डेटा के आखिरी ब्लॉक को भेजने वाले से पाने वाले को ट्रांसफ़र करने के लिए किया जाता है. |
nl:: |
BlockQuery के मैसेज का इस्तेमाल यह अनुरोध करने के लिए किया जाता है कि डेटा के एक ब्लॉक को भेजने वाले से पाने वाले व्यक्ति को ट्रांसफ़र किया जाए. |
nl:: |
BlockQueryV1 मैसेज का इस्तेमाल यह अनुरोध करने के लिए किया जाता है कि डेटा के एक ब्लॉक को भेजने वाले से पाने वाले व्यक्ति को ट्रांसफ़र किया जाए. |
nl:: |
BlockSend मैसेज का इस्तेमाल डेटा के ब्लॉक को भेजने वाले से पाने वाले व्यक्ति को ट्रांसफ़र करने के लिए किया जाता है. |
nl:: |
BlockSendV1 मैसेज का इस्तेमाल, डेटा के ब्लॉक को भेजने वाले से पाने वाले व्यक्ति को ट्रांसफ़र करने के लिए किया जाता है. |
nl:: |
स्वीकार करें मैसेज का इस्तेमाल, किसी सुझाए गए एक्सचेंज को स्वीकार करने के लिए किया जाता है. ऐसा तब होता है, जब रिसीवर शुरू करने वाला होता है. |
nl:: |
GetInit मैसेज का इस्तेमाल, एक्सचेंज शुरू करने पर तब किया जाता है, जब रिसीवर शुरू होता है. |
nl:: |
ईमेल अस्वीकार करें वाले मैसेज का इस्तेमाल, सुझाए गए एक्सचेंज को अस्वीकार करने के लिए किया जाता है. ऐसा तब होता है, जब भेजने वाला शुरू करने वाला हो. |
nl:: |
ईमेल स्वीकार करें मैसेज का इस्तेमाल, सुझाए गए एक्सचेंज को स्वीकार करने के लिए किया जाता है. ऐसा तब होता है, जब भेजने वाला शुरुआत करने वाला हो. |
nl:: |
SendInit मैसेज का इस्तेमाल तब किया जाता है, जब भेजने वाला शुरू करने वाला हो. |
nl:: |
ईमेल अस्वीकार करें वाले मैसेज का इस्तेमाल, सुझाए गए एक्सचेंज को अस्वीकार करने के लिए किया जाता है. ऐसा तब होता है, जब भेजने वाला शुरुआत करने वाला हो. |
nl:: |
गड़बड़ी के मैसेज का इस्तेमाल, गड़बड़ी की शिकायत करने और एक्सचेंज को रद्द करने के लिए किया जाता है. |
स्ट्रक्चर |
|
---|---|
nl:: |
|
nl:: |
इस स्ट्रक्चर में ऐसे डेटा सदस्य हैं जो किसी चालू BDX ट्रांसफ़र को दिखाते हैं. |
नेमस्पेस |
|
---|---|
nl:: |
गिनती
@80
@80
@81 पर
@81
@82 पर
@82
@83 नंबर पर
@83
टाइपडेफ़
Bdxक्लाइंट
BdxNode BdxClient
Bdxसर्वर
BdxNode BdxServer
गड़बड़ी हैंडलर
void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
किसी भी समय Weave गड़बड़ी होने पर इस हैंडलर को कॉल किया जाता है, जिसे गड़बड़ी कोड के ज़रिए सीधे उपयोगकर्ता-ऐप्लिकेशन-आधारित कंट्रोल फ़्लो पर नहीं लौटाया जा सकता.
यानी, अगर किसी ऐसे दूसरे हैंडलर में गड़बड़ी होती है जिसके हस्ताक्षर का रिटर्न टाइप अमान्य है (उदाहरण के लिए, किसी इनकमिंग Weave मैसेज के जवाब में या प्रोटोकॉल से भेजा जाना भी), तो इस हैंडलर को कॉल किया जाएगा, ताकि उपयोगकर्ता यह तय कर सके कि ट्रांसफ़र को फिर से हासिल किया जा सकता है या नहीं और उसे Shutdown() करना चाहिए. ध्यान दें कि BDXट्रांसफ़र शुरू होने से पहले कोई गड़बड़ी हो सकती है (जैसे कि ऑब्जेक्ट का ट्रांसफ़र पहले ही हो सकता है). ऐसे मामले में, Weave से गड़बड़ी लॉग की जाएगी और तय की गई किसी भी ज़रूरी शर्त को हैंडल करने में, प्रोटोकॉल हैंडल करेगा.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
GetBlockHandler
void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
Get a block of data to be transmitted.
कॉल करने वाला व्यक्ति (वीडियो के बफ़र होने का समय) और बफ़र की वह जानकारी देता है जो पहचान फ़ाइल से मिलती है. कॉली (उपयोगकर्ता ऐप्लिकेशन) को दिए गए बफ़र का इस्तेमाल करना चाहिए, लेकिन पुराने सिस्टम के साथ काम करने की वजहों से, यह अपना बफ़र वापस ला सकता है. कैली को aLength
बाइट से ज़्यादा नहीं देना चाहिए. रिटर्न पर, aLength
में बफ़र में पढ़े गए बाइट की असल संख्या होती है.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
PuBlockHandler
void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
डेटा ब्लॉक करने की अवधि से जुड़े ADataBlock के पॉइंट को मैनेज करें.
हो सकता है कि यह किसी फ़ाइल में लिखना हो और कहा गया फ़ाइल बंद होने पर उसे बंद करना हो.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
स्वीकार करेंHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
पहले भेजे गए GetInit को डेस्टिनेशन से स्वीकार करने पर, कॉलबैक फिर से शुरू किया जाता है.
अगर आप डेटा ट्रांसफ़र की प्रोसेस शुरू करते समय ऐसा नहीं करते हैं, तो हो सकता है कि आप इस फ़ाइल का इस्तेमाल, फ़ाइल खोलने या ट्रांसफ़र के लिए संसाधनों का बंटवारा करने के लिए करना चाहें.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
GetInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
GetInit मैसेज मिलने पर, कॉलबैक का अनुरोध किया गया.
इसका काम यह तय करना है कि क्या आप रसीद को स्वीकार करना चाहते हैं और अगर ऐसा है, तो AXfer->mIsAllowed=true सेट करें, ताकि प्रोटोकॉल शुरू करने वाले व्यक्ति को 'स्वीकार करें' मैसेज भेजे. BDXट्रांसफ़र ऑब्जेक्ट की डिफ़ॉल्ट सेटिंग शुरू की गई है. यह किसी खास ऐप्लिकेशन की स्थिति (ओपन फ़ाइल हैंडल वगैरह) को AXfer->mAppState में अटैच करने के लिए अच्छी जगह है. आपको इस समय BDXtransfer ऑब्जेक्ट के लिए, ब्लॉक हैंडलर के लिए ज़रूरी हैंडलर भी अटैच करने चाहिए. अगर kStatus_ Success को छोड़कर कोई दूसरा गड़बड़ी कोड मिलता है, तो यह माना जाता है कि ट्रांसफ़र को अस्वीकार कर दिया गया है. साथ ही, प्रोटोकॉल अस्वीकार किए गए मैसेज को कोड के साथ भेजेगा.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
नामंज़ूरी
void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
अगर शुरू किए गए पिछले किसी एक मैसेज को डेस्टिनेशन से अस्वीकार कर दिया गया था, तो क्या यह चालू होगा.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
स्वीकार करेंHandler
WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
पहले भेजे गए SendInit को डेस्टिनेशन स्वीकार करने पर, कॉलबैक का अनुरोध किया जाता है.
अगर आप डेटा ट्रांसफ़र की प्रोसेस शुरू करते समय ऐसा नहीं करते हैं, तो हो सकता है कि आप इस फ़ाइल का इस्तेमाल, फ़ाइल खोलने या ट्रांसफ़र के लिए संसाधनों का बंटवारा करने के लिए करना चाहें.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
SendInitHandler
uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
SendInit मैसेज मिलने पर कॉलबैक का अनुरोध किया गया.
इसका काम यह तय करना है कि आप SendInit स्वीकार करना चाहते हैं या नहीं. अगर ऐसा है, तो AXfer->mIsAllowed=true सेट करें, ताकि प्रोटोकॉल शुरू करने वाले व्यक्ति को 'स्वीकार करें' मैसेज भेजे. BDXट्रांसफ़र ऑब्जेक्ट की डिफ़ॉल्ट सेटिंग शुरू की गई है. यह किसी खास ऐप्लिकेशन की स्थिति (ओपन फ़ाइल हैंडल वगैरह) को AXfer->mAppState में अटैच करने के लिए अच्छी जगह है. आपको इस समय BDXtransfer ऑब्जेक्ट के लिए, ब्लॉक हैंडलर के लिए ज़रूरी हैंडलर भी अटैच करने चाहिए. अगर WEAVE_NO_ERROR के अलावा कोई गड़बड़ी कोड लौटाया जाता है, तो यह माना जाएगा कि ट्रांसफ़र अस्वीकार कर दिया गया है और प्रोटोकॉल अस्वीकार करने वाले कोड को भेजने का काम प्रबंधित करेगा.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
फ़ेरफ़ंडहैंडलर
void(* XferDoneHandler)(BDXTransfer *aXfer)
उन मामलों को मैनेज करें जहां ट्रांसफ़र पूरा हो गया है.
देखें.ब्यौरा | |||
---|---|---|---|
पैरामीटर |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
BDX से मिले या भेजे गए transferError मैसेज को मैनेज करें.
ध्यान दें: BDX ट्रांसफ़र को शायद वापस लाया जा सकता है (जैसे कि फ़िलहाल PacketBuffers से कुछ समय के लिए हटाया जा सकता है). इसलिए, Shutdown() को कॉल करने का विकल्प, ऐप्लिकेशन प्रोग्रामर और उनके तय किए गए कॉलबैक पर छोड़ दिया जाता है. काम: इसकी पुष्टि करें और इसे BDX दस्तावेज़ में इस्तेमाल की गई भाषा के साथ मिलाएं, जिसमें यह बताया गया है: &कोटेशन[A स्थानांतरण गड़बड़ी] किसी भी पक्ष को समय-समय पर बल्क डेटा ट्रांसफ़र खत्म करने के लिए भेजा जा सकता है.&कोटेशन;
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
फ़ंक्शन
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag, अनुरोध के फ़ील्ड के लिए सही फ़्लैग दिखाता है. यह एक्सचेंज के कॉन्टेक्स्ट और#39; कनेक्शन (TCP के लिए अनुरोध करने की कोई प्रोसेस नहीं है) के आधार पर, और WRMP के लिए कंपाइल होने में लगने वाले समय के आधार पर तय होता है.
ब्यौरा | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
0 या kSendFlag_RequestAck
|