nl::Weave::Profiles::BDX_Development::SendInit

#include <src/lib/profiles/bulk-data-transfer/Development/BDXMessages.h>

El mensaje SendInit se usa para iniciar un intercambio cuando el remitente es el iniciador.

Resumen

Herencia

Subclases conocidas directas: nl::Weave::Profiles::BDX_Development::ReceiveInit

Constructores y destructores

SendInit(void)

Tipos públicos

MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState) typedef
MetaDataTLVWriteCallback proporciona un medio por el cual un cliente puede proporcionar un SendInit con los metadatos que desee.

Atributos públicos

mAsynchronousModeSupported
bool
Verdadero si podemos admitir el modo asíncrono.
mDefiniteLength
bool
Es verdadero si el campo de longitud está presente.
mFileDesignator
Cadena que contiene información previamente negociada.
mLength
uint64_t
Longitud propuesta de datos en transferencia, 0 para indefinido.
mMaxBlockSize
uint16_t
Tamaño máximo de bloque propuesto para usar en la transferencia.
mMetaData
Metadatos TLV opcionales
mMetaDataAppState
void *
Estado opcional de la app para los metadatos de TLV.
mMetaDataWriteCallback
Función opcional para escribir metadatos TLV.
mReceiverDriveSupported
bool
Es verdadero si podemos admitir la conducción del receptor.
mSenderDriveSupported
bool
Verdadero si podemos admitir la unidad del remitente.
mStartOffset
uint64_t
Compensación de inicio propuesta de los datos.
mStartOffsetPresent
bool
Es verdadero si el campo de desplazamiento de inicio está presente.
mVersion
uint8_t
Es la versión del protocolo BDX que decidimos utilizar.
mWideRange
bool
Es verdadero si el desplazamiento y la longitud son de 64 bits.

Funciones públicas

init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Inicializa un "ancho" SendInit.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Inicializa un componente "no amplio" SendInit (desplazamiento inicial de 32 bits, longitud de 32 bits)
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
Inicializa un "ancho" SendInit.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
Inicializa un componente "no amplio" SendInit (desplazamiento inicial de 32 bits, longitud de 32 bits)
operator==(const SendInit &) const
bool
Comparación de igualdad entre mensajes SendInit.
pack(PacketBuffer *aBuffer)
Empaqueta un mensaje de solicitud de iniciación en un packageBuffer.
packedLength(void)
uint16_t
Muestra la longitud empaquetada de este mensaje de iniciación de envío.

Funciones estáticas públicas

parse(PacketBuffer *aBuffer, SendInit & aRequest)
Analizar datos de un PackageBuffer a un formato de mensaje SendInit

Tipos públicos

MetaDataTLVWriteCallback

WEAVE_ERROR(* MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState)

MetaDataTLVWriteCallback proporciona un medio por el cual un cliente puede proporcionar un SendInit con los metadatos que desee.

El cliente tiene la libertad de proporcionar TLV codificados previamente (más rápido), codificar sobre la marcha (usa menos memoria), codificar de forma diferida (un poco más rápido durante el inicio), etc. según lo considere adecuado.

En todos los casos, se supone que los datos producidos por la devolución de llamada son constantes para un SendInit determinado, es decir, no cambian sin importar cuándo se lo llama. Esto se debe a que la devolución de llamada también se usa para calcular la longitud de cualquier TLV escrito, que se podría solicitar en cualquier momento.

Detalles
Parámetros
[in] aBuffer
El búfer de destino, en el que se puede escribir algún TLV
[in] aBufferLength
La longitud (en bytes) del búfer de destino
[in,out] aNumBytesWritten
La cantidad de bytes escritos en el búfer de destino
[in] aAppState
Estado de la app proporcionada por el usuario
Valores de retorno
WEAVE_ERROR
Se encontró cualquier error.

Atributos públicos

mAsynchronousModeSupported

bool mAsynchronousModeSupported

Verdadero si podemos admitir el modo asíncrono.

mDefiniteLength

bool mDefiniteLength

Es verdadero si el campo de longitud está presente.

mFileDesignator

ReferencedString mFileDesignator

Cadena que contiene información previamente negociada.

mLength

uint64_t mLength

Longitud propuesta de datos en transferencia, 0 para indefinido.

mMaxBlockSize

uint16_t mMaxBlockSize

Tamaño máximo de bloque propuesto para usar en la transferencia.

mMetaData

ReferencedTLVData mMetaData

Metadatos TLV opcionales

mMetaDataAppState

void * mMetaDataAppState

Estado opcional de la app para los metadatos de TLV.

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

Función opcional para escribir metadatos TLV.

mReceiverDriveSupported

bool mReceiverDriveSupported

Verdadero si podemos admitir la conducción del receptor.

mSenderDriveSupported

bool mSenderDriveSupported

Verdadero si podemos admitir la unidad del remitente.

mStartOffset

uint64_t mStartOffset

Compensación de inicio propuesta de los datos.

mStartOffsetPresent

bool mStartOffsetPresent

Es verdadero si el campo de desplazamiento de inicio está presente.

mVersion

uint8_t mVersion

Es la versión del protocolo BDX que decidimos utilizar.

mWideRange

bool mWideRange

Es verdadero si el desplazamiento y la longitud son de 64 bits.

Funciones públicas

SendInit

 SendInit(
  void
)

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint64_t aStartOffset,
  uint64_t aLength,
  ReferencedString & aFileDesignator,
  ReferencedTLVData *aMetaData
)

Inicializa un "ancho" SendInit.

Detalles
Parámetros
[in] aVersion
Versión de BDX que usamos
[in] aSenderDrive
Verdadero si el remitente está conduciendo
[in] aReceiverDrive
Verdadero si el receptor está conduciendo
[in] aAsynchMode
Verdadero si el dispositivo admite el modo asíncrono.
[in] aMaxBlockSize
Propuesta de un tamaño de bloque máximo para esta transferencia
[in] aStartOffset
Inicio del desplazamiento en el archivo en el que deberíamos comenzar
[in] aLength
La longitud del archivo que se transferirá: 0 significa que tiene una longitud indefinida.
[in] aFileDesignator
Una cadena que identifica los datos que se transferirán
[in] aMetaData
Datos adicionales en formato TLV (opcional)
Resultado que se muestra
WEAVE_NO_ERROR si se realiza correctamente.

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint32_t aStartOffset,
  uint32_t aLength,
  ReferencedString & aFileDesignator,
  ReferencedTLVData *aMetaData
)

Inicializa un componente "no amplio" SendInit (desplazamiento inicial de 32 bits, longitud de 32 bits)

Detalles
Parámetros
[in] aVersion
Versión de BDX que usamos
[in] aSenderDrive
Verdadero si el remitente está conduciendo
[in] aReceiverDrive
Verdadero si el receptor está conduciendo
[in] aAsynchMode
Verdadero si el dispositivo admite el modo asíncrono.
[in] aMaxBlockSize
Propuesta de un tamaño de bloque máximo para esta transferencia
[in] aStartOffset
Inicio del desplazamiento en el archivo en el que deberíamos comenzar
[in] aLength
La longitud del archivo que se transferirá: 0 significa que tiene una longitud indefinida.
[in] aFileDesignator
Una cadena que identifica los datos que se transferirán
[in] aMetaData
Datos adicionales en formato TLV (opcional)
Resultado que se muestra
WEAVE_NO_ERROR si se realiza correctamente.

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint64_t aStartOffset,
  uint64_t aLength,
  ReferencedString & aFileDesignator,
  MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

Inicializa un "ancho" SendInit.

Detalles
Parámetros
[in] aVersion
Versión de BDX que usamos
[in] aSenderDrive
Verdadero si el remitente está conduciendo
[in] aReceiverDrive
Verdadero si el receptor está conduciendo
[in] aAsynchMode
Verdadero si el dispositivo admite el modo asíncrono.
[in] aMaxBlockSize
Propuesta de un tamaño de bloque máximo para esta transferencia
[in] aStartOffset
Inicio del desplazamiento en el archivo en el que deberíamos comenzar
[in] aLength
La longitud del archivo que se transferirá: 0 significa que tiene una longitud indefinida.
[in] aFileDesignator
Una cadena que identifica los datos que se transferirán
[in] aMetaDataWriteCallback
Una función para escribir datos adicionales en formato TLV (opcional)
[in] aMetaDataAppState
Contexto opcional que se pasará a aMetaDataWriteCallback
Resultado que se muestra
WEAVE_NO_ERROR si se realiza correctamente.

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint32_t aStartOffset,
  uint32_t aLength,
  ReferencedString & aFileDesignator,
  MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

Inicializa un componente "no amplio" SendInit (desplazamiento inicial de 32 bits, longitud de 32 bits)

Detalles
Parámetros
[in] aVersion
Versión de BDX que usamos
[in] aSenderDrive
Verdadero si el remitente está conduciendo
[in] aReceiverDrive
Verdadero si el receptor está conduciendo
[in] aAsynchMode
Verdadero si el dispositivo admite el modo asíncrono.
[in] aMaxBlockSize
Propuesta de un tamaño de bloque máximo para esta transferencia
[in] aStartOffset
Inicio del desplazamiento en el archivo en el que deberíamos comenzar
[in] aLength
La longitud del archivo que se transferirá: 0 significa que tiene una longitud indefinida.
[in] aFileDesignator
Una cadena que identifica los datos que se transferirán
[in] aMetaDataWriteCallback
Una función para escribir datos adicionales en formato TLV (opcional)
[in] aMetaDataAppState
Un contexto para pasar de nuevo a la función de devolución de llamada (opcional)
Resultado que se muestra
WEAVE_NO_ERROR si se realiza correctamente.

operador==

bool operator==(
  const SendInit &
) const 

Comparación de igualdad entre mensajes SendInit.

Detalles
Parámetros
[in] another
Otro mensaje SendInit para compararlo con este
Resultado que se muestra
verdadero si tienen todos los mismos campos.

paquete

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Empaqueta un mensaje de solicitud de iniciación en un packageBuffer.

Detalles
Parámetros
[out] aBuffer
Un PackageBuffer para empaquetar el mensaje SendInit
Valores de retorno
WEAVE_NO_ERROR
Si se realiza con éxito
WEAVE_ERROR_BUFFER_TOO_SMALL
Si el búfer es demasiado pequeño

packedLength

uint16_t packedLength(
  void
)

Muestra la longitud empaquetada de este mensaje de iniciación de envío.

Detalles
Resultado que se muestra
la longitud del mensaje cuando está empaquetado

Funciones estáticas públicas

parse

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

Analizar datos de un packageBuffer en un formato de mensaje SendInit

Detalles
Parámetros
[in] aBuffer
Es un puntero a un PackageBuffer que tiene los datos que queremos analizar.
[out] aRequest
Es un puntero a un objeto SendInit en el que debemos almacenar los resultados.
Valores de retorno
WEAVE_NO_ERROR
Si se realiza con éxito
WEAVE_ERROR_BUFFER_TOO_SMALL
Si el búfer es demasiado pequeño