nl :: Tejido:: Perfiles: BDX_Development :: BDXTransfer
#include <src/lib/profiles/bulk-data-transfer/Development/BDXTransferState.h>
Esta estructura contiene miembros de datos que representan una transferencia BDX activa.
Resumen
Estos objetos son utilizados por BdxProtocol para mantener el estado del protocolo. Son administrados por BdxServer, que maneja la creación e inicialización de nuevas transferencias, incluida la administración de Connections y ExchangeContexts.
Atributos públicos | |
---|---|
mAmInitiator | bool |
mAmSender | bool |
mAppState | void * |
mBlockCounter | uint32_t El próximo número de bloque que esperar para recibir una BlockQuery o BlockACK a la hora de enviar (una vez que la transferencia ha iniciado oficialmente). |
mBytesSent | uint64_t |
mExchangeContext | |
mFileDesignator | archivo / bloque de miembros de datos relacionados TODO: ¿eliminar esto? ¿O deberíamos simplemente establecer un contrato de cómo se vería esta cadena y cómo se usará? Específicamente, ¿está respaldado por un PacketBuffer? Si es así, probablemente no debería quedarse durante todo el xfer, ya que eso requiere un pbuf |
mFirstQuery | bool |
mHandlers | |
mIsAccepted | bool |
mIsCompletedSuccessfully | bool |
mIsInitiated | bool |
mIsWideRange | bool |
mLength | uint64_t |
mMaxBlockSize | uint16_t |
mNext )(BDXTransfer &) | WEAVE_ERROR (* |
mStartOffset | uint64_t |
mTransferMode | uint8_t |
mVersion | uint8_t |
Funciones publicas | |
---|---|
DispatchErrorHandler ( WEAVE_ERROR anErrorCode) | void Si se ha configurado el controlador de errores, llámelo. |
DispatchGetBlockHandler (uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock) | void Si se ha establecido el controlador de bloque get, llámelo. |
DispatchPutBlockHandler (uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock) | void Si se ha establecido el controlador de bloque de colocación, llámelo. |
DispatchReceiveAccept ( ReceiveAccept *aReceiveAcceptMsg) | Los despachadores simplemente comprueban si se ha configurado un controlador y luego lo llaman si es así. |
DispatchRejectHandler ( StatusReport *aReport) | void Si se ha configurado el controlador de rechazos, llámelo. |
DispatchSendAccept ( SendAccept *aSendAcceptMsg) | Si se ha configurado el controlador de envío y aceptación, llámelo. |
DispatchXferDoneHandler (void) | void Si se ha configurado el controlador de transferencia realizada, llámelo. |
DispatchXferErrorHandler ( StatusReport *aXferError) | void Si se ha configurado el controlador de errores de transferencia, llámelo. |
GetDefaultFlags (bool aExpectResponse) | uint16_t Esta función devuelve las banderas 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 establece los controladores en este BDXTransfer objeto. |
Shutdown (void) | void Shuts down the current transfer, including closing any open ExchangeContext. |
Atributos públicos
mAmIniciador
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 próximo número de bloque que esperar para recibir una BlockQuery o BlockACK a la hora de enviar (una vez que la transferencia ha iniciado oficialmente).
Cuando se recibe, es la siguiente BlockSend esperamos recibir o la última BlockQuery enviamos (después de la transferencia ha comenzado oficialmente y el primer enviado de consulta que es).
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
archivo / bloque de miembros de datos relacionados TODO: ¿eliminar esto? ¿O deberíamos simplemente establecer un contrato de cómo se vería esta cadena y cómo se usará? Específicamente, ¿está respaldado por un PacketBuffer? Si es así, probablemente no debería quedarse durante todo el xfer, ya que eso requiere un 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
mIsIniciado
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
mSiguiente
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 publicas
DispatchErrorHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler( WEAVE_ERROR anErrorCode )
Si se ha configurado el controlador de errores, llámelo.
Si no se establece, también cierre la transferencia como comportamiento predeterminado.
Detalles | |||
---|---|---|---|
Parámetros |
|
DispatchGetBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler( uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock )
Si se ha establecido el controlador de bloque get, llámelo.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
DispatchPutBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler( uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock )
Si se ha establecido el controlador de bloque de colocación, llámelo.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
DespachoRecibirAceptar
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept( ReceiveAccept *aReceiveAcceptMsg )
Los despachadores simplemente comprueban si se ha configurado un controlador y luego lo llaman si es así.
Si se ha configurado el controlador de aceptación de recepción, llámelo.
Por lo tanto, estos deben usarse como la interfaz pública para llamar devoluciones de llamada, que nunca deben ser tocadas directamente por aplicaciones externas. Es posible que una futura revisión de BDXTransfer utilizará un objeto delegado en lugar de almacenar punteros individuales para cada una de las devoluciones de llamada.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | un valor de error |
DispatchRejectHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler( StatusReport *aReport )
Si se ha configurado el controlador de rechazos, llámelo.
Si no se establece, también cierre la transferencia como comportamiento predeterminado.
Detalles | |||
---|---|---|---|
Parámetros |
|
DespachoEnviarAceptar
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept( SendAccept *aSendAcceptMsg )
Si se ha configurado el controlador de envío y aceptación, llámelo.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | un valor de error |
DispatchXferDoneHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler( void )
Si se ha configurado el controlador de transferencia realizada, llámelo.
Si no se establece, también cierre la transferencia como comportamiento predeterminado.
DispatchXferErrorHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler( StatusReport *aXferError )
Si se ha configurado el controlador de errores de transferencia, llámelo.
Si no se establece, también cierre la transferencia como comportamiento predeterminado.
Detalles | |||
---|---|---|---|
Parámetros |
|
GetDefaultFlags
uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags( bool aExpectResponse )
Esta función devuelve las banderas predeterminadas que se enviarán con un mensaje.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | Las banderas que se enviarán |
IsAsync
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync( void )
Returns true if this transfer is asynchronous, false otherwise.
Detalles | |
---|---|
Devoluciones | Verdadero si la transferencia es asincrónica. |
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 | |
---|---|
Devoluciones | verdadero si esta entidad es el conductor de esta transferencia |
Reiniciar
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Reset( void )
Sets all pointers to NULL, resets counters, etc.
Llamado cuando se apaga.
SetHandlers
void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers( BDXHandlers aHandlers )
Esta función establece los controladores en este BDXTransfer objeto.
Siempre debe usar este método en lugar de intentar configurarlos manualmente, ya que la implementación subyacente de cómo se almacenan los punteros de la función del controlador no es parte de la API pública.
Detalles | |||
---|---|---|---|
Parámetros |
|
Cerrar
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown( void )
Shuts down the current transfer, including closing any open ExchangeContext.
Aproveche esta oportunidad para liberar los recursos asociados con esta transferencia y la lógica de su aplicación.