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

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

Este objeto codifica cargas útiles UpdateRequest y PartialUpdateRequest de WDM.

Resumen

Ten en cuenta que ambas solicitudes tienen el mismo formato. Se diferencian solo por el tipo de mensaje, que está fuera del alcance de este objeto.

El método EncodeRequest realiza la codificación de forma síncrona. El otro método público es InsertInProgressUpdateItem, al que SchemaEngine llama cuando necesita enviar un diccionario de vuelta a la cola.

Constructores y destructores

UpdateEncoder()
~UpdateEncoder()

Funciones públicas

EncodeRequest(Context & aContext)
Codifica una carga útil de solicitud de actualización de WDM.
InsertInProgressUpdateItem(const TraitPath & aItem)
Agrega una ruta de acceso privada a la lista de rutas en curso. Para ello, insértala después de la que se está codificando en ese momento.

Structs

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

Esta estructura contiene los argumentos de E/S del método EncodeRequest.

Funciones públicas

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

Codifica una carga útil de solicitud de actualización de WDM.

Consulta UpdateEncoder::Context. La longitud de los datos del PacketBuffer se actualiza solo en caso de éxito, pero el contenido del búfer no se conserva.

Detalles
Valores que se muestran
WEAVE_NO_ERROR
Se codificó al menos un DataElement en el DataList de la carga útil.
WEAVE_ERROR_BUFFER_TOO_SMALL
El primer DataElement no pudo caber en la carga útil.
WEAVE_ERROR_INVALID_ARGUMENT
Se inicializó aContext con valores no válidos.
other
Otros errores de objetos de nivel inferior (TLVWriter, SchemaEngine, etc.).

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

Agrega una ruta de acceso privada a la lista de rutas en curso. Para ello, insértala después de la que se está codificando en ese momento.

SchemaEngine debe llamar a este método mientras recorre el árbol de esquemas y necesita enviar diccionarios de vuelta a la lista.

Detalles
Parámetros
[in] aItem
La TraitPath que se insertará en la lista que se codifica.
Valores que se muestran
WEAVE_NO_ERROR
El elemento se insertó correctamente.
WEAVE_NO_MEMORY
No hay espacio en TraitPathStore para insertar el elemento.

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()