ไม่มี:: สาน:: โปรไฟล์:: DataManagement_Current:: คำสั่ง

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

สรุป

หมายเหตุ: ชั้นนี้ถูกออกแบบมาเพื่อซ่อนรายละเอียดบางอย่างในการจัดการคำสั่ง การตัดสินใจที่ได้ทำเพื่อซ่อนรายละเอียดของ ExchangeContext และการตรวจสอบตรวจสอบสิทธิ์ขณะที่ออกจากการจัดการของ PacketBuffers ไปชั้นสมัคร ยูทิลิตีของ wrapper นี้เกี่ยวกับการจัดการคำสั่งมีข้อจำกัด สาเหตุหลักมาจากความซับซ้อน/ความยืดหยุ่นที่เกี่ยวข้องกับการตรวจสอบความปลอดภัยและการทำให้เป็นอนุกรมของข้อมูล/การยกเลิกการซีเรียลไลซ์เซชัน

รายละเอียดสำหรับการตรวจสอบคำสั่งยังคงเป็น TBD

การปรับระยะเวลา retransmission สำหรับในความคืบหน้ารายงานสถานะและข้อความการตอบสนองชั้นสมัครจะต้องอย่างใดจัดการกับ ExchangeContext วัตถุ แนวทางปฏิบัติที่ดีที่สุดยังคงเป็น TBD แต่ชั้นแอปพลิเคชันมีสามตัวเลือกเหล่านี้:

1) ได้รับบริบท Exchange ผ่าน GetExchangeContext โดยตรงและประเมินผลการศึกษา / ปรับ 2) Pre-จัดสรรและกำหนดค่า ผูกพัน ในระหว่างการบูตขึ้นก่อนที่คำสั่งใด ๆ มาถึงและกำหนดค่าได้อย่างถูกต้อง 3) สร้างชั่วคราว ผูกพัน การใช้ฟังก์ชันนี้ BindingPool :: NewResponderBindingFromExchangeContext

ในทั้ง (2) และ (3) เลเยอร์แอปพลิเคชันสามารถบังคับใช้การตั้งค่าความปลอดภัย/ระยะเวลาผ่าน Binding::ConfigureExistingExchangeContext ผูกพัน ไม่เคยใช้ในการสร้างบริบทแลกเปลี่ยนใหม่สำหรับคำสั่งที่กำหนดเองดังนั้นจึงไม่ต้องมีการเก็บไว้ในด้ามนี้

คำขอแพ็กเก็ตบัฟเฟอร์จะไม่ถูกจัดเก็บไว้ภายในแฮนเดิลนี้ เนื่องจากไม่มีการใช้งานที่ชัดเจน โดยเฉพาะอย่างยิ่งหากเลเยอร์แอปพลิเคชันสามารถจัดการคำสั่งนี้และส่งการตอบสนองโดยตรง

เลเยอร์แอปพลิเคชันจะได้รับแพ็กเก็ตบัฟเฟอร์จากการเรียกกลับเดียวกันที่ได้รับการจัดการคำสั่งนี้ หากตัดสินใจจัดการคำสั่งนี้ในลักษณะ async ก็จะต้องเก็บทั้งตัวจัดการคำสั่งและบัฟเฟอร์แพ็กเก็ต

ประเภทสาธารณะ

CommandFlags {
kCommandFlag_MustBeVersionValid = 0x0001,
kCommandFlag_InitiationTimeValid = 0x0002,
kCommandFlag_ActionTimeValid = 0x0004,
kCommandFlag_ExpiryTimeValid = 0x0008,
kCommandFlag_IsOneWay = 0x0010
}
enum
สั่ง บิตธง
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

สั่ง บิตธง

คุณสมบัติ
kCommandFlag_ActionTimeValid

ตั้งค่าเวลาที่ดำเนินการถูกต้อง

kCommandFlag_ExpiryTimeValid

ตั้งค่าเวลาที่หมดอายุถูกต้อง

kCommandFlag_InitiationTimeValid

ตั้งค่าเมื่อเวลาเริ่มต้นถูกต้อง

kCommandFlag_IsOneWay

ตั้งค่าเมื่อคำสั่งเป็นแบบทางเดียว

kCommandFlag_MustBeVersionValid

ตั้งค่าว่าฟิลด์เวอร์ชันถูกต้องเมื่อใด

คุณลักษณะสาธารณะ

actionTimeไมโครวินาที

int64_t actionTimeMicroSecond

commandType

uint64_t commandType

หมดอายุเวลาไมโครวินาที

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
)

ตรวจสอบAuthenticator

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