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 { | شمارش پرچم فرمان بیت می شود. |
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
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 )
جز در مواردی که غیر از این ذکر شده باشد، محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است و نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است. Thread علامت تجاری ثبتشده Thread Group, Inc است.
تاریخ آخرین بهروزرسانی 2018-06-05 بهوقت ساعت هماهنگ جهانی.