nl:: Weave:: Profiles:: DataManagement_Current:: Command
#include <src/lib/profiles/data-management/Current/Command.h>
खास जानकारी
ध्यान दें: इस क्लास को कमांड हैंडलिंग में कुछ जानकारी छिपाने के लिए डिज़ाइन किया गया है. यह फ़ैसला लिया गया है कि ChatBuffers को ऐप्लिकेशन लेयर का इस्तेमाल करते हुए, ExchangeContext की जानकारी और पुष्टि करने वाले की पुष्टि की जानकारी छिपा दी जाएगी. इस रैपर की मदद कमांड हैंडलिंग का इस्तेमाल सीमित तौर पर किया जा सकता है. इसकी मुख्य वजह, सुरक्षा की पुष्टि और डेटा को क्रम से लगाना/डी-सीरियलाइज़ेशन में मुश्किलें/विकल्प हैं.
निर्देश की पुष्टि करने की जानकारी अब भी तय नहीं की गई है
प्रोग्रेस में, स्टेटस रिपोर्ट, और जवाब देने वाले मैसेज के लिए, रीट्रांसमिशन के समय में बदलाव करने के लिए, ऐप्लिकेशन लेयर को किसी भी तरह ExchangeContext ऑब्जेक्ट से निपटना होगा. सबसे सही तरीका अभी तय नहीं किया गया है, लेकिन ऐप्लिकेशन लेयर में ये तीन विकल्प हैं:
1) GetExchangeContext से Exchange कॉन्टेक्स्ट पाएं और उसका सीधे तौर पर आकलन करें या उसमें बदलाव करें. 2) कोई निर्देश आने से पहले, बूट अप के दौरान बाइंडिंग पहले से तय करें और उसे कॉन्फ़िगर करें. साथ ही, उसे ठीक से कॉन्फ़िगर करें 3) इस फ़ंक्शन की मदद से कुछ समय के लिए Binding बनाएं:
(2) और (3) दोनों में, ऐप्लिकेशन लेयर बाइंडिंग::ConfigureExistingExchangeContext से सुरक्षा/समय सेटिंग को लागू कर सकता है. 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 )