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:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::BdxNode
nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::ब्लॉकअक

BlockAck मैसेज का इस्तेमाल डेटा के ब्लॉक को स्वीकार करने के लिए किया जाता है.

nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::BlockAckV1

BlockAckV1 मैसेज का इस्तेमाल, डेटा के ब्लॉक को स्वीकार करने के लिए किया जाता है.

nl:: बुना::प्रोफ़ाइल::BDX_डेवलपमेंट::BlockEOF

BlockEOF मैसेज का इस्तेमाल, डेटा के आखिरी ब्लॉक को पाने वाले से पाने वाले को ट्रांसफ़र करने के लिए किया जाता है.

nl:: बुना::प्रोफ़ाइल::BDX_डेवलपमेंट::BlockEOFAck

BlockEOFAck मैसेज का इस्तेमाल, डेटा के आखिरी ब्लॉक को स्वीकार करने के लिए किया जाता है.

nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::BlockEOFAckV1

BlockEOFAckV1 मैसेज का इस्तेमाल, डेटा के आखिरी ब्लॉक को स्वीकार करने के लिए किया जाता है.

nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::BlockEOFV1

BlockEOFV1 मैसेज का इस्तेमाल, डेटा के आखिरी ब्लॉक को भेजने वाले से पाने वाले को ट्रांसफ़र करने के लिए किया जाता है.

nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::BlockQuery

BlockQuery के मैसेज का इस्तेमाल यह अनुरोध करने के लिए किया जाता है कि डेटा के एक ब्लॉक को भेजने वाले से पाने वाले व्यक्ति को ट्रांसफ़र किया जाए.

nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::BlockQueryV1

BlockQueryV1 मैसेज का इस्तेमाल यह अनुरोध करने के लिए किया जाता है कि डेटा के एक ब्लॉक को भेजने वाले से पाने वाले व्यक्ति को ट्रांसफ़र किया जाए.

nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::ब्लॉक भेजें

BlockSend मैसेज का इस्तेमाल डेटा के ब्लॉक को भेजने वाले से पाने वाले व्यक्ति को ट्रांसफ़र करने के लिए किया जाता है.

nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::BlockSendV1

BlockSendV1 मैसेज का इस्तेमाल, डेटा के ब्लॉक को भेजने वाले से पाने वाले व्यक्ति को ट्रांसफ़र करने के लिए किया जाता है.

nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::स्वीकार करें

स्वीकार करें मैसेज का इस्तेमाल, किसी सुझाए गए एक्सचेंज को स्वीकार करने के लिए किया जाता है. ऐसा तब होता है, जब रिसीवर शुरू करने वाला होता है.

nl:: बुना::प्रोफ़ाइल::BDX_डेवलपमेंट::GetInit

GetInit मैसेज का इस्तेमाल, एक्सचेंज शुरू करने पर तब किया जाता है, जब रिसीवर शुरू होता है.

nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::अस्वीकार करें

ईमेल अस्वीकार करें वाले मैसेज का इस्तेमाल, सुझाए गए एक्सचेंज को अस्वीकार करने के लिए किया जाता है. ऐसा तब होता है, जब भेजने वाला शुरू करने वाला हो.

nl:: बुना::प्रोफ़ाइल::BDX_डेवलपमेंट::भेजें स्वीकार करें

ईमेल स्वीकार करें मैसेज का इस्तेमाल, सुझाए गए एक्सचेंज को स्वीकार करने के लिए किया जाता है. ऐसा तब होता है, जब भेजने वाला शुरुआत करने वाला हो.

nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::SendInit

SendInit मैसेज का इस्तेमाल तब किया जाता है, जब भेजने वाला शुरू करने वाला हो.

nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::भेजें अस्वीकार

ईमेल अस्वीकार करें वाले मैसेज का इस्तेमाल, सुझाए गए एक्सचेंज को अस्वीकार करने के लिए किया जाता है. ऐसा तब होता है, जब भेजने वाला शुरुआत करने वाला हो.

nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::ट्रांसफ़र गड़बड़ी

गड़बड़ी के मैसेज का इस्तेमाल, गड़बड़ी की शिकायत करने और एक्सचेंज को रद्द करने के लिए किया जाता है.

स्ट्रक्चर

nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::BDXHandlers
nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::BDXtransfer

इस स्ट्रक्चर में ऐसे डेटा सदस्य हैं जो किसी चालू BDX ट्रांसफ़र को दिखाते हैं.

नेमस्पेस

nl:: बुनाई::प्रोफ़ाइल::BDX_डेवलपमेंट::BdxProtocol

गिनती

@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 से गड़बड़ी लॉग की जाएगी और तय की गई किसी भी ज़रूरी शर्त को हैंडल करने में, प्रोटोकॉल हैंडल करेगा.

ब्यौरा
पैरामीटर
[in] aXfer
इस ट्रांसफ़र से जुड़े BDXtransfer के लिए पॉइंटर
[in] anErrorCode
गड़बड़ी का वह कोड जिसे हमें प्रोसेस करना है

GetBlockHandler

void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)

Get a block of data to be transmitted.

कॉल करने वाला व्यक्ति (वीडियो के बफ़र होने का समय) और बफ़र की वह जानकारी देता है जो पहचान फ़ाइल से मिलती है. कॉली (उपयोगकर्ता ऐप्लिकेशन) को दिए गए बफ़र का इस्तेमाल करना चाहिए, लेकिन पुराने सिस्टम के साथ काम करने की वजहों से, यह अपना बफ़र वापस ला सकता है. कैली को aLength बाइट से ज़्यादा नहीं देना चाहिए. रिटर्न पर, aLength में बफ़र में पढ़े गए बाइट की असल संख्या होती है.

ब्यौरा
पैरामीटर
[in] aXfer
इस ट्रांसफ़र से जुड़ा BDXtransfer
[in,out] aLength
इस ब्लॉक में पढ़ा और सेव किया गया डेटा. फ़ंक्शन पर कॉल में aDataBlock में पास किए गए बफ़र की लंबाई होती है. रिटर्न में, वैरिएबल में असल में पढ़े गए डेटा की लंबाई शामिल होती है.
[in,out] aDataBlock
डेटा के ब्लॉक की ओर इशारा करता है. इनपुट में, इसमें फ़्रेमवर्क-उपलब्ध बफ़र है; कॉल करने वाला व्यक्ति, बफ़र भरने के लिए उस स्पेस का इस्तेमाल कर सकता है या अपना बफ़र बफ़र करने की जगह दे सकता है (पीछे जाने की सुविधा वाले ऐप्लिकेशन के लिए). दिए गए बफ़र का इस्तेमाल करने वाले ऐप्लिकेशन को किसी भी अलाइनमेंट को नहीं लेना चाहिए.
[out] aLastBlock
सही है अगर ब्लॉक को BlockEOF के तौर पर भेजा जाना चाहिए और ट्रांसफ़र पूरा हो गया है, नहीं तो गलत होता है

PuBlockHandler

void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)

डेटा ब्लॉक करने की अवधि से जुड़े ADataBlock के पॉइंट को मैनेज करें.

हो सकता है कि यह किसी फ़ाइल में लिखना हो और कहा गया फ़ाइल बंद होने पर उसे बंद करना हो.

ब्यौरा
पैरामीटर
[in] aXfer
इस ट्रांसफ़र से जुड़ा BDXtransfer
[in] aLength
खास ब्लॉक में पढ़ा और सेव किया गया डेटा की लंबाई
[in] aDataBlock
डेटा का असली ब्लॉक
[in] aLastBlock
अगर BlockEOF के तौर पर ब्लॉक मिला और ट्रांसफ़र पूरा हुआ, तो गलत है. सही होने पर, प्रोग्रामर को संभावित रूप से किसी भी फ़ाइल हैंडल को अंतिम रूप देना चाहिए, यह ध्यान रखते हुए कि इसके बाद XferDoneHandler को कॉल किया जाएगा

स्वीकार करेंHandler

WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)

पहले भेजे गए GetInit को डेस्टिनेशन से स्वीकार करने पर, कॉलबैक फिर से शुरू किया जाता है.

अगर आप डेटा ट्रांसफ़र की प्रोसेस शुरू करते समय ऐसा नहीं करते हैं, तो हो सकता है कि आप इस फ़ाइल का इस्तेमाल, फ़ाइल खोलने या ट्रांसफ़र के लिए संसाधनों का बंटवारा करने के लिए करना चाहें.

ब्यौरा
पैरामीटर
[in] aXfer
इस ट्रांसफ़र से जुड़े BDXtransfer के लिए पॉइंटर
[in] aReceiveAcceptMsg
पाएं मैसेज की ओर इशारा करें जिसे हम प्रोसेस कर रहे हैं

GetInitHandler

uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)

GetInit मैसेज मिलने पर, कॉलबैक का अनुरोध किया गया.

इसका काम यह तय करना है कि क्या आप रसीद को स्वीकार करना चाहते हैं और अगर ऐसा है, तो AXfer->mIsAllowed=true सेट करें, ताकि प्रोटोकॉल शुरू करने वाले व्यक्ति को 'स्वीकार करें' मैसेज भेजे. BDXट्रांसफ़र ऑब्जेक्ट की डिफ़ॉल्ट सेटिंग शुरू की गई है. यह किसी खास ऐप्लिकेशन की स्थिति (ओपन फ़ाइल हैंडल वगैरह) को AXfer->mAppState में अटैच करने के लिए अच्छी जगह है. आपको इस समय BDXtransfer ऑब्जेक्ट के लिए, ब्लॉक हैंडलर के लिए ज़रूरी हैंडलर भी अटैच करने चाहिए. अगर kStatus_ Success को छोड़कर कोई दूसरा गड़बड़ी कोड मिलता है, तो यह माना जाता है कि ट्रांसफ़र को अस्वीकार कर दिया गया है. साथ ही, प्रोटोकॉल अस्वीकार किए गए मैसेज को कोड के साथ भेजेगा.

ब्यौरा
पैरामीटर
[in] aXfer
इस ट्रांसफ़र से जुड़े BDXtransfer के लिए पॉइंटर
[in] aReceiveInitMsg
GetInit के उस मैसेज की ओर संकेत करें जिसे हम प्रोसेस कर रहे हैं

नामंज़ूरी

void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)

अगर शुरू किए गए पिछले किसी एक मैसेज को डेस्टिनेशन से अस्वीकार कर दिया गया था, तो क्या यह चालू होगा.

ब्यौरा
पैरामीटर
[in] aXfer
इस ट्रांसफ़र से जुड़े BDXtransfer के लिए पॉइंटर
[in] aReport
स्थिति रिपोर्ट के मैसेज को अस्वीकार किए जाने की ओर इशारा करना जिसे हम प्रोसेस कर रहे हैं

स्वीकार करेंHandler

WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)

पहले भेजे गए SendInit को डेस्टिनेशन स्वीकार करने पर, कॉलबैक का अनुरोध किया जाता है.

अगर आप डेटा ट्रांसफ़र की प्रोसेस शुरू करते समय ऐसा नहीं करते हैं, तो हो सकता है कि आप इस फ़ाइल का इस्तेमाल, फ़ाइल खोलने या ट्रांसफ़र के लिए संसाधनों का बंटवारा करने के लिए करना चाहें.

ब्यौरा
पैरामीटर
[in] aXfer
इस ट्रांसफ़र से जुड़े BDXtransfer के लिए पॉइंटर
[in] aSendAcceptMsg
भेजें स्वीकार करें मैसेज पर कर्सर ले जाएं

SendInitHandler

uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)

SendInit मैसेज मिलने पर कॉलबैक का अनुरोध किया गया.

इसका काम यह तय करना है कि आप SendInit स्वीकार करना चाहते हैं या नहीं. अगर ऐसा है, तो AXfer->mIsAllowed=true सेट करें, ताकि प्रोटोकॉल शुरू करने वाले व्यक्ति को 'स्वीकार करें' मैसेज भेजे. BDXट्रांसफ़र ऑब्जेक्ट की डिफ़ॉल्ट सेटिंग शुरू की गई है. यह किसी खास ऐप्लिकेशन की स्थिति (ओपन फ़ाइल हैंडल वगैरह) को AXfer->mAppState में अटैच करने के लिए अच्छी जगह है. आपको इस समय BDXtransfer ऑब्जेक्ट के लिए, ब्लॉक हैंडलर के लिए ज़रूरी हैंडलर भी अटैच करने चाहिए. अगर WEAVE_NO_ERROR के अलावा कोई गड़बड़ी कोड लौटाया जाता है, तो यह माना जाएगा कि ट्रांसफ़र अस्वीकार कर दिया गया है और प्रोटोकॉल अस्वीकार करने वाले कोड को भेजने का काम प्रबंधित करेगा.

ब्यौरा
पैरामीटर
[in] aXfer
इस ट्रांसफ़र से जुड़े BDXtransfer के लिए पॉइंटर
[in] aSendInitMsg
sendInit के उस मैसेज की ओर संकेत करें जिसे हम प्रोसेस कर रहे हैं

फ़ेरफ़ंडहैंडलर

void(* XferDoneHandler)(BDXTransfer *aXfer)

उन मामलों को मैनेज करें जहां ट्रांसफ़र पूरा हो गया है.

देखें.

ब्यौरा
पैरामीटर
[in] aXfer
इस ट्रांसफ़र से जुड़े BDXtransfer के लिए पॉइंटर

XferErrorHandler

void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)

BDX से मिले या भेजे गए transferError मैसेज को मैनेज करें.

ध्यान दें: BDX ट्रांसफ़र को शायद वापस लाया जा सकता है (जैसे कि फ़िलहाल PacketBuffers से कुछ समय के लिए हटाया जा सकता है). इसलिए, Shutdown() को कॉल करने का विकल्प, ऐप्लिकेशन प्रोग्रामर और उनके तय किए गए कॉलबैक पर छोड़ दिया जाता है. काम: इसकी पुष्टि करें और इसे BDX दस्तावेज़ में इस्तेमाल की गई भाषा के साथ मिलाएं, जिसमें यह बताया गया है: &कोटेशन[A स्थानांतरण गड़बड़ी] किसी भी पक्ष को समय-समय पर बल्क डेटा ट्रांसफ़र खत्म करने के लिए भेजा जा सकता है.&कोटेशन;

ब्यौरा
पैरामीटर
[in] aXfer
इस ट्रांसफ़र से जुड़े BDXtransfer के लिए पॉइंटर
[in] aXferError
स्थिति रिपोर्ट से जुड़ी उस गड़बड़ी की ओर संकेत करें जिसे हम प्रोसेस कर रहे हैं

फ़ंक्शन

GetBDXAckFlag

uint16_t GetBDXAckFlag(
  ExchangeContext *anEc
)

GetBDXAckFlag, अनुरोध के फ़ील्ड के लिए सही फ़्लैग दिखाता है. यह एक्सचेंज के कॉन्टेक्स्ट और#39; कनेक्शन (TCP के लिए अनुरोध करने की कोई प्रोसेस नहीं है) के आधार पर, और WRMP के लिए कंपाइल होने में लगने वाले समय के आधार पर तय होता है.

ब्यौरा
पैरामीटर
[in] anEc
एक्सचेंज के संदर्भ जो हमें
लौटाए गए सामान
0 या kSendFlag_RequestAck