nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context

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

This structure holds the I/O arguments to the EncodeRequest method.

Summary

Constructors and Destructors

Context()

Public attributes

mBuf
PacketBuffer *
The output buffer.
mDataSinkCatalog
Input: The catalog of TraitDataSinks which the TraitPaths refer to.
mExpiryTimeMicroSecond
The value of the ExpiryTimeMicroSecond field for this request.
mInProgressUpdateList
The list of TraitPaths to encode.
mItemInProgress
size_t
Input: the index of the item of mInProgressUpdateList to start encoding from.
mMaxPayloadSize
uint32_t
The maximum number of bytes to write.
mNextDictionaryElementPathHandle
Input: if the encoding starts with a dictionary being resumed, this field holds the property path of the next dictionary item to encode.
mNumDataElementsAddedToPayload
size_t
Output: The number of items encoded in the payload.
mUpdateRequestIndex
uint32_t
The value of the UpdateRequestIndex field for this request.

Public attributes

mBuf

PacketBuffer * nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context::mBuf

The output buffer.

In case of failure the PacketBuffer's data length is not updated, but the buffer contents are not preserved.

mDataSinkCatalog

const TraitCatalogBase< TraitDataSink > * nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context::mDataSinkCatalog

Input: The catalog of TraitDataSinks which the TraitPaths refer to.

mExpiryTimeMicroSecond

utc_timestamp_t nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context::mExpiryTimeMicroSecond

The value of the ExpiryTimeMicroSecond field for this request.

It is encoded only if different than 0

mInProgressUpdateList

TraitPathStore * nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context::mInProgressUpdateList

The list of TraitPaths to encode.

mItemInProgress

size_t nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context::mItemInProgress

Input: the index of the item of mInProgressUpdateList to start encoding from.

Output: Upon returning, if the whole path list fit in the payload, this field equals mInProgressUpdateList->GetPathStoreSize(). Otherwise, the index of the item to start the next payload from.

mMaxPayloadSize

uint32_t nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context::mMaxPayloadSize

The maximum number of bytes to write.

mNextDictionaryElementPathHandle

PropertyPathHandle nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context::mNextDictionaryElementPathHandle

Input: if the encoding starts with a dictionary being resumed, this field holds the property path of the next dictionary item to encode.

Otherwise, this field should be kNullPropertyPathHandle. Output: if the last DataElement encoded is a dictionary and not all items fit in the payload, this field holds the property path handle of the item to start from for the next payload.

mNumDataElementsAddedToPayload

size_t nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context::mNumDataElementsAddedToPayload

Output: The number of items encoded in the payload.

mUpdateRequestIndex

uint32_t nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context::mUpdateRequestIndex

The value of the UpdateRequestIndex field for this request.

Public functions

Context

 nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context::Context()