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 usa estos objetos para mantener el estado del protocolo. Los administra BdxServer, que controla la creación y la 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
Es el siguiente número de bloque para el que esperamos recibir una BlockQuery o BlockACK cuando se envíe (una vez que la transferencia haya comenzado oficialmente).
|
mBytesSent
|
uint64_t
|
mExchangeContext
|
|
mFileDesignator
|
archivo/bloqueo de datos relacionados para miembros TODO: ¿Eliminar esto? ¿O deberíamos establecer un contrato
de cómo se vería esta cadena y cómo se usará? En particular, ¿está respaldado por un packageBuffer? Si es así, es probable que no te quedes hasta el video completo, ya que ocupa un 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 bloques get, llámalo.
|
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
void
Si se configuró el controlador de bloques put, llámalo.
|
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
|
Los despachadores tan solo verifican si se configuró un controlador y, de ser así, 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 completada, 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 envían 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
Es el siguiente número de bloque para el que esperamos recibir una BlockQuery o BlockACK cuando se envíe (una vez que la transferencia haya comenzado oficialmente).
Cuando se recibe, es el próximo BlockSend que esperamos recibir o la última versión de BlockQuery que enviamos (después de que la transferencia haya comenzado oficialmente y se haya enviado 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
archivo/bloqueo de datos relacionados para miembros TODO: ¿Eliminar esto? ¿O deberíamos establecer un contrato de cómo se vería esta cadena y cómo se usará? En particular, ¿está respaldado por un packageBuffer? Si es así, es probable que no te quedes hasta el video completo, ya que ocupa 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
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 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 bloques 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 bloques put, llámalo.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
DispatchReceiveAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept( ReceiveAccept *aReceiveAcceptMsg )
Los despachadores tan solo verifican si se configuró un controlador y, de ser así, lo llaman.
Si se configuró el controlador de aceptación de recepción, llámalo.
Por lo tanto, deben usarse como la 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 |
|
||
Resultado que se 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 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 |
|
||
Resultado que se muestra |
un valor de error
|
DispatchXferDoneHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler( void )
Si se configuró el controlador de transferencia completada, llámalo.
Si no la estableces, también cierra la transferencia como 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 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 envían con un mensaje.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se 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 | |
---|---|
Resultado que se 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 | |
---|---|
Resultado que se 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 al apagar.
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 de cómo se almacenan los punteros de la función de 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 cualquier recurso asociado con esta transferencia y la lógica de tu aplicación.