nl:: بافت:: پروفایل ها:: DataManagement_Current:: فرمان
#include <src/lib/profiles/data-management/Current/Command.h>
خلاصه
توجه: این کلاس برای پنهان کردن جزئیات خاصی در مدیریت فرمان طراحی شده است. تصمیم گرفته شده است که جزئیات ExchangeContext و اعتبارسنجی authenticator پنهان شود، در حالی که مدیریت PacketBuffers به لایه برنامه واگذار شود. کاربرد این پوشش در مورد مدیریت فرمان در واقع محدود است، عمدتاً به دلیل پیچیدگی/انعطاف پذیری موجود در اعتبار سنجی امنیتی و سریال سازی/سریالی سازی داده ها.
جزئیات برای اعتبار سنجی فرمان هنوز TBD است
برای تنظیم زمان ارسال مجدد برای پیام در حال پیشرفت، گزارش وضعیت و همچنین پیام پاسخ، لایه برنامه باید به نحوی با شی ExchangeContext مقابله کند. بهترین روش همچنان TBD است، اما لایه برنامه دارای این سه انتخاب است:
1) Context Exchange را از طریق GetExchangeContext بدست آورید و مستقیماً آن را ارزیابی/تنظیم کنید. 2) یک Binding را در هنگام بوت کردن، قبل از رسیدن هر دستوری از قبل اختصاص داده و پیکربندی کنید و آن را به درستی پیکربندی کنید. 3) با استفاده از این تابع BindingPool::NewResponderBindingFromExchangeContext یک Binding موقت ایجاد کنید
در هر دو (2) و (3)، لایه برنامه می تواند تنظیمات امنیتی/زمان بندی را از طریق Binding::ConfigureExistingExchangeContext اعمال کند. Binding هرگز برای ایجاد زمینه های تبادل جدید برای دستورات سفارشی استفاده نمی شود، بنابراین لازم نیست در این دسته ذخیره شود.
بافر بسته درخواست نیز در این دسته ذخیره نمی شود، زیرا هیچ استفاده آشکاری از آن وجود ندارد. این امر مخصوصاً زمانی صادق است که لایه برنامه بتواند این دستور را مدیریت کند و مستقیماً پاسخ ارسال کند.
لایه برنامه بافر بسته را از همان بازگشتی که این دسته دستور را دریافت می کند، دریافت می کند. اگر تصمیم بگیرد این دستور را به صورت ناهمگام مدیریت کند، باید هم دسته فرمان و هم بافر بسته را ذخیره کند.
انواع عمومی | |
---|---|
CommandFlags { | enum پرچم فرمان بیت می شود. |
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
پرچم فرمان بیت می شود.
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
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 )
جز در مواردی که غیراز این ذکر شده باشد، محتوای این صفحه تحت مجوز پروانه ارجاع مشترکات خلاقانه نسخه ۴.۰ است. نمونه کدها نیز دارای مجوز پروانه آپاچی نسخه ۲.۰ است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است. OpenThread و علائم مربوط به آن، علامتهای تجاری Thread Group هستند و تحت پروانه استفاده میشوند.
تاریخ آخرین بهروزرسانی 2025-01-05 بهوقت ساعت هماهنگ جهانی.