nl:: Weave:: Profiles:: BDX_Development
تشمل مساحة الاسم هذه جميع الواجهات ضمن Weave للملف الشخصي لنقل البيانات المجمّعة (BDX) التي تكون قيد التطوير بنشاط، ويجب عدم استخدامها لاستخدام الإنتاج.
ملخّص
عمليات التعداد |
|
---|---|
@80
|
تعداد |
@81
|
تعداد |
@82
|
تعداد |
@83
|
تعداد |
تحديدات النوع |
|
---|---|
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 of length aLength. |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
typedef تم استدعاء معاودة الاتصال عند قبول ReceiveInit المُرسَل مسبقًا من قبل الوجهة. |
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
|
typedefuint16_t(*
تم استدعاء معاودة الاتصال عند استلام رسالة ReceiveInit. |
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
|
typedefvoid(*
تم استدعاؤه إذا رفضت الوجهة إحدى رسائل Init السابقة. |
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
|
typedef تم استدعاء معاودة الاتصال عند قبول 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 العلامة المناسبة لحقل 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 واردة أو حتى يتم إرسالها بواسطة البروتوكول)، سيتم استدعاء هذا المعالج ليتمكّن المستخدم من تحديد ما إذا كان يمكن استرداد عملية النقل ومتابعتها أو إذا كان عليه استدعاء Shutdown() . تجدر الإشارة إلى احتمال حدوث خطأ كبير جدًا قبل إعداد BDXTransfer في هذه الحالة، سيتم تسجيل الخطأ المذكور بواسطة Weave، وسيتولى البروتوكول تنظيف أي حالة ضرورية تم تخصيصها.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
GetBlockHandler
void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
Get a block of data to be transmitted.
يوفر المتصل مساحة التخزين المؤقت (المخزن المؤقت وطوله، ويتم تمريره بالإشارة). ينبغي على المتصل (تطبيق المستخدم) استخدام المورد الاحتياطي المقدم، ولكن لأسباب تتعلق بالتوافق مع الأنظمة القديمة، قد يعرض المخزن المؤقت الخاص به. يجب ألا يتجاوز المتصل aLength
من بايت. وعند العودة، يحتوي aLength
على العدد الفعلي لوحدات البايت التي تمت قراءتها في المخزن المؤقت.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
PutBlockHandler
void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
يمكنك التعامل مع مجموعة البيانات المُشار إليها باستخدام aDataBlock of length aLength.
من المحتمل أن يتضمن ذلك كتابته في ملف وإغلاق الملف المذكور إذا كانت isLastBlock true.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
ReceiveAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
تم استدعاء معاودة الاتصال عند قبول ReceiveInit المُرسَل مسبقًا من قبل الوجهة.
قد ترغب في استغلال هذه الفرصة لفتح الملفات أو تخصيص موارد لعملية النقل إذا لم تكن قد فعلت ذلك عند بدء العملية.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
ReceiveInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
تم استدعاء معاودة الاتصال عند استلام رسالة ReceiveInit.
وتتمثل مهمته في تحديد ما إذا كنت تريد قبول الاستلام، وإذا كان الأمر كذلك، اضبط 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() لمبرمج التطبيق وعمليات الاستدعاء التي يحدّدها. المهمة: عليك التحقّق من ذلك ومطابقته مع اللغة الواردة في مستند BDX الذي ينص على ما يلي: "[A TransferError] يمكن لأي طرف إرسال [A TransferError] في أي وقت لإنهاء عملية نقل البيانات المجمّعة قبل أوانه".
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
الدوال
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
يعرض GetBDXAckFlag العلامة المناسبة لحقل RequestAck اعتمادًا على اتصال سياق التبادل (لا يوجد طلب ack لـ TCP)، واستنادًا إلى دعم وقت التجميع في WRMP.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
0 أو kSendFlag_RequestAck
|