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 |
|
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 |
|
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 |
|
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 |
|
||
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 |
|
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 |
|
||
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 |
|
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 |
|
||
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 |
|
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.