nl:: Weave:: Profiles:: BDX_Development
تشمل مساحة الاسم هذه جميع الواجهات الموجودة داخل Weave للملف الشخصي لنقل البيانات المجمّعة (BDX) التي تكون قيد التطوير، ولا يجب استخدامها للإنتاج.
ملخّص
عمليات التعداد |
|
---|---|
@80
|
تعداد |
@81
|
تعداد |
@82
|
تعداد |
@83
|
تعداد |
تعريف الأنواع |
|
---|---|
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 بطول aLength. |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
تعريف الكتابة تم استدعاء معاودة الاتصال عند قبول ReceiveInit تم إرساله سابقًا في الوجهة. |
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
|
تعريف الكتابةuint16_t(*
تم استدعاء معاودة الاتصال عند تلقّي رسالة ReceiveInit. |
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
|
تعريف الكتابةvoid(*
تم استدعاء هذا الإجراء إذا رفضت الوجهة إحدى رسائل Init السابقة. |
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
|
تعريف الكتابة تم استدعاء معاودة الاتصال عند قبول SendInit تم إرساله سابقًا من قِبل الوجهة. |
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
|
تعريف الكتابةuint16_t(*
تم استدعاء معاودة الاتصال عند تلقّي رسالة SendInit. |
XferDoneHandler)(BDXTransfer *aXfer)
|
تعريف الكتابةvoid(*
التعامل مع الحالات التي تكتمل فيها عملية النقل |
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
|
تعريف الكتابةvoid(*
التعامل مع رسائل TransferError التي استلمتها أو أرسلتها من BDX. |
الدوال |
|
---|---|
GetBDXAckFlag(ExchangeContext *anEc)
|
uint16_t
يعرض GetBDXAckFlag العلامة المناسبة لحقل RequestAck اعتمادًا على اتصال سياق التبادل (بدون طلب ack لـ TCP)، واستنادًا إلى إتاحة وقت التجميع لـ WRMP.
|
صفوف |
|
---|---|
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 واردة أو حتى يتم إرسالها بواسطة البروتوكول)، سيتم استدعاء هذا المعالج حتى يتمكّن المستخدم من تحديد ما إذا كان يمكن استرداد عملية النقل ومتابعتها أو ما إذا كان يجب عليه الاتصال بـ Pause(). وتجدر الإشارة إلى أنّه من الممكن حدوث خطأ قبل إعداد 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 true.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
ReceiveAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
تم استدعاء معاودة الاتصال عند قبول ReceiveInit تم إرساله سابقًا في الوجهة.
قد ترغب في استغلال هذه الفرصة لفتح الملفات أو تخصيص موارد لعملية النقل إذا لم تفعل ذلك عند بدئه.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
ReceiveInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
تم استدعاء معاودة الاتصال عند تلقّي رسالة ReceiveInit.
وتتمثل مهمتها في تحديد ما إذا كنت تريد قبول الاستلام، وفي هذه الحالة، قم بتعيين aXfer->mIsAgree=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 في الوقت الحالي)، ولذا يتم ترك خيار استدعاء Launchdown() لمبرمج التطبيق واستدعاءات معاودة الاتصال التي يحددها. قائمة المهام: يُرجى التحقق من هذا الأمر ومطابقته مع اللغة الواردة في مستند BDX الذي ينص على ما يلي: "[A TransferError] يمكن لأي طرف أن يرسل في أي وقت بواسطة أنهِ عملية نقل البيانات المجمّعة".
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
الدوال
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
يعرض GetBDXAckFlag العلامة المناسبة لحقل RequestAck اعتمادًا على اتصال سياق التبادل (بدون طلب ack لـ TCP)، واستنادًا إلى إتاحة وقت التجميع لـ WRMP.
التفاصيل | |||
---|---|---|---|
المعلمات |
|
||
المرتجعات |
0 أو kSendFlag_RequestAck
|