nl:: بافت:: پروفایل ها:: BDX_Development
این فضای نام شامل تمام رابطهای موجود در نمایه Weave for Bulk Data Transfer (BDX) است که به طور فعال در حال توسعه هستند و نباید برای استفاده در تولید استفاده شوند.
خلاصه
شمارش ها | |
---|---|
@80 | enum |
@81 | enum |
@82 | enum |
@83 | enum |
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
BdxServer
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 (برنامه کاربر) باید از بافر ارائه شده استفاده کند، اما به دلایل سازگاری با عقب، ممکن است بافر خود را برگرداند. 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 به طور بالقوه قابل بازیابی است (احتمالاً موقتاً خارج از PacketBuffers در حال حاضر) و بنابراین گزینه فراخوانی Shutdown() به برنامه نویس برنامه و callback هایی که آنها تعریف می کنند واگذار می شود. TODO: این را تأیید کنید و آن را با زبان موجود در سند BDX تطبیق دهید، که بیان میکند: "[A TransferError] میتواند در هر زمانی توسط هر یک از طرفین ارسال شود تا انتقال دادههای انبوه بهطور پیش از موعد پایان یابد."
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
|
توابع
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag بسته به اتصال زمینه تبادل (بدون درخواست برای TCP) و بر اساس پشتیبانی زمان کامپایل برای WRMP، پرچم مناسب را برای فیلد RequestAck برمیگرداند.
جزئیات | |||
---|---|---|---|
پارامترها |
| ||
برمی گرداند | 0 یا kSendFlag_RequestAck |
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2024-11-13 بهوقت ساعت هماهنگ جهانی.