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. Sono gestiti da BdxServer, che gestisce la creazione e l'inizializzazione di nuovi trasferimenti, compresa la gestione di Connections ed ExchangeContexts.
Attributi pubblici |
|
---|---|
mAmInitiator
|
bool
|
mAmSender
|
bool
|
mAppState
|
void *
|
mBlockCounter
|
uint32_t
Il prossimo numero di blocco per cui prevediamo di ricevere una BlockQuery o un BlockACK durante l'invio (una volta iniziato ufficialmente il trasferimento).
|
mBytesSent
|
uint64_t
|
mExchangeContext
|
|
mFileDesignator
|
file/bloccare dati correlati membri TODO: rimuovere questo? oppure dobbiamo stabilire un contratto con l'aspetto che potrebbe avere questa stringa e come verrà usata? Nello specifico, è supportato da un PacketBuffer? Se è così, probabilmente non dovrebbe restare nei paraggi per l'intero xfer, che occupa un file
|
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 del blocco 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 verificare se è stato impostato un gestore e, in caso affermativo, lo chiamano.
|
DispatchRejectHandler(StatusReport *aReport)
|
void
Se è stato impostato il gestore dei rifiuti, chiamalo.
|
DispatchSendAccept(SendAccept *aSendAcceptMsg)
|
Se è stato impostato il gestore di accettazione di invio, chiamalo.
|
DispatchXferDoneHandler(void)
|
void
Se è stato impostato il gestore del trasferimento effettuato, chiamalo.
|
DispatchXferErrorHandler(StatusReport *aXferError)
|
void
Se è stato impostato il gestore degli errori di trasferimento, 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 dell'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 prossimo numero di blocco per cui prevediamo di ricevere una BlockQuery o un BlockACK durante l'invio (una volta iniziato ufficialmente il trasferimento).
Al momento della ricezione, è il prossimo BlockSend che ci aspettiamo di ricevere o l'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
file/bloccare dati correlati membri TODO: rimuovere questo? oppure dobbiamo stabilire un contratto con l'aspetto che potrebbe avere questa stringa e come verrà usata? Nello specifico, è supportato da un PacketBuffer? Se è così, probabilmente non dovrebbe restare nei paraggi per l'intero xfer, che occupa un file
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 non viene configurato, arresta anche il trasferimento come comportamento predefinito.
Dettagli | |||
---|---|---|---|
Parametri |
|
DispatchGetBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler( uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock )
Se è stato impostato il gestore del blocco 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 verificare se è stato impostato un gestore e, in caso affermativo, lo chiamano.
Se è stato impostato il gestore di accettazione in caso di ricezione, chiamalo.
Pertanto, dovrebbero essere usati come interfaccia pubblica per le chiamate dei callback, che non dovrebbero mai essere toccati direttamente dalle applicazioni esterne. È possibile che una revisione futura di BDXTransfer utilizzerà un oggetto delegato anziché archiviare singoli puntatori a ciascun callback.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
un valore di errore
|
DispatchRejectHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler( StatusReport *aReport )
Se è stato impostato il gestore dei rifiuti, chiamalo.
Se non viene configurato, arresta anche il trasferimento come comportamento predefinito.
Dettagli | |||
---|---|---|---|
Parametri |
|
DispatchSendAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept( SendAccept *aSendAcceptMsg )
Se è stato impostato il gestore di accettazione di invio, chiamalo.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
un valore di errore
|
DispatchXferDoneHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler( void )
Se è stato impostato il gestore del trasferimento effettuato, chiamalo.
Se non viene configurato, arresta anche il trasferimento come comportamento predefinito.
DispatchXferErrorHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler( StatusReport *aXferError )
Se è stato impostato il gestore degli errori di trasferimento, chiamalo.
Se non viene configurato, arresta anche il trasferimento come comportamento predefinito.
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 |
vero se questa entità è il motore 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 dell'oggetto BDXTransfer.
Dovresti usare sempre questo metodo anziché provare a impostarli manualmente poiché l'implementazione di base della modalità di archiviazione dei puntatori delle funzioni del 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.
Sfrutta questa opportunità per liberare eventuali risorse associate a questo trasferimento e alla logica dell'applicazione.
{1 Il processo di BDX