nl:: Weave:: الملفات الشخصية:: BDX_تطوير التطبيقات
تحتوي مساحة الاسم هذه على جميع الواجهات ضمن 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 من طول الطول. |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
typedef تم استدعاء معاودة الاتصال عند قبول ReceivedInit المرسلة سابقًا من الوجهة. |
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
|
typedefuint16_t(*
تم استدعاء معاودة الاتصال عند استلام رسالة ReceivedInit. |
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(*
يمكنك التعامل مع رسائل TransportError التي تم تلقيها أو إرسالها من خلال BDX. |
الدوال |
|
---|---|
GetBDXAckFlag(ExchangeContext *anEc)
|
uint16_t
تعرض GetBDXAckFlag العلامة المناسبة لحقل RequestAck بناءً على اتصال سياق التبادل ('s (بدون مقدّم طلب لبروتوكول TCP){/1} وتستند إلى وقت التجميع المجمّع لبرنامج WRMP.
|
الهياكل |
|
---|---|
nl:: |
|
nl:: |
تحتوي هذه البنية على أعضاء بيانات يمثلون نقل BDX نشطًا. |
مساحات الأسماء |
|
---|---|
nl:: |
تعداد
@80
@80
@81
@81
@82
@82
@33
@83
رفوف النوع
عميل Bdx
BdxNode BdxClient
خادم BdxServer
BdxNode BdxServer
معالج الخطأ
void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
يُطلق على هذا المعالج اسم "أي خطأ" في حدوث خطأ Weave ولا يمكن عرضه مباشرةً عبر رموز الخطأ في عملية التحكم التي يحددها المستخدم.
وهذا يعني أنه إذا حدث خطأ داخل معالج آخر يكون توقيعه فارغًا (على سبيل المثال استجابة لرسالة واردة من Weave أو تم إرسالها بواسطة البروتوكول)، فسيتم استدعاء هذا المعالج بحيث يمكن للمستخدم تحديد ما إذا كان يمكن استرداد النقل والمتابعة أو إذا كان يجب أن يستدعي Shutdown() . وتجدر الإشارة إلى أنه من الممكن أن يحدث خطأ قبل أن يتم إعداد BDXTransport كثيرة جدًا (مثل، نقل العديد من الكائنات). وفي مثل هذه الحالة، يسجّل Weave الخطأ المعني كما سيعالج البروتوكول أي حالة ضرورية تم تخصيصها.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
GetBlockHandler
void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
Get a block of data to be transmitted.
يقدم المتصل مساحة التخزين المؤقت (المخزن المؤقت ومدة التخزين المؤقت، التي يتم تمريرها بالإشارة المرجعية). يُفترض أن يستخدم المتصل (تطبيق المستخدم) المخزن المؤقت المُقدّم، ولكن قد يعرض المخزن المؤقت المخزن مؤقتًا لأسباب تتعلق بالتوافق. يجب ألا يقدّم المتصل أكثر من aLength
بايت. عند عرض aLength
، يحتوي على العدد الفعلي لوحدات البايت التي تمت قراءتها في المخزن المؤقت.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
وضع قالب حظر
void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
معالجة كتلة البيانات المُشار إليها من خلال aDataBlock من طول الطول.
ومن المرجح أن يتضمن ذلك كتابة هذا الملف في ملف وإغلاق الملف المذكور إذا كان isLastBlock صحيحًا.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
استقبال الاستلام
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
تم استدعاء معاودة الاتصال عند قبول ReceivedInit المرسلة سابقًا من الوجهة.
قد ترغب في استغلال هذه الفرصة لفتح الملفات أو تخصيص الموارد لعملية النقل إذا لم تكن قد فعلت ذلك عند بدء النقل.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
معالج الاستلام
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
تم استدعاء معاودة الاتصال عند استلام رسالة ReceivedInit.
ومهمته هي تحديد ما إذا كنت تريد قبول الاستلام أم لا، وإذا كان الأمر كذلك، فعيِّن aXfer->mIsAccept=true بحيث يرسل البروتوكول رسالة قبول إلى المُنشئ. يتم بدء الكائن BDXTransport للإعدادات التلقائية. وهذا مكان مناسب لإرفاق أي حالة خاصة بالتطبيق (مثل مقابض فتح الملفات وما إلى ذلك) بـ aXfer->mAppState. عليك أيضًا إرفاق المعالِجات اللازمة، مثلاً، حظر المعالجة على الكائن BDXTransport في هذه المرحلة. وإذا تم إرجاع رمز خطأ بخلاف kStatus_Success، من المفترض أن يتم رفض عملية النقل وسيعالج البروتوكول إرسال رسالة رفض تحتوي على الرمز.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
مقبض الرفض
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->mIsAccept=true بحيث يرسل البروتوكول رسالة قبول إلى بادئ التشغيل. يتم بدء الكائن BDXTransport للإعدادات التلقائية. وهذا مكان مناسب لإرفاق أي حالة خاصة بالتطبيق (مثل مقابض فتح الملفات وما إلى ذلك) بـ aXfer->mAppState. عليك أيضًا إرفاق المعالِجات اللازمة، مثلاً، حظر المعالجة على الكائن BDXTransport في هذه المرحلة. وإذا تم عرض رمز خطأ بخلاف WEAVE_NO_ERROR، يفترض أن يتم رفض عملية النقل، وسيعالج البروتوكول إرسال رسالة رفض تحتوي على الرمز.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
تذكرة XverDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
التعامل مع الحالات التي انتهت فيها عملية النقل
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
تذكرة XverErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
يمكنك التعامل مع رسائل TransportError التي تم تلقيها أو إرسالها من خلال BDX.
ملاحظة:يُفترض أن تكون عملية نقل BDX قابلة للاسترداد (قد تكون مؤقتة مؤقتًا (على سبيل المثال، خارج PacketBuffers) لذلك يتم ترك خيار Shutdown() إلى مبرمج التطبيق واستدعاءات رد الاتصال التي يحددها. المهام: تحقّق من هذه التسوية ومطابقتها مع اللغة الواردة في مستند BDX، الذي يذكر: &"[A TransferError] يمكن لأي طرف إرساله في أي وقت لإنهاء النقل المجمّع للبيانات قبل اكتمالها.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
الدوال
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
تعرض GetBDXAckFlag العلامة المناسبة لحقل RequestAck بناءً على اتصال سياق التبادل ('s (بدون مقدّم طلب لبروتوكول TCP){/1} وتستند إلى وقت التجميع المجمّع لبرنامج WRMP.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
المرتجعات |
0 أو kSendFlag_RequestAck
|