Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

nl:: Menenun:: Profil:: DataManagement_Current:: Perintah

#include <src/lib/profiles/data-management/Current/Command.h>

Ringkasan

Catatan: Kelas ini dirancang untuk menyembunyikan detail tertentu dalam penanganan perintah. Keputusan telah dibuat untuk menyembunyikan rincian ExchangeContext dan authenticator validasi, sementara meninggalkan penanganan PacketBuffers ke lapisan aplikasi. Utilitas pembungkus ini di sekitar penanganan perintah memang terbatas, terutama karena kompleksitas/fleksibilitas yang terlibat dalam validasi keamanan dan serialisasi/de-serialisasi data.

Detail untuk validasi perintah masih TBD

Untuk menyesuaikan waktu pengiriman ulang untuk In-Progress, Status Report, dan juga pesan Response, lapisan aplikasi harus entah bagaimana berurusan dengan ExchangeContext objek. Praktik terbaik masih TBD, tetapi lapisan aplikasi memiliki tiga pilihan berikut:

1) Memperoleh Konteks Bursa melalui GetExchangeContext dan langsung mengevaluasi / menyesuaikan. 2) Pre-mengalokasikan dan mengkonfigurasi Binding saat boot, sebelum perintah apapun tiba, dan mengkonfigurasi dengan benar 3) Buat sementara Binding menggunakan fungsi ini BindingPool :: NewResponderBindingFromExchangeContext

Di kedua (2) dan (3), lapisan aplikasi dapat menerapkan pengaturan keamanan/waktu melalui Binding::ConfigureExistingExchangeContext. The Binding tidak pernah digunakan untuk menghasilkan konteks pertukaran baru untuk perintah kustom, sehingga tidak harus disimpan dalam menangani ini.

Buffer paket permintaan juga tidak disimpan dalam pegangan ini, karena tidak ada penggunaannya yang jelas. Ini terutama benar jika lapisan aplikasi dapat menangani perintah ini dan mengirimkan respons secara langsung.

Lapisan aplikasi akan menerima buffer paket dari panggilan balik yang sama dengan yang menerima pegangan perintah ini. Jika memutuskan untuk menangani perintah ini secara asinkron, ia harus menyimpan pegangan perintah dan buffer paket.

Tipe publik

CommandFlags {
kCommandFlag_MustBeVersionValid = 0x0001,
kCommandFlag_InitiationTimeValid = 0x0002,
kCommandFlag_ActionTimeValid = 0x0004,
kCommandFlag_ExpiryTimeValid = 0x0008,
kCommandFlag_IsOneWay = 0x0010
}
enum
The Command bendera bit.
CommandFlags typedef
The Command bendera bit.

Atribut publik

actionTimeMicroSecond
int64_t
commandType
uint64_t
expiryTimeMicroSecond
int64_t
initiationTimeMicroSecond
int64_t
mustBeVersion
uint64_t

Fungsi publik

Close (void)
void
GetExchangeContext (void) const
Ambil objek konteks pertukaran yang digunakan oleh perintah masuk ini.
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)

Tipe publik

Bendera Perintah

 CommandFlags

The Command bendera bit.

Properti
kCommandFlag_ActionTimeValid

Setel kapan waktu tindakan valid.

kCommandFlag_ExpiryTimeValid

Tetapkan kapan waktu kedaluwarsa berlaku.

kCommandFlag_InitiationTimeValid

Setel kapan waktu init valid.

kCommandFlag_IsOneWay

Atur kapan perintahnya satu arah.

kCommandFlag_MustBeVersionValid

Setel kapan bidang versi valid.

Bendera Perintah

enum nl::Weave::Profiles::DataManagement_Current::Command::CommandFlags CommandFlags

The Command bendera bit.

Atribut publik

actionTimeMicroSecond

int64_t actionTimeMicroSecond

jenis perintah

uint64_t commandType

ExpiryTimeMicroSecond

int64_t expiryTimeMicroSecond

inisiasiWaktuMicroSecond

int64_t initiationTimeMicroSecond

mustBeVersion

uint64_t mustBeVersion

Fungsi publik

Menutup

void Close(
  void
)

GetExchangeContext

nl::Weave::ExchangeContext * GetExchangeContext(
  void
) const 

Ambil objek konteks pertukaran yang digunakan oleh perintah masuk ini.

rincian
Kembali
Pointer ke objek konteks pertukaran yang digunakan oleh perintah masuk ini

IsActionTimeValid

bool IsActionTimeValid(
  void
) const 

IsExpiryTimeValid

bool IsExpiryTimeValid(
  void
) const 

ApakahInitiationTimeValid

bool IsInitiationTimeValid(
  void
) const 

IsHarusBeVersionValid

bool IsMustBeVersionValid(
  void
) const 

IsOneWay

bool IsOneWay(
  void
) const 

KirimError

WEAVE_ERROR SendError(
  uint32_t aProfileId,
  uint16_t aStatusCode,
  WEAVE_ERROR aWeaveError
)

KirimInProgress

WEAVE_ERROR SendInProgress(
  void
)

KirimRespon

WEAVE_ERROR SendResponse(
  uint32_t traitInstanceVersion,
  nl::Weave::System::PacketBuffer *apPayload
)

Validasi Authenticator

WEAVE_ERROR ValidateAuthenticator(
  nl::Weave::System::PacketBuffer *aRequestBuffer
)