nl :: نسج:: مظهر:: إدارة البيانات_ الحالية :: أمر
#include <src/lib/profiles/data-management/Current/Command.h>
ملخص
ملاحظة: تم تصميم هذه الفئة لإخفاء التفاصيل معين في التعامل مع الأوامر. أحرز قرار إخفاء تفاصيل ExchangeContext والتحقق من صحة الموثق، في حين ترك التعامل مع PacketBuffers إلى طبقة التطبيق. إن فائدة هذا الغلاف فيما يتعلق بمعالجة الأوامر محدودة بالفعل ، ويرجع ذلك أساسًا إلى التعقيد / المرونة التي ينطوي عليها التحقق الأمني وتسلسل البيانات / إلغاء التسلسل.
لا تزال تفاصيل التحقق من صحة الأمر TBD
لضبط توقيت إعادة الإرسال لفي والتقدم، تقرير حالة، وكذلك رسالة الرد، فإن طبقة التطبيقات يجب أن تعامل بطريقة أو بأخرى مع ExchangeContext الكائن. لا تزال أفضل ممارسة هي TBD ، لكن طبقة التطبيق بها هذه الخيارات الثلاثة:
1) الحصول على سياق Exchange عبر GetExchangeContext وتقييم مباشرة / تعديله. 2) ما قبل تخصيص وتكوين ملزم خلال الحذاء، قبل وصول أي أمر، وتكوين بشكل صحيح 3) إنشاء مؤقت ملزم باستخدام هذه الوظيفة BindingPool :: NewResponderBindingFromExchangeContext
في كل من (2) و (3) ، يمكن لطبقة التطبيق فرض إعداد الأمان / التوقيت من خلال Binding :: ConfigureExistingExchangeContext. و ربط أبدا يستخدم لتوليد سياقات الصرف جديدة لأوامر مخصصة، لذلك لا يجب أن يتم تخزينها في هذا المؤشر.
لا يتم أيضًا تخزين المخزن المؤقت لحزمة الطلب داخل هذا المؤشر ، لأنه لا يوجد استخدام واضح له. هذا صحيح بشكل خاص إذا كانت طبقة التطبيق يمكنها التعامل مع هذا الأمر وإرسال استجابة مباشرة.
ستتلقى طبقة التطبيق المخزن المؤقت للحزمة من نفس رد الاتصال الذي تستقبله مقبض الأمر هذا. إذا قررت معالجة هذا الأمر بطريقة غير متزامنة ، فسيتعين عليها تخزين كل من مقبض الأمر ومخزن الحزمة المؤقت.
الأنواع العامة | |
---|---|
CommandFlags { | تعداد و القيادة بت العلم. |
CommandFlags | typedef و القيادة بت العلم. |
السمات العامة | |
---|---|
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
و القيادة بت العلم.
CommandFlags
enum nl::Weave::Profiles::DataManagement_Current::Command::CommandFlags CommandFlags
و القيادة بت العلم.
السمات العامة
actionTimeMicroSecond
int64_t actionTimeMicroSecond
نوع الأمر
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
إرسال الخطأ
WEAVE_ERROR SendError( uint32_t aProfileId, uint16_t aStatusCode, WEAVE_ERROR aWeaveError )
SendInProgress
WEAVE_ERROR SendInProgress( void )
أرسل جوابا
WEAVE_ERROR SendResponse( uint32_t traitInstanceVersion, nl::Weave::System::PacketBuffer *apPayload )
التحقق من صحة المصدق
WEAVE_ERROR ValidateAuthenticator( nl::Weave::System::PacketBuffer *aRequestBuffer )
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجّلة لشركة Oracle و/أو شركائها التابعين، وThread هي علامة تجارية مسجّلة لشركة .Thread Group, Inc.
تاريخ التعديل الأخير: 2018-06-05 (حسب التوقيت العالمي المتفَّق عليه)