nl::Weave::الملفات الشخصية::BDX_تطوير التطبيقات

تحتوي مساحة الاسم هذه على جميع الواجهات ضمن Weave للملف الشخصي لنقل البيانات المجمّعة (BDX) الذي هو قيد التطوير حاليًا ويجب ألا يتم استخدامه لاستخدام الإنتاج.

الملخّص

تعداد

@80 تعداد
@81 تعداد
@82 تعداد
@83 تعداد

رفوف النوع

BdxClient typedef
BdxServer typedef
ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode) typedef
void(*
يُطلق على هذا المعالج اسم "أي خطأ" في حدوث خطأ Weave ولا يمكن عرضه مباشرةً عبر رموز الخطأ في عملية التحكم التي يحددها المستخدم.
GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock) typedef
void(*
Get a block of data to be transmitted.
PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock) typedef
void(*
معالجة كتلة البيانات المُشار إليها من خلال aDataBlock من طول الطول.
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg) typedef
تم استدعاء معاودة الاتصال عند قبول ReceivedInit المرسلة سابقًا من الوجهة.
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg) typedef
uint16_t(*
تم استدعاء معاودة الاتصال عند استلام رسالة ReceivedInit.
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport) typedef
void(*
تم الاستدعاء إذا تم رفض إحدى رسائل Init السابقة من خلال الوجهة.
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg) typedef
تم استدعاء معاودة الاتصال عند قبول SendInit المرسلة سابقًا من الوجهة.
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg) typedef
uint16_t(*
تم استدعاء معاودة الاتصال عند استلام رسالة SendInit.
XferDoneHandler)(BDXTransfer *aXfer) typedef
void(*
التعامل مع الحالات التي انتهت فيها عملية النقل
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError) typedef
void(*
يمكنك التعامل مع رسائل TransportError التي تم تلقيها أو إرسالها من خلال BDX.

الدوال

GetBDXAckFlag(ExchangeContext *anEc)
uint16_t
تعرض GetBDXAckFlag العلامة المناسبة لحقل RequestAck بناءً على اتصال سياق التبادل ('s (بدون مقدّم طلب لبروتوكول TCP){/1} وتستند إلى وقت التجميع المجمّع لبرنامج WRMP.

صفوف

nl::Weave::الملفات الشخصية::BDX_ Developmentment::BdxNode
nl::Weave::الملفات الشخصية::BDX_ Developmentment::BlockAck

يتم استخدام رسالة BlockAck للموافقة على مجموعة البيانات.

nl::Weave::الملفات الشخصية::BDX_ Developmentment::BlockAckV1

يتم استخدام رسالة BlockAckV1 للإقرار بحظر البيانات.

nl::Weave::الملفات الشخصية::BDX_ Developmentment::BlockEOF

يتم استخدام رسالة BlockEOF لنقل آخر مجموعة بيانات من المُرسِل إلى المُستلِم.

nl::Weave::الملفات الشخصية::BDX_ Developmentment::BlockEOFAck

يتم استخدام رسالة BlockEOFAck للموافقة على آخر مجموعة من البيانات.

nl::Weave::الملفات الشخصية::BDX_Developerment::BlockEOFAckV1

يتم استخدام رسالة BlockEOFAckV1 للإقرار بالحظر الأخير للبيانات.

nl::Weave::الملفات الشخصية::BDX_ Developmentment::BlockEOFV1

يتم استخدام رسالة BlockEOFV1 لنقل آخر مجموعة من البيانات من المُرسِل إلى المستلِم.

nl::Weave::الملفات الشخصية::BDX_ Developmentment::BlockQuery

يتم استخدام رسالة BlockQuery لطلب نقل مجموعة من البيانات من المُرسِل إلى المُستلِم.

nl::Weave::الملفات الشخصية::BDX_ Developmentment::BlockQueryV1

يتم استخدام رسالة BlockQueryV1 لطلب نقل مجموعة من البيانات من المُرسِل إلى المُستلِم.

nl::Weave::الملفات الشخصية::BDX_ Developmentment::BlockSend

يتم استخدام رسالة BlockSend لنقل مجموعة بيانات من المرسِل إلى المستلِم.

nl::Weave::الملفات الشخصية::BDX_Developerment::BlockSendV1

يتم استخدام رسالة BlockSendV1 لنقل مجموعة بيانات من المُرسِل إلى المُستلِم.

nl::Weave::الملفات الشخصية::BDX_Developerment::استلام الطلب

يتم استخدام رسالة AcceptAccept لقبول تبادل مُقترَح عندما يكون المُستلِم هو بادئ التشغيل.

nl::Weave::الملفات الشخصية::BDX_ Developmentment::ReceivedInit

يتم استخدام رسالة ReceivedInit لبدء عملية التبادل عندما يكون المُستلِم هو المُنشئ.

nl::Weave::الملفات الشخصية::BDX_ Developmentment::الرفض

يتم استخدام رسالة Receivedرفض لرفض طلب مُقترَح عندما يكون المُرسِل هو المُنشئ.

nl::Weave::الملفات الشخصية::BDX_ Developmentment::SendAccept

يتم استخدام رسالة SendAccept لقبول تبادل مُقترَح عندما يكون المُرسِل هو المُنشئ.

nl::Weave::الملفات الشخصية::BDX_ Developmentment::SendInit

يتم استخدام رسالة SendInit لبدء التبادل عندما يكون المُرسِل هو المُنشئ.

nl::Weave::الملفات الشخصية::BDX_ Developmentment::إرسال الرفض

يتم استخدام رسالة إرسال الرفض لرفض طلب مُقترَح عندما يكون المُرسِل هو المُنشئ.

nl::Weave::الملفات الشخصية::BDX_ Developmentment::TransportError

يتم استخدام رسالة الخطأ للإبلاغ عن خطأ وإلغاء عملية التبادل.

الهياكل

nl::Weave::الملفات الشخصية::BDX_ Developmentment::BDXHandlers
nl::Weave::الملفات الشخصية::BDX_ Developmentment:: BDXTransport

تحتوي هذه البنية على أعضاء بيانات يمثلون نقل BDX نشطًا.

مساحات الأسماء

nl:: Weave::الملفات الشخصية::BDX_ Developmentment:: BdxProtocol

تعداد

@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 الخطأ المعني كما سيعالج البروتوكول أي حالة ضرورية تم تخصيصها.

التفاصيل
المعلَمات
[in] aXfer
أشِر إلى BDXTransport المرتبط بعملية النقل هذه
[in] anErrorCode
رمز الخطأ الذي نحتاج إلى معالجته

GetBlockHandler

void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)

Get a block of data to be transmitted.

يقدم المتصل مساحة التخزين المؤقت (المخزن المؤقت ومدة التخزين المؤقت، التي يتم تمريرها بالإشارة المرجعية). يُفترض أن يستخدم المتصل (تطبيق المستخدم) المخزن المؤقت المُقدّم، ولكن قد يعرض المخزن المؤقت المخزن مؤقتًا لأسباب تتعلق بالتوافق. يجب ألا يقدّم المتصل أكثر من aLength بايت. عند عرض aLength، يحتوي على العدد الفعلي لوحدات البايت التي تمت قراءتها في المخزن المؤقت.

التفاصيل
المعلَمات
[in] aXfer
عملية BDXTransport المرتبطة بعملية النقل الجارية هذه
[in,out] aLength
طول البيانات التي تمت قراءتها وتخزينها في هذه المجموعة. يحتوي طلب الدالة على طول مدة المخزن المؤقت التي تم تمريرها في aDataBlock. في المتغير، يحتوي المتغير على طول البيانات التي تمت قراءتها بالفعل.
[in,out] aDataBlock
المؤشر إلى مجموعة البيانات. عند الإدخال، يحتوي ذلك على المخزن المؤقت الذي يوفره إطار العمل. قد يستخدم المُسنِد هذه المساحة لملء المخزن المؤقت أو يوفر مساحة التخزين المؤقت الخاصة به (لتطبيقات التوافق مع الأنظمة القديمة). يجب ألا تفترض التطبيقات التي تستخدم المخزن المؤقت المُقدَّم أي محاذاة.
[out] aLastBlock
صحيح، إذا كان يجب إرسال الحظر على أنه BlockEOF واكتملت عملية النقل، وبخلاف ذلك.

وضع قالب حظر

void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)

معالجة كتلة البيانات المُشار إليها من خلال aDataBlock من طول الطول.

ومن المرجح أن يتضمن ذلك كتابة هذا الملف في ملف وإغلاق الملف المذكور إذا كان isLastBlock صحيحًا.

التفاصيل
المعلَمات
[in] aXfer
عملية BDXTransport المرتبطة بعملية النقل الجارية هذه
[in] aLength
طول البيانات التي تمت قراءتها وتخزينها في المجموعة المحدّدة
[in] aDataBlock
الكتلة الفعلية للبيانات
[in] aLastBlock
صحيح إذا تم تلقي الحظر باعتباره BlockEOF واكتملت عملية النقل، وبخلاف ذلك إذا كان خاطئًا. إذا كان هذا صحيحًا، يجب أن يضع المُبرمِج على الأرجح اللمسات النهائية على أي ملفات، مع الأخذ في الاعتبار أنّه سيتم استدعاء اسم XXDoneHandler بعد هذا

استقبال الاستلام

WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)

تم استدعاء معاودة الاتصال عند قبول ReceivedInit المرسلة سابقًا من الوجهة.

قد ترغب في استغلال هذه الفرصة لفتح الملفات أو تخصيص الموارد لعملية النقل إذا لم تكن قد فعلت ذلك عند بدء النقل.

التفاصيل
المعلَمات
[in] aXfer
أشِر إلى BDXTransport المرتبط بعملية النقل هذه
[in] aReceiveAcceptMsg
أشِر إلى رسالة AcceptAccept التي نعالجها

معالج الاستلام

uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)

تم استدعاء معاودة الاتصال عند استلام رسالة ReceivedInit.

ومهمته هي تحديد ما إذا كنت تريد قبول الاستلام أم لا، وإذا كان الأمر كذلك، فعيِّن aXfer->mIsAccept=true بحيث يرسل البروتوكول رسالة قبول إلى المُنشئ. يتم بدء الكائن BDXTransport للإعدادات التلقائية. وهذا مكان مناسب لإرفاق أي حالة خاصة بالتطبيق (مثل مقابض فتح الملفات وما إلى ذلك) بـ aXfer->mAppState. عليك أيضًا إرفاق المعالِجات اللازمة، مثلاً، حظر المعالجة على الكائن BDXTransport في هذه المرحلة. وإذا تم إرجاع رمز خطأ بخلاف kStatus_Success، من المفترض أن يتم رفض عملية النقل وسيعالج البروتوكول إرسال رسالة رفض تحتوي على الرمز.

التفاصيل
المعلَمات
[in] aXfer
أشِر إلى BDXTransport المرتبط بعملية النقل هذه
[in] aReceiveInitMsg
أشِر إلى رسالة ReceivedInit التي تتم معالجتها

مقبض الرفض

void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)

تم الاستدعاء إذا تم رفض إحدى رسائل Init السابقة من خلال الوجهة.

التفاصيل
المعلَمات
[in] aXfer
أشِر إلى BDXTransport المرتبط بعملية النقل هذه
[in] aReport
الإشارة إلى رفض رسالة الحالة التي قيد المعالجة

SendAcceptHandler

WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)

تم استدعاء معاودة الاتصال عند قبول SendInit المرسلة سابقًا من الوجهة.

قد ترغب في استغلال هذه الفرصة لفتح الملفات أو تخصيص الموارد لعملية النقل إذا لم تكن قد فعلت ذلك عند بدء النقل.

التفاصيل
المعلَمات
[in] aXfer
أشِر إلى BDXTransport المرتبط بعملية النقل هذه
[in] aSendAcceptMsg
أشِر إلى رسالة SendAccept التي نعالجها.

SendInitHandler

uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)

تم استدعاء معاودة الاتصال عند استلام رسالة SendInit.

وتتمثل مهمّته في تحديد ما إذا كنت تريد قبول SendInit، وإذا كان الأمر كذلك، يمكنك ضبط aXfer->mIsAccept=true بحيث يرسل البروتوكول رسالة قبول إلى بادئ التشغيل. يتم بدء الكائن BDXTransport للإعدادات التلقائية. وهذا مكان مناسب لإرفاق أي حالة خاصة بالتطبيق (مثل مقابض فتح الملفات وما إلى ذلك) بـ aXfer->mAppState. عليك أيضًا إرفاق المعالِجات اللازمة، مثلاً، حظر المعالجة على الكائن BDXTransport في هذه المرحلة. وإذا تم عرض رمز خطأ بخلاف WEAVE_NO_ERROR، يفترض أن يتم رفض عملية النقل، وسيعالج البروتوكول إرسال رسالة رفض تحتوي على الرمز.

التفاصيل
المعلَمات
[in] aXfer
أشِر إلى BDXTransport المرتبط بعملية النقل هذه
[in] aSendInitMsg
أشِر إلى رسالة SendInit التي نعالجها

تذكرة XverDoneHandler

void(* XferDoneHandler)(BDXTransfer *aXfer)

التعامل مع الحالات التي انتهت فيها عملية النقل

التفاصيل
المعلَمات
[in] aXfer
أشِر إلى BDXTransport المرتبط بعملية النقل هذه

تذكرة XverErrorHandler

void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)

يمكنك التعامل مع رسائل TransportError التي تم تلقيها أو إرسالها من خلال BDX.

ملاحظة:يُفترض أن تكون عملية نقل BDX قابلة للاسترداد (قد تكون مؤقتة مؤقتًا (على سبيل المثال، خارج PacketBuffers) لذلك يتم ترك خيار Shutdown() إلى مبرمج التطبيق واستدعاءات رد الاتصال التي يحددها. المهام: تحقّق من هذه التسوية ومطابقتها مع اللغة الواردة في مستند BDX، الذي يذكر: &"[A TransferError] يمكن لأي طرف إرساله في أي وقت لإنهاء النقل المجمّع للبيانات قبل اكتمالها.

التفاصيل
المعلَمات
[in] aXfer
أشِر إلى BDXTransport المرتبط بعملية النقل هذه
[in] aXferError
الإشارة إلى خطأ رسالة حالة التقرير التي تتم معالجتها

الدوال

GetBDXAckFlag

uint16_t GetBDXAckFlag(
  ExchangeContext *anEc
)

تعرض GetBDXAckFlag العلامة المناسبة لحقل RequestAck بناءً على اتصال سياق التبادل ('s (بدون مقدّم طلب لبروتوكول TCP){/1} وتستند إلى وقت التجميع المجمّع لبرنامج WRMP.

التفاصيل
المعلَمات
[in] anEc
سياق التبادل الذي يجب أن نحصل على العلامة استنادًا إليه
المرتجعات
0 أو kSendFlag_RequestAck