nl::Weave::Profiles::DataManagement_Current::Command

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

ملخّص

ملاحظة:تم تصميم هذه الفئة لإخفاء تفاصيل معيّنة في معالجة الأوامر. تم اتخاذ قرار بإخفاء تفاصيل ExchangeContext والتحقق من المصادق، مع ترك معالجة PacketBuffers إلى طبقة التطبيق. إنّ فائدة هذا البرنامج في معالجة الأوامر محدودة للغاية، ويرجع ذلك في الغالب إلى التعقيد/المرونة التي ينطوي عليها التحقّق من الأمان وتسلسل البيانات أو إلغاء التسلسل.

لا تزال تفاصيل التحقّق من صحة الأوامر تُحدَّد لاحقًا.

لضبط توقيت إعادة الإرسال لرسالة "قيد التقدم" و"تقرير الحالة" و"الاستجابة" أيضًا، سيتعين على طبقة التطبيق التعامل مع كائن ExchangeContext بطريقة ما. لا تزال أفضل الممارسات هي "يُحدَّد لاحقًا"، ولكن طبقة التطبيق تحتوي على هذه الخيارات الثلاثة:

1) الحصول على سياق Exchange من خلال GetExchangeContext وتقييمه/تعديله مباشرةً. 2) تخصيص الربط مسبقًا وتهيئته أثناء بدء التشغيل، قبل وصول أي أمر، وتهيئته بشكل صحيح 3) إنشاء تجليد مؤقت باستخدام هذه الدالة SlideingPool::NewResponseerSenderMENTingFromExchangeContext

في كلٍ من (2) و (3)، يمكن لطبقة التطبيق فرض إعداد الأمان/التوقيت من خلال الربط::ConfigureEXISTCurrentExchangeContext. ولا يتم استخدام الربط أبدًا لإنشاء سياقات تبادل جديدة للأوامر المخصّصة، لذا لا يجب تخزينها ضمن هذا المؤشر.

ولا يتم أيضًا تخزين المخزن المؤقت لحزمة الطلب في هذا المؤشر لعدم وجود استخدام له بشكلٍ واضح. وينطبق هذا خصوصًا إذا كانت طبقة التطبيق يمكنها التعامل مع هذا الأمر وترسل الاستجابة مباشرةً.

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

الأنواع العلنية

CommandFlags{
  kCommandFlag_MustBeVersionValid = 0x0001,
  kCommandFlag_InitiationTimeValid = 0x0002,
  kCommandFlag_ActionTimeValid = 0x0004,
  kCommandFlag_ExpiryTimeValid = 0x0008,
  kCommandFlag_IsOneWay = 0x0010
}
تعداد
وحدات بت علامة Command.
CommandFlags typedef
وحدات بت علامة Command.

السمات العامة

actionTimeMicroSecond
int64_t
commandType
uint64_t
expiryTimeMicroSecond
int64_t
initiationTimeMicroSecond
int64_t
mustBeVersion
uint64_t

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

Close(void)
void
GetExchangeContext(void) const
استرجع كائن سياق التبادل الذي يستخدمه هذا الأمر الوارد.
IsActionTimeValid(void) const
bool
IsExpiryTimeValid(void) const
bool
IsInitiationTimeValid(void) const
bool
IsMustBeVersionValid(void) const
bool
IsOneWay(void) const
bool
SendError(uint32_t aProfileId, uint16_t aStatusCode, WEAVE_ERROR aWeaveError)
SendInProgress(void)
SendResponse(uint32_t traitInstanceVersion, nl::Weave::System::PacketBuffer *apPayload)
ValidateAuthenticator(nl::Weave::System::PacketBuffer *aRequestBuffer)

الأنواع العلنية

CommandFlags

 CommandFlags

وحدات بت علامة Command.

أماكن إقامة
kCommandFlag_ActionTimeValid

يتم ضبط وقت صلاحية الإجراء.

kCommandFlag_ExpiryTimeValid

يتم ضبطه عندما يكون وقت انتهاء الصلاحية صالحًا.

kCommandFlag_InitiationTimeValid

يتم ضبطه عندما يكون وقت init صالحًا.

kCommandFlag_IsOneWay

يمكنك ضبطه عندما يكون الأمر في اتجاه واحد.

kCommandFlag_MustBeVersionValid

يتم ضبط السياسة عندما يكون حقل الإصدار صالحًا.

CommandFlags

enum nl::Weave::Profiles::DataManagement_Current::Command::CommandFlags CommandFlags

وحدات بت علامة Command.

السمات العامة

actionTimeMicroSecond

int64_t actionTimeMicroSecond

commandType

uint64_t commandType

expiryTimeMicroSecond

int64_t expiryTimeMicroSecond

initiationTimeMicroSecond

int64_t initiationTimeMicroSecond

mustBeVersion

uint64_t mustBeVersion

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

إغلاق

void Close(
  void
)

GetExchangeContext

nl::Weave::ExchangeContext * GetExchangeContext(
  void
) const 

استرجع كائن سياق التبادل الذي يستخدمه هذا الأمر الوارد.

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

IsActionTimeValid

bool IsActionTimeValid(
  void
) const 

IsExpiryTimeValid

bool IsExpiryTimeValid(
  void
) const 

IsInitiationTimeValid

bool IsInitiationTimeValid(
  void
) const 

IsMustBeVersionValid

bool IsMustBeVersionValid(
  void
) const 

IsOneWay

bool IsOneWay(
  void
) const 

SendError

WEAVE_ERROR SendError(
  uint32_t aProfileId,
  uint16_t aStatusCode,
  WEAVE_ERROR aWeaveError
)

SendInProgress

WEAVE_ERROR SendInProgress(
  void
)

SendResponse

WEAVE_ERROR SendResponse(
  uint32_t traitInstanceVersion,
  nl::Weave::System::PacketBuffer *apPayload
)

ValidateAuthenticator

WEAVE_ERROR ValidateAuthenticator(
  nl::Weave::System::PacketBuffer *aRequestBuffer
)