nl:: بافت:: پروفایل ها:: BDX_Development
این فضای نام شامل تمام رابطهای موجود در نمایه Weave for Bulk Data Transfer (BDX) است که به طور فعال در دست توسعه هستند و نباید برای استفاده در تولید استفاده شوند.
خلاصه
شمارش ها | |
---|---|
@80 | شمارش |
@81 | شمارش |
@82 | شمارش |
@83 | شمارش |
Typedefs | |
---|---|
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(* بلوک داده ای را که توسط aDataBlock از طول aLength به آن اشاره می شود، مدیریت کنید. |
ReceiveAcceptHandler )(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg) | typedefWEAVE_ERROR (* هنگامی که ReceiveInit قبلاً ارسال شده توسط مقصد پذیرفته شود، تماس مجدد فراخوانی می شود. |
ReceiveInitHandler )(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg) | typedefuint16_t(* هنگام دریافت پیام ReceiveInit ، تماس مجدد فراخوانی می شود. |
RejectHandler )(BDXTransfer *aXfer, StatusReport *aReport) | typedefvoid(* اگر یکی از پیامهای Init قبلی توسط مقصد رد شده باشد، فراخوانی میشود. |
SendAcceptHandler )(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg) | typedefWEAVE_ERROR (* هنگامی که یک SendInit قبلا ارسال شده توسط مقصد پذیرفته شود، تماس مجدد فراخوانی می شود. |
SendInitHandler )(BDXTransfer *aXfer, SendInit *aSendInitMsg) | typedefuint16_t(* هنگام دریافت پیام SendInit تماس مجدد فراخوانی می شود. |
XferDoneHandler )(BDXTransfer *aXfer) | typedefvoid(* رسیدگی به مواردی که انتقال به پایان رسیده است. |
XferErrorHandler )(BDXTransfer *aXfer, StatusReport *aXferError) | typedefvoid(* مدیریت پیامهای TransferError دریافت یا ارسال شده توسط BDX. |
کارکرد | |
---|---|
GetBDXAckFlag ( ExchangeContext *anEc) | uint16_t GetBDXAckFlag بسته به اتصال زمینه تبادل (بدون درخواست برای TCP) و بر اساس پشتیبانی زمان کامپایل برای WRMP، پرچم مناسب را برای فیلد RequestAck برمیگرداند. |
کلاس ها | |
---|---|
nl:: بافت:: پروفایل ها:: BDX_Development:: BdxNode | |
nl:: بافت:: پروفایل ها:: BDX_Development:: BlockAck | پیام BlockAck برای تایید یک بلوک از داده ها استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: BlockAckV1 | پیام BlockAckV1 برای تایید یک بلوک از داده ها استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: BlockEOF | پیام BlockEOF برای انتقال آخرین بلوک داده از فرستنده به گیرنده استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: BlockEOFAck | پیام BlockEOFAck برای تایید آخرین بلوک داده استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: BlockEOFAckV1 | پیام BlockEOFAckV1 برای تایید آخرین بلوک داده استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: BlockEOFV1 | پیام BlockEOFV1 برای انتقال آخرین بلوک داده از فرستنده به گیرنده استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: BlockQuery | پیام BlockQuery برای درخواست انتقال بلوکی از داده ها از فرستنده به گیرنده استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: BlockQueryV1 | پیام BlockQueryV1 برای درخواست انتقال بلوکی از داده ها از فرستنده به گیرنده استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: BlockSend | پیام BlockSend برای انتقال بلوکی از داده ها از فرستنده به گیرنده استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: BlockSendV1 | پیام BlockSendV1 برای انتقال بلوکی از داده ها از فرستنده به گیرنده استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: ReceiveAccept | پیام ReceiveAccept برای پذیرش مبادله پیشنهادی زمانی که گیرنده آغازگر باشد استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: ReceiveInit | پیام ReceiveInit برای شروع یک تبادل زمانی که گیرنده آغازگر است استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: ReceiveReject | پیام ReceiveReject برای رد تبادل پیشنهادی زمانی که فرستنده آغازگر است استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: SendAccept | پیام SendAccept برای پذیرش تبادل پیشنهادی زمانی که فرستنده آغازگر باشد استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: SendInit | پیام SendInit برای شروع یک تبادل زمانی که فرستنده آغازگر است استفاده می شود. |
nl:: بافت:: پروفایل ها:: BDX_Development:: SendReject | پیام SendReject برای رد تبادل پیشنهادی زمانی که فرستنده آغازگر باشد استفاده می شود. |
nl:: بافت:: نمایه ها:: BDX_Development:: خطای انتقال | پیام خطا برای گزارش خطا و لغو تبادل استفاده می شود. |
سازه ها | |
---|---|
nl:: بافت:: پروفایل:: BDX_Development:: BDXHandlers | |
nl:: بافت:: پروفایل:: BDX_Development:: BDXTransfer | این ساختار شامل اعضای داده ای است که انتقال فعال BDX را نشان می دهد. |
فضاهای نام | |
---|---|
nl:: بافت:: پروفایل ها:: BDX_Development:: BdxProtocol |
شمارش ها
@80
@80
@81
@81
@82
@82
@83
@83
Typedefs
BdxClient
BdxNode BdxClient
سرور Bdx
BdxNode BdxServer
Error Handler
void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
هر زمان که با یک خطای Weave مواجه شود که نمیتواند مستقیماً از طریق کدهای خطا به جریان کنترل تعریفشده توسط کاربر بازگردانده شود، این کنترلکننده نامیده میشود.
یعنی اگر خطایی در کنترلر دیگری رخ دهد که امضای آن دارای نوع برگشتی void است (مثلاً در پاسخ به یک پیام Weave دریافتی یا حتی ارسال شده توسط پروتکل)، این کنترلر فراخوانی می شود تا کاربر بتواند تعیین کند که آیا انتقال قابل بازیابی است یا خیر. و ادامه دهید یا اگر باید Shutdown() را فراخوانی کنند. توجه داشته باشید که ممکن است یک خطا قبل از مقداردهی اولیه 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)
بلوک داده ای را که توسط aDataBlock از طول aLength به آن اشاره می شود، مدیریت کنید.
به احتمال زیاد این شامل نوشتن آن در یک فایل و بستن فایل مذکور در صورت درست بودن isLastBlock خواهد بود.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
مولفه های |
|
ReceiveAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
هنگامی که ReceiveInit قبلاً ارسال شده توسط مقصد پذیرفته شود، تماس مجدد فراخوانی می شود.
ممکن است بخواهید از این فرصت برای باز کردن فایل ها یا تخصیص منابع برای انتقال استفاده کنید، اگر این کار را هنگام شروع آن انجام نداده اید.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
ReceiveInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
هنگام دریافت پیام ReceiveInit ، تماس مجدد فراخوانی می شود.
وظیفه آن این است که تعیین کند آیا میخواهید Receive را بپذیرید یا خیر، و اگر چنین است، aXfer->mIsAccepted=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->mIsAccepted=true را تنظیم کنید تا پروتکل یک پیام پذیرش را به آغازگر ارسال کند. شی BDXTransfer به تنظیمات پیش فرض راه اندازی می شود. این مکان مناسبی برای پیوست کردن هر حالت خاص برنامه (باز کردن دسته فایل و غیره) به aXfer->mAppState است. همچنین در این مرحله باید کنترل کننده های لازم برای مدیریت بلوک را به شی BDXTransfer متصل کنید. اگر کد خطای دیگری غیر از WEAVE_NO_ERROR برگردانده شود، انتقال رد شده است و پروتکل ارسال یک پیام رد همراه با کد را انجام می دهد.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
رسیدگی به مواردی که انتقال به پایان رسیده است.
جزئیات | |||
---|---|---|---|
مولفه های |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
مدیریت پیامهای TransferError دریافت یا ارسال شده توسط BDX.
توجه: فرض بر این است که انتقال BDX به طور بالقوه قابل بازیابی است (مثلاً موقتاً در حال حاضر از PacketBuffer خارج شده است) و بنابراین گزینه فراخوانی Shutdown() به برنامه نویس برنامه و فراخوان هایی که آنها تعریف می کنند واگذار می شود. TODO: این را تأیید کنید و آن را با زبان موجود در سند BDX تطبیق دهید، که بیان میکند: "[A TransferError] میتواند در هر زمانی توسط هر یک از طرفین ارسال شود تا انتقال دادههای انبوه را پیش از موعد متوقف کند."
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
کارکرد
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag بسته به اتصال زمینه تبادل (بدون درخواست برای TCP) و بر اساس پشتیبانی زمان کامپایل برای WRMP، پرچم مناسب را برای فیلد RequestAck برمیگرداند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | 0 یا kSendFlag_RequestAck |
جز در مواردی که غیر از این ذکر شده باشد، محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است و نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است. Thread علامت تجاری ثبتشده Thread Group, Inc است.
تاریخ آخرین بهروزرسانی 2019-10-28 بهوقت ساعت هماهنگ جهانی.