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 elemento SendInit con los metadatos que desea.

Atributos públicos

mAsynchronousModeSupported
bool
Es verdadero si podemos admitir el modo asíncrono.
mDefiniteLength
bool
Es verdadero si el campo de longitud está presente.
mFileDesignator
String que contiene información negociada previamente.
mLength
uint64_t
Longitud propuesta de datos en transferencia, 0 para datos indefinidos.
mMaxBlockSize
uint16_t
Tamaño de bloque máximo 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 de TLV.
mReceiverDriveSupported
bool
Es verdadero si podemos admitir la unidad del receptor.
mSenderDriveSupported
bool
Es verdadero si se admite la unidad del remitente.
mStartOffset
uint64_t
Compensación inicial de datos propuesta.
mStartOffsetPresent
bool
Es verdadero si está presente el campo de desplazamiento inicial.
mVersion
uint8_t
Es la versión del protocolo BDX que decidimos.
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 SendInit "amplio".
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 SendInit "no ancho" (desplazamiento de inicio de 32 bits, 32 bits de longitud)
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 SendInit "amplio".
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 SendInit "no ancho" (desplazamiento de inicio de 32 bits, 32 bits de longitud)
operator==(const SendInit &) const
bool
Comparación de igualdad entre mensajes SendInit.
pack(PacketBuffer *aBuffer)
Empaqueta un mensaje de inicio de envío en un PacketBuffer.
packedLength(void)
uint16_t
Muestra la longitud empaquetada de este mensaje de inicio de envío.

Funciones estáticas públicas

parse(PacketBuffer *aBuffer, SendInit & aRequest)
Analiza datos de un PacketBuffer en 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 elemento SendInit con los metadatos que desea.

El cliente tiene la libertad de proporcionar TLV (más rápido), codificación en el momento (con menos memoria), codificación 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 elemento SendInit determinado, es decir, no cambian sin importar cuándo se lo llame. 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 app proporcionado por el usuario
Valores que se muestran
WEAVE_ERROR
Se detectó cualquier error.

Atributos públicos

mAsynchronousModeSupported

bool mAsynchronousModeSupported

Es verdadero si podemos admitir el modo asíncrono.

mDefiniteLength

bool mDefiniteLength

Es verdadero si el campo de longitud está presente.

mFileDesignator

ReferencedString mFileDesignator

String que contiene información negociada previamente.

mLength

uint64_t mLength

Longitud propuesta de datos en transferencia, 0 para datos indefinidos.

mMaxBlockSize

uint16_t mMaxBlockSize

Tamaño de bloque máximo 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 de TLV.

mReceiverDriveSupported

bool mReceiverDriveSupported

Es verdadero si podemos admitir la unidad del receptor.

mSenderDriveSupported

bool mSenderDriveSupported

Es verdadero si se admite la unidad del remitente.

mStartOffset

uint64_t mStartOffset

Compensación inicial de datos propuesta.

mStartOffsetPresent

bool mStartOffsetPresent

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

mVersion

uint8_t mVersion

Es la versión del protocolo BDX que decidimos.

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 SendInit "amplio".

Detalles
Parámetros
[in] aVersion
La versión de BDX que usamos
[in] aSenderDrive
Verdadero si el remitente está conduciendo
[in] aReceiverDrive
Verdadero si el receptor está conduciendo
[in] aAsynchMode
Es verdadero si el dispositivo admite el modo asíncrono.
[in] aMaxBlockSize
Propuesta de un tamaño máximo de bloqueo para esta transferencia
[in] aStartOffset
Comienzo del desplazamiento en el archivo en el que deberíamos empezar
[in] aLength
Longitud del archivo que se transferirá (0 significa que tiene longitud indefinida)
[in] aFileDesignator
Una cadena que identifica los datos que se transferirán
[in] aMetaData
Datos adicionales en formato TLV (opcional)
Qué muestra
WEAVE_NO_ERROR si se ejecuta 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 SendInit "no ancho" (desplazamiento de inicio de 32 bits, 32 bits de longitud)

Detalles
Parámetros
[in] aVersion
La versión de BDX que usamos
[in] aSenderDrive
Verdadero si el remitente está conduciendo
[in] aReceiverDrive
Verdadero si el receptor está conduciendo
[in] aAsynchMode
Es verdadero si el dispositivo admite el modo asíncrono.
[in] aMaxBlockSize
Propuesta de un tamaño máximo de bloqueo para esta transferencia
[in] aStartOffset
Comienzo del desplazamiento en el archivo en el que deberíamos empezar
[in] aLength
Longitud del archivo que se transferirá (0 significa que tiene longitud indefinida)
[in] aFileDesignator
Una cadena que identifica los datos que se transferirán
[in] aMetaData
Datos adicionales en formato TLV (opcional)
Qué muestra
WEAVE_NO_ERROR si se ejecuta 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 SendInit "amplio".

Detalles
Parámetros
[in] aVersion
La versión de BDX que usamos
[in] aSenderDrive
Verdadero si el remitente está conduciendo
[in] aReceiverDrive
Verdadero si el receptor está conduciendo
[in] aAsynchMode
Es verdadero si el dispositivo admite el modo asíncrono.
[in] aMaxBlockSize
Propuesta de un tamaño máximo de bloqueo para esta transferencia
[in] aStartOffset
Comienzo del desplazamiento en el archivo en el que deberíamos empezar
[in] aLength
Longitud del archivo que se transferirá (0 significa que tiene 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á al método aMetaDataWriteCallback
Qué muestra
WEAVE_NO_ERROR si se ejecuta 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 SendInit "no ancho" (desplazamiento de inicio de 32 bits, 32 bits de longitud)

Detalles
Parámetros
[in] aVersion
La versión de BDX que usamos
[in] aSenderDrive
Verdadero si el remitente está conduciendo
[in] aReceiverDrive
Verdadero si el receptor está conduciendo
[in] aAsynchMode
Es verdadero si el dispositivo admite el modo asíncrono.
[in] aMaxBlockSize
Propuesta de un tamaño máximo de bloqueo para esta transferencia
[in] aStartOffset
Comienzo del desplazamiento en el archivo en el que deberíamos empezar
[in] aLength
Longitud del archivo que se transferirá (0 significa que tiene 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 que se debe pasar a la función de devolución de llamada (opcional)
Qué muestra
WEAVE_NO_ERROR si se ejecuta correctamente

operador==

bool operator==(
  const SendInit &
) const 

Comparación de igualdad entre mensajes SendInit.

Detalles
Parámetros
[in] another
Otro mensaje SendInit para comparar este
Qué muestra
verdadero si tienen los mismos campos.

paquete

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Empaqueta un mensaje de inicio de envío en un PacketBuffer.

Detalles
Parámetros
[out] aBuffer
Un PacketBuffer para empaquetar el mensaje SendInit
Valores que se muestran
WEAVE_NO_ERROR
Si la acción se realizó correctamente
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 inicio de envío.

Detalles
Qué muestra
longitud del mensaje cuando está empaquetado

Funciones estáticas públicas

parse

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

Analiza datos de un PacketBuffer en un formato de mensaje SendInit.

Detalles
Parámetros
[in] aBuffer
Es un puntero a un PacketBuffer que tiene los datos que queremos analizar.
[out] aRequest
Es el puntero a un objeto SendInit en el que debemos almacenar los resultados.
Valores que se muestran
WEAVE_NO_ERROR
Si la acción se realizó correctamente
WEAVE_ERROR_BUFFER_TOO_SMALL
Si el búfer es demasiado pequeño