nl:: Weave:: Profiles:: DataManagement_Current:: Command
  #include <src/lib/profiles/data-management/Current/Command.h>
  요약
참고: 이 클래스는 명령어 처리에서 특정 세부정보를 숨기도록 설계되었습니다. PacketBuffers는 애플리케이션 레이어에 맡기고 ExchangeContext 및 인증자 유효성 검사의 세부정보를 숨기기로 결정했습니다. 명령어 처리와 관련한 이 래퍼의 유용성은 실질적으로 제한적입니다. 주된 이유는 보안 검증 및 데이터 직렬화/역직렬화와 관련된 복잡성/유연성 때문입니다.
명령어 유효성 검사에 대한 세부정보는 아직 미정입니다.
진행 중, 상태 보고서 및 응답 메시지의 재전송 타이밍을 조정하려면 애플리케이션 레이어에서 어떻게든 ExchangeContext 개체를 처리해야 합니다. 최선의 방법은 여전히 미정이지만 애플리케이션 레이어에는 다음 세 가지 선택 사항이 있습니다.
1) GetExchangeContext를 통해 Exchange Context를 획득하고 직접 평가/조정합니다. 2) 부팅 중 명령어가 도착하기 전에 Binding을 사전 할당하고 올바르게 구성합니다. 3) BindingPool::NewResponderBindingFromExchangeContext 함수를 사용하여 임시 Binding을 만듭니다.
(2)와 (3) 모두에서 애플리케이션 레이어는 Binding::Configure ExistingExchangeContext를 통해 보안/타이밍 설정을 적용할 수 있습니다. Binding은 맞춤 명령어의 새로운 교환 컨텍스트를 생성하는 데 사용되지 않으므로 이 핸들 내에 저장할 필요가 없습니다.
요청 패킷 버퍼도 명확한 용도가 없으므로 이 핸들 내에 저장되지 않습니다. 애플리케이션 계층이 이 명령을 처리하고 직접 응답을 보낼 수 있는 경우 특히 그렇습니다.
애플리케이션 계층은 이 명령 핸들을 수신하는 것과 동일한 콜백에서 패킷 버퍼를 수신합니다. 이 명령을 비동기 방식으로 처리하기로 결정하면 명령 핸들과 패킷 버퍼를 모두 저장해야 합니다.
        공개 유형 | 
    |
|---|---|
        CommandFlags{
       | 
      enum Command 플래그 비트   | 
    
        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 플래그 비트
| 속성 | |
|---|---|
            kCommandFlag_ActionTimeValid
           | 
          
             작업 시간이 유효한 시점을 설정합니다.  | 
        
            kCommandFlag_ExpiryTimeValid
           | 
          
             만료 시간이 유효한 시점을 설정합니다.  | 
        
            kCommandFlag_InitiationTimeValid
           | 
          
             초기화 시간이 유효한 경우에 설정됩니다.  | 
        
            kCommandFlag_IsOneWay
           | 
          
             명령어가 단방향일 때 설정합니다.  | 
        
            kCommandFlag_MustBeVersionValid
           | 
          
             버전 필드가 유효한 경우에 설정됩니다.  | 
        
CommandFlags
enum nl::Weave::Profiles::DataManagement_Current::Command::CommandFlags CommandFlags
Command 플래그 비트
공개 속성
actionTimeMicroSecond
int64_t actionTimeMicroSecond
commandType
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 )