nl ::織り::プロファイル:: DataManagement_Current ::コマンド
#include <src/lib/profiles/data-management/Current/Command.h>
概要
注:このクラスは、コマンドの処理中に特定の詳細を隠すように設計されています。決定は、の詳細を隠すためになされたもので、 ExchangeContextアプリケーション層にPacketBuffersの取り扱いを残したまま、オーセンティケータとの検証を。コマンド処理に関するこのラッパーの有用性は、主にセキュリティ検証とデータのシリアル化/逆シリアル化に伴う複雑さ/柔軟性のために、実際に制限されています。
コマンド検証の詳細はまだ未定です
進行中、ステータスレポート、また、応答メッセージの再送タイミングを調整するには、アプリケーション層は何とか対処しなければならないExchangeContextのオブジェクト。ベストプラクティスはまだ未定ですが、アプリケーション層には次の3つの選択肢があります。
1)を介して交換コンテキストを取得GetExchangeContextと直接評価する/それを調整します。 2)事前割り当てと設定バインディングが適切に3ブートアップ、任意のコマンドが到着する前に、とのconfigureの際に)一時的に作成してバインドこの機能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
commandType
uint64_t commandType
expiryTimeMicroSecond
int64_t expiryTimeMicroSecond
イニシエーションタイムマイクロセカンド
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 )