nl::Weave::Profiles::DataManagement_Current::UpdateEncoder

#include <src/lib/profiles/data-management/Current/UpdateEncoder.h>

يشفّر هذا الكائن حمولات البيانات الأساسية في WDM UpdateRequest وPartialUpdateRequest.

ملخّص

وتجدر الإشارة إلى أنّ كلا الطلبين لهما التنسيق نفسه، ولا يتم التفرقة بينهما إلا حسب نوع الرسالة، والذي يقع خارج نطاق هذا العنصر.

ويتم التشفير بشكل متزامن باستخدام طريقة EncodeRequest. الطريقة العامة الأخرى الوحيدة هي InsertInProgressUpdateItem، والتي يتم استدعاؤها بواسطة SchemaEngine عندما يحتاج إلى دفع قاموس إلى قائمة الانتظار مرة أخرى.

الدلالة والهياكل

UpdateEncoder()
~UpdateEncoder()

الدوال العامة

EncodeRequest(Context & aContext)
ترميز حمولة بيانات طلب تحديث WDM.
InsertInProgressUpdateItem(const TraitPath & aItem)
إضافة مسار خاص في قائمة المسارات قيد التقدم، وإدراجه بعد المسار الذي تم ترميزه في الوقت الحالي.

الهياكل

nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context

تحتوي هذه البنية على وسيطات وحدات الإدخال والإخراج لطريقة EncodeRequest.

الدوال العامة

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

ترميز حمولة بيانات طلب تحديث WDM.

يُرجى الاطّلاع على UpdateEncoder::Context. يتم تحديث طول بيانات PacketBuffer فقط في حالة النجاح، ولكن لا يتم الاحتفاظ بمحتويات المخزن المؤقت.

التفاصيل
قيم الإرجاع
WEAVE_NO_ERROR
تم ترميز DataElement واحد على الأقل في DataList للحمولة.
WEAVE_ERROR_BUFFER_TOO_SMALL
لا يمكن احتواء عنصر DataElement الأول مع الحمولة.
WEAVE_ERROR_INVALID_ARGUMENT
تم إعداد aContext باستخدام قيم غير صالحة.
other
أخطاء أخرى من كائنات ذات مستوى أدنى (TLVWriter وSchemaEngine وما إلى ذلك)

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

إضافة مسار خاص في قائمة المسارات قيد التقدم، وإدراجه بعد المسار الذي تم ترميزه في الوقت الحالي.

من المفترض أن يتم استدعاء هذه الطريقة بواسطة SchemaEngine أثناء اجتيازها شجرة المخطط ويحتاج إلى دفع القواميس مرة أخرى إلى القائمة.

التفاصيل
المَعلمات
[in] aItem
TraitPath المطلوب إدراجها في القائمة التي يتم ترميزها.
قيم الإرجاع
WEAVE_NO_ERROR
تم إدراج العنصر بنجاح.
WEAVE_NO_MEMORY
لم تكن هناك مساحة في TraitPathStore لإدراج العنصر.

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()