nl::Weave::Profiles::BDX_Development::BDXTransfer

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

Esta estructura contiene miembros de datos que representan una transferencia de BDX activa.

Resumen

BdxProtocol utiliza estos objetos para mantener el estado del protocolo. Las administra el BdxServer, que se encarga de crear e inicializar transferencias nuevas, incluida la administración de conexiones y ExchangeContexts.

Atributos públicos

mAmInitiator
bool
mAmSender
bool
mAppState
void *
mBlockCounter
uint32_t
El siguiente número de bloque que esperamos recibir una BlockQuery o BlockACK para el envío (una vez que la transferencia haya comenzado oficialmente).
mBytesSent
uint64_t
mExchangeContext
mFileDesignator
miembros de datos relacionados con archivos o bloques PENDIENTE: ¿Desea quitar esto o deberíamos establecer un contrato sobre cómo podría ser esta cadena y cómo se usará? En concreto, ¿está respaldada por un PacketBuffer? Si es así, probablemente no se quede todo el xfer, ya que ocupa una pbuf.
mFirstQuery
bool
mHandlers
mIsAccepted
bool
mIsCompletedSuccessfully
bool
mIsInitiated
bool
mIsWideRange
bool
mLength
uint64_t
mMaxBlockSize
uint16_t
mNext)(BDXTransfer &)
mStartOffset
uint64_t
mTransferMode
uint8_t
mVersion
uint8_t

Funciones públicas

DispatchErrorHandler(WEAVE_ERROR anErrorCode)
void
Si se configuró el controlador de errores, llámalo.
DispatchGetBlockHandler(uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
void
Si se configuró el controlador de bloque get, llámalo.
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
void
Si se configuró el controlador de bloque put, llámalo.
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
Los despachadores simplemente verifican si se configuró un controlador y, si corresponde, lo llaman.
DispatchRejectHandler(StatusReport *aReport)
void
Si se configuró el controlador de rechazo, llámalo.
DispatchSendAccept(SendAccept *aSendAcceptMsg)
Si se configuró el controlador de aceptación de envío, llámalo.
DispatchXferDoneHandler(void)
void
Si se configuró el controlador de transferencia finalizada, llámalo.
DispatchXferErrorHandler(StatusReport *aXferError)
void
Si se configuró el controlador de errores de transferencia, llámalo.
GetDefaultFlags(bool aExpectResponse)
uint16_t
Esta función muestra las marcas predeterminadas que se enviarán con un mensaje.
IsAsync(void)
bool
 Returns true if this transfer is asynchronous, false otherwise.
IsDriver(void)
bool
 Returns true if this entity (node) is the driver for this transfer, false otherwise.
Reset(void)
void
 Sets all pointers to NULL, resets counters, etc.
SetHandlers(BDXHandlers aHandlers)
void
Esta función configura los controladores en este objeto BDXTransfer.
Shutdown(void)
void
 Shuts down the current transfer, including closing any open ExchangeContext.

Atributos públicos

mAmInitiator

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmInitiator

mAmSender

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmSender

mAppState

void * nl::Weave::Profiles::BDX_Development::BDXTransfer::mAppState

mBlockCounter

uint32_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBlockCounter

El siguiente número de bloque que esperamos recibir una BlockQuery o BlockACK para el envío (una vez que la transferencia haya comenzado oficialmente).

Cuando se recibe, es el próximo BlockSend que esperamos recibir o la BlockQuery más reciente que enviamos (después de que comienza oficialmente la transferencia y se envía la primera consulta).

mBytesSent

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBytesSent

mExchangeContext

ExchangeContext * nl::Weave::Profiles::BDX_Development::BDXTransfer::mExchangeContext

mFileDesignator

ReferencedString nl::Weave::Profiles::BDX_Development::BDXTransfer::mFileDesignator

miembros de datos relacionados con archivos o bloques PENDIENTE: ¿Desea quitar esto o deberíamos establecer un contrato sobre cómo podría ser esta cadena y cómo se usará? En concreto, ¿está respaldada por un PacketBuffer? Si es así, probablemente no se quede todo el xfer, ya que ocupa una pbuf.

mFirstQuery

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mFirstQuery

mHandlers

BDXHandlers nl::Weave::Profiles::BDX_Development::BDXTransfer::mHandlers

mIsAccepted

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsAccepted

mIsCompletedSuccessfully

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsCompletedSuccessfully

mIsInitiated

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsInitiated

mIsWideRange

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsWideRange

mLength

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mLength

mMaxBlockSize

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mMaxBlockSize

mNext

WEAVE_ERROR(* nl::Weave::Profiles::BDX_Development::BDXTransfer::mNext)(BDXTransfer &)

mStartOffset

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mStartOffset

mTransferMode

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mTransferMode

mVersion

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mVersion

Funciones públicas

DispatchErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler(
  WEAVE_ERROR anErrorCode
)

Si se configuró el controlador de errores, llámalo.

Si no la estableces, también cierra la transferencia como un comportamiento predeterminado.

Detalles
Parámetros
[in] anErrorCode
Código de error que se procesará

DispatchGetBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler(
  uint64_t *aLength,
  uint8_t **aDataBlock,
  bool *aLastBlock
)

Si se configuró el controlador de bloque get, llámalo.

Detalles
Parámetros
[in] aLength
Longitud del bloque
[in] aDataBlock
Puntero al bloque de datos
[in] aLastBlock
Verdadero si este es el último bloque de la transferencia.

DispatchPutBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler(
  uint64_t aLength,
  uint8_t *aDataBlock,
  bool aLastBlock
)

Si se configuró el controlador de bloque put, llámalo.

Detalles
Parámetros
[in] aLength
Longitud del bloque
[in] aDataBlock
Puntero al bloque de datos
[in] aLastBlock
Verdadero si este es el último bloque de la transferencia.

DispatchReceiveAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept(
  ReceiveAccept *aReceiveAcceptMsg
)

Los despachadores simplemente verifican si se configuró un controlador y, si corresponde, lo llaman.

Si se configuró el controlador de aceptación de recepción, llámalo.

Por lo tanto, se deben usar como interfaz pública para llamar a devoluciones de llamada, que nunca deben ser tocadas directamente por aplicaciones externas. Es posible que una revisión futura de BDXTransfer use un objeto delegado en lugar de almacenar punteros individuales para cada una de las devoluciones de llamada.

Detalles
Parámetros
[in] aReceiveAcceptMsg
ReceiveAccept que se procesará.
Qué muestra
un valor de error

DispatchRejectHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler(
  StatusReport *aReport
)

Si se configuró el controlador de rechazo, llámalo.

Si no la estableces, también cierra la transferencia como un comportamiento predeterminado.

Detalles
Parámetros
[in] aReport
Mensaje de StatusReport que se procesará

DispatchSendAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept(
  SendAccept *aSendAcceptMsg
)

Si se configuró el controlador de aceptación de envío, llámalo.

Detalles
Parámetros
[in] aSendAcceptMsg
SendAccept que se procesará.
Qué muestra
un valor de error

DispatchXferDoneHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler(
  void
)

Si se configuró el controlador de transferencia finalizada, llámalo.

Si no la estableces, también cierra la transferencia como un comportamiento predeterminado.

DispatchXferErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler(
  StatusReport *aXferError
)

Si se configuró el controlador de errores de transferencia, llámalo.

Si no la estableces, también cierra la transferencia como un comportamiento predeterminado.

Detalles
Parámetros
[in] aXferError
Informe de estado de un error que se procesará

GetDefaultFlags

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags(
  bool aExpectResponse
)

Esta función muestra las marcas predeterminadas que se enviarán con un mensaje.

Detalles
Parámetros
[in] aExpectResponse
Si esperamos una respuesta a este mensaje
Qué muestra
Las marcas que se enviarán

IsAsync

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync(
  void
)

 Returns true if this transfer is asynchronous, false otherwise.

Detalles
Qué muestra
true si la transferencia es asíncrona.

IsDriver

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsDriver(
  void
)

 Returns true if this entity (node) is the driver for this transfer, false otherwise.

Detalles
Qué muestra
verdadero si esta entidad es el controlador de la transferencia

Restablecer

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Reset(
  void
)

 Sets all pointers to NULL, resets counters, etc.

Se llama cuando se apaga.

SetHandlers

void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers(
  BDXHandlers aHandlers
)

Esta función configura los controladores en este objeto BDXTransfer.

Siempre debes usar este método en lugar de intentar configurarlos manualmente, ya que la implementación subyacente del almacenamiento de los punteros de la función del controlador no forma parte de la API pública.

Detalles
Parámetros
[in] aHandlers
Estructura de los controladores de devolución de llamada que se llamarán

Cierre

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown(
  void
)

 Shuts down the current transfer, including closing any open ExchangeContext.

Aprovecha esta oportunidad para liberar todos los recursos asociados con esta transferencia y la lógica de tu aplicación.