nl:: Weave:: Profiles:: BDX_Development:: BDXTransfer
#include <src/lib/profiles/bulk-data-transfer/Development/BDXTransferState.h>
Questa struttura contiene membri di dati che rappresentano un trasferimento BDX attivo.
Riepilogo
Questi oggetti vengono utilizzati da BdxProtocol per mantenere lo stato del protocollo. Vengono gestiti da BdxServer, che gestisce la creazione e l'inizializzazione di nuovi trasferimenti, inclusa la gestione delle connessioni e di ExchangeContext.
Attributi pubblici |
|
---|---|
mAmInitiator
|
bool
|
mAmSender
|
bool
|
mAppState
|
void *
|
mBlockCounter
|
uint32_t
Il numero di blocco successivo per cui prevediamo di ricevere un messaggio BlockQuery o BlockACK al momento dell'invio (una volta iniziato ufficialmente il trasferimento).
|
mBytesSent
|
uint64_t
|
mExchangeContext
|
|
mFileDesignator
|
Membri con dati correlati a file/blocco DA FARE: rimuovere questo elemento? O dovremmo semplicemente stipulare un contratto per definire l'aspetto di questa stringa e come verrà utilizzata? Nello specifico, è supportato da un PacketBuffer? Se è così, probabilmente non dovrebbe rimanere in giro per l'intero xfer dato che occupa 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
|
Funzioni pubbliche |
|
---|---|
DispatchErrorHandler(WEAVE_ERROR anErrorCode)
|
void
Se il gestore degli errori è stato impostato, chiamalo.
|
DispatchGetBlockHandler(uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
|
void
Se è stato impostato il gestore dei blocchi get, chiamalo.
|
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
void
Se è stato impostato il gestore del blocco put, chiamalo.
|
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
|
I committenti si limitano a controllare se è stato impostato un gestore e, in quel caso, lo chiamano.
|
DispatchRejectHandler(StatusReport *aReport)
|
void
Se è stato impostato il gestore del rifiuto, chiamalo.
|
DispatchSendAccept(SendAccept *aSendAcceptMsg)
|
Se il gestore dell'invio di accettazione è stato impostato, chiamalo.
|
DispatchXferDoneHandler(void)
|
void
Se il gestore del trasferimento completato è stato impostato, chiamalo.
|
DispatchXferErrorHandler(StatusReport *aXferError)
|
void
Se il gestore degli errori di trasferimento è stato impostato, chiamalo.
|
GetDefaultFlags(bool aExpectResponse)
|
uint16_t
Questa funzione restituisce i flag predefiniti da inviare con un messaggio.
|
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
Questa funzione imposta i gestori per questo oggetto BDXTransfer.
|
Shutdown(void)
|
void
Shuts down the current transfer, including closing any open ExchangeContext. |
Attributi pubblici
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
Il numero di blocco successivo per cui prevediamo di ricevere un messaggio BlockQuery o BlockACK al momento dell'invio (una volta iniziato ufficialmente il trasferimento).
Alla ricezione, si tratta del successivo BlockSend che prevediamo di ricevere o dell'ultima BlockQuery che abbiamo inviato (dopo l'inizio ufficiale del trasferimento e la prima query inviata).
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
Membri con dati correlati a file/blocco DA FARE: rimuovere questo elemento? O dovremmo semplicemente stipulare un contratto per definire l'aspetto di questa stringa e come verrà utilizzata? Nello specifico, è supportato da un PacketBuffer? Se è così, probabilmente non dovrebbe rimanere in giro per l'intero xfer dato che occupa 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
Funzioni pubbliche
DispatchErrorHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler( WEAVE_ERROR anErrorCode )
Se il gestore degli errori è stato impostato, chiamalo.
Se il criterio non viene configurato, come comportamento predefinito arresta anche il trasferimento.
Dettagli | |||
---|---|---|---|
Parametri |
|
DispatchGetBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler( uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock )
Se è stato impostato il gestore dei blocchi get, chiamalo.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
DispatchPutBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler( uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock )
Se è stato impostato il gestore del blocco put, chiamalo.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
DispatchReceiveAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept( ReceiveAccept *aReceiveAcceptMsg )
I committenti si limitano a controllare se è stato impostato un gestore e, in quel caso, lo chiamano.
Se è stato impostato il gestore di accettazione della ricezione, chiamalo.
Pertanto, dovrebbe essere utilizzata come interfaccia pubblica per le chiamate di callback, che non dovrebbero mai essere toccate direttamente dalle applicazioni esterne. È possibile che una revisione futura di BDXTransfer utilizzi un oggetto delegato anziché memorizzare singoli puntatori a ciascuno dei callback.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
un valore di errore
|
DispatchRejectHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler( StatusReport *aReport )
Se è stato impostato il gestore del rifiuto, chiamalo.
Se il criterio non viene configurato, come comportamento predefinito arresta anche il trasferimento.
Dettagli | |||
---|---|---|---|
Parametri |
|
DispatchSendAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept( SendAccept *aSendAcceptMsg )
Se il gestore dell'invio di accettazione è stato impostato, chiamalo.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
un valore di errore
|
DispatchXferDoneHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler( void )
Se il gestore del trasferimento completato è stato impostato, chiamalo.
Se il criterio non viene configurato, come comportamento predefinito arresta anche il trasferimento.
DispatchXferErrorHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler( StatusReport *aXferError )
Se il gestore degli errori di trasferimento è stato impostato, chiamalo.
Se il criterio non viene configurato, come comportamento predefinito arresta anche il trasferimento.
Dettagli | |||
---|---|---|---|
Parametri |
|
GetDefaultFlags
uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags( bool aExpectResponse )
Questa funzione restituisce i flag predefiniti da inviare con un messaggio.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
I flag da inviare
|
IsAsync
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync( void )
Returns true if this transfer is asynchronous, false otherwise.
Dettagli | |
---|---|
Restituisce |
true se il trasferimento è asincrono.
|
IsDriver
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsDriver( void )
Returns true if this entity (node) is the driver for this transfer, false otherwise.
Dettagli | |
---|---|
Restituisce |
true se questa entità è il conducente del trasferimento
|
Reimposta
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Reset( void )
Sets all pointers to NULL, resets counters, etc.
Richiamato all'arresto.
SetHandlers
void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers( BDXHandlers aHandlers )
Questa funzione imposta i gestori per questo oggetto BDXTransfer.
Devi sempre utilizzare questo metodo anziché provare a impostarli manualmente, poiché l'implementazione sottostante del modo in cui vengono archiviati i puntatori delle funzioni di gestore non fa parte dell'API pubblica.
Dettagli | |||
---|---|---|---|
Parametri |
|
Arresto
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown( void )
Shuts down the current transfer, including closing any open ExchangeContext.
Utilizza questa opportunità per liberare risorse associate al trasferimento e alla logica dell'applicazione.