Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Dệt :: Hồ sơ :: DataManagement_Current :: Chỉ huy

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

Tóm lược

Lưu ý: Lớp này được thiết kế để ẩn một chi tiết nào đó trong việc xử lý lệnh. Quyết định đã được đưa ra để ẩn các chi tiết của ExchangeContext và xác thực trình xác thực, trong khi vẫn để việc xử lý PacketBuffers cho lớp ứng dụng. Tiện ích của trình bao bọc này xung quanh việc xử lý lệnh thực sự bị hạn chế, chủ yếu là do sự phức tạp / linh hoạt liên quan đến xác thực bảo mật và tuần tự hóa / hủy tuần tự hóa dữ liệu.

Chi tiết để xác thực lệnh vẫn là TBD

Để điều chỉnh thời gian truyền lại cho thông báo Đang tiến hành, Báo cáo trạng thái và cả Phản hồi, lớp ứng dụng sẽ phải xử lý bằng cách nào đó với đối tượng ExchangeContext . Cách tốt nhất vẫn là TBD, nhưng lớp ứng dụng có ba lựa chọn sau:

1) Lấy bối cảnh Exchange thông qua GetExchangeContext và trực tiếp đánh giá / điều chỉnh nó. 2) Phân bổ trước và định cấu hình một Binding trong khi khởi động, trước khi bất kỳ lệnh nào đến và định cấu hình nó đúng cách 3) Tạo một ràng buộc tạm thời bằng cách sử dụng chức năng này BindingPool :: NewResponderBindingFromExchangeContext

Trong cả (2) và (3), lớp ứng dụng có thể thực thi cài đặt bảo mật / thời gian thông qua Binding :: ConfigureExistingExchangeContext. Binding không bao giờ được sử dụng để tạo bối cảnh trao đổi mới cho các lệnh tùy chỉnh, vì vậy nó không cần phải được lưu trữ trong tay cầm này.

Bộ đệm gói yêu cầu cũng không được lưu trữ trong xử lý này, vì không có cách sử dụng rõ ràng. Điều này đặc biệt đúng nếu lớp ứng dụng có thể xử lý lệnh này và gửi phản hồi trực tiếp.

Lớp ứng dụng sẽ nhận bộ đệm gói từ cùng một cuộc gọi lại mà nó nhận lệnh xử lý này. Nếu nó quyết định xử lý lệnh này theo cách không đồng bộ, nó sẽ phải lưu trữ cả lệnh xử lý và bộ đệm gói.

Các loại công khai

CommandFlags {
kCommandFlag_MustBeVersionValid = 0x0001,
kCommandFlag_InitiationTimeValid = 0x0002,
kCommandFlag_ActionTimeValid = 0x0004,
kCommandFlag_ExpiryTimeValid = 0x0008,
kCommandFlag_IsOneWay = 0x0010
}
enum
Các bit cờ Lệnh .
CommandFlags typedef
Các bit cờ Lệnh .

Thuộc tính công cộng

actionTimeMicroSecond
int64_t
commandType
uint64_t
expiryTimeMicroSecond
int64_t
initiationTimeMicroSecond
int64_t
mustBeVersion
uint64_t

Chức năng công cộng

Close (void)
void
GetExchangeContext (void) const
Truy xuất đối tượng ngữ cảnh trao đổi được sử dụng bởi lệnh đến này.
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)

Các loại công khai

CommandFlags

 CommandFlags

Các bit cờ Lệnh .

Tính chất
kCommandFlag_ActionTimeValid

Đặt khi thời gian hành động hợp lệ.

kCommandFlag_ExpiryTimeValid

Đặt khi thời gian hết hạn hợp lệ.

kCommandFlag_InitiationTimeValid

Đặt khi thời gian init hợp lệ.

kCommandFlag_IsOneWay

Đặt khi lệnh là một chiều.

kCommandFlag_MustBeVersionValid

Đặt khi trường phiên bản hợp lệ.

CommandFlags

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

Các bit cờ Lệnh .

Thuộc tính công cộng

actionTimeMicroSecond

int64_t actionTimeMicroSecond

commandType

uint64_t commandType

deadlineTimeMicroSecond

int64_t expiryTimeMicroSecond

khởi tạoTimeMicroSecond

int64_t initiationTimeMicroSecond

mustBeVersion

uint64_t mustBeVersion

Chức năng công cộng

Đóng

void Close(
  void
)

GetExchangeContext

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

Truy xuất đối tượng ngữ cảnh trao đổi được sử dụng bởi lệnh đến này.

Chi tiết
Lợi nhuận
Một con trỏ đến đối tượng ngữ cảnh trao đổi được sử dụng bởi lệnh đến này

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
)

Gửi phản hồi

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

ValidateAuthenticator

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