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
پرچم Command بیت می شود.
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 )
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2024-11-11 بهوقت ساعت هماهنگ جهانی.