nl:: Weave:: Profiles:: BDX_Development:: BDXTransfer
#include <src/lib/profiles/bulk-data-transfer/Development/BDXTransferState.h>
Cette structure contient des membres de données représentant un transfert BDX actif.
Résumé
Ces objets sont utilisés par le protocole BdxProtocol pour maintenir l'état du protocole. Ils sont gérés par BdxServer, qui gère la création et l'initialisation de nouveaux transferts, y compris la gestion des connexions et des ExchangeContexts.
Attributs publics |
|
---|---|
mAmInitiator
|
bool
|
mAmSender
|
bool
|
mAppState
|
void *
|
mBlockCounter
|
uint32_t
Le prochain numéro de bloc nous attendons à recevoir un BlockQuery ou un ACK de blocage lors de l'envoi (une fois que le transfert a officiellement commencé).
|
mBytesSent
|
uint64_t
|
mExchangeContext
|
|
mFileDesignator
|
membres de données liées aux fichiers/blocs À FAIRE: supprimer ceci ? Ou devons-nous simplement établir un contrat de ce à quoi cette chaîne pourrait ressembler et de la façon dont elle sera utilisée ? Plus précisément, est-il sauvegardé par un PacketBuffer ? Si c'est le cas, il ne devrait pas rester pendant tout le xfer, car cela prend 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
|
Fonctions publiques |
|
---|---|
DispatchErrorHandler(WEAVE_ERROR anErrorCode)
|
void
Si le gestionnaire d'erreurs a été défini, appelez-le.
|
DispatchGetBlockHandler(uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
|
void
Si le gestionnaire de blocs get a été défini, appelez-le.
|
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
void
Si le gestionnaire de blocs "put" a été défini, appelez-le.
|
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
|
Les coordinateurs vérifient simplement si un gestionnaire a été défini et l'appellent le cas échéant.
|
DispatchRejectHandler(StatusReport *aReport)
|
void
Si le gestionnaire de rejet a été défini, appelez-le.
|
DispatchSendAccept(SendAccept *aSendAcceptMsg)
|
Si le gestionnaire d'acceptation d'envoi a été défini, appelez-le.
|
DispatchXferDoneHandler(void)
|
void
Si le gestionnaire de transfert terminé a été défini, appelez-le.
|
DispatchXferErrorHandler(StatusReport *aXferError)
|
void
Si le gestionnaire d'erreurs de transfert a été défini, appelez-le.
|
GetDefaultFlags(bool aExpectResponse)
|
uint16_t
Cette fonction renvoie les indicateurs par défaut à envoyer avec un message.
|
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
Cette fonction définit les gestionnaires sur cet objet BDXTransfer.
|
Shutdown(void)
|
void
Shuts down the current transfer, including closing any open ExchangeContext. |
Attributs publics
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
Le prochain numéro de bloc nous attendons à recevoir un BlockQuery ou un ACK de blocage lors de l'envoi (une fois que le transfert a officiellement commencé).
Lors de la réception, il s'agit du prochain BlockSend que nous prévoyons de recevoir ou de la dernière requête BlockQuery que nous avons envoyée (après le début officiel du transfert et l'envoi de la première requête envoyée).
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
membres de données liées aux fichiers/blocs À FAIRE: supprimer ceci ? Ou devons-nous simplement établir un contrat de ce à quoi cette chaîne pourrait ressembler et de la façon dont elle sera utilisée ? Plus précisément, est-il sauvegardé par un PacketBuffer ? Si c'est le cas, il ne devrait pas rester pendant tout le xfer, car cela prend 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
Fonctions publiques
DispatchErrorHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler( WEAVE_ERROR anErrorCode )
Si le gestionnaire d'erreurs a été défini, appelez-le.
Si cette règle n'est pas configurée, le transfert est également arrêté par défaut.
Détails | |||
---|---|---|---|
Paramètres |
|
DispatchGetBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler( uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock )
Si le gestionnaire de blocs get a été défini, appelez-le.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
DispatchPutBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler( uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock )
Si le gestionnaire de blocs "put" a été défini, appelez-le.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
DispatchReceiveAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept( ReceiveAccept *aReceiveAcceptMsg )
Les coordinateurs vérifient simplement si un gestionnaire a été défini et l'appellent le cas échéant.
Si le gestionnaire d'acceptation de réception a été défini, appelez-le.
Ils doivent donc être utilisés en tant qu'interface publique pour l'appel de rappels, qui ne doivent jamais être touchés directement par des applications externes. Il est possible qu'une révision future de BDXTransfer utilise un objet délégué au lieu de stocker des pointeurs individuels vers chacun des rappels.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
une valeur d'erreur
|
DispatchRejectHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler( StatusReport *aReport )
Si le gestionnaire de rejet a été défini, appelez-le.
Si cette règle n'est pas configurée, le transfert est également arrêté par défaut.
Détails | |||
---|---|---|---|
Paramètres |
|
DispatchSendAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept( SendAccept *aSendAcceptMsg )
Si le gestionnaire d'acceptation d'envoi a été défini, appelez-le.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
une valeur d'erreur
|
DispatchXferDoneHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler( void )
Si le gestionnaire de transfert terminé a été défini, appelez-le.
Si cette règle n'est pas configurée, le transfert est également arrêté par défaut.
DispatchXferErrorHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler( StatusReport *aXferError )
Si le gestionnaire d'erreurs de transfert a été défini, appelez-le.
Si cette règle n'est pas configurée, le transfert est également arrêté par défaut.
Détails | |||
---|---|---|---|
Paramètres |
|
GetDefaultFlags
uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags( bool aExpectResponse )
Cette fonction renvoie les indicateurs par défaut à envoyer avec un message.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Les indicateurs à envoyer
|
IsAsync
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync( void )
Returns true if this transfer is asynchronous, false otherwise.
Détails | |
---|---|
Renvoie |
Valeur "true" si le transfert est asynchrone
|
IsDriver
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsDriver( void )
Returns true if this entity (node) is the driver for this transfer, false otherwise.
Détails | |
---|---|
Renvoie |
Valeur "true" si cette entité est le conducteur de cette correspondance
|
Réinitialiser
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Reset( void )
Sets all pointers to NULL, resets counters, etc.
Appelée à l'arrêt.
SetHandlers
void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers( BDXHandlers aHandlers )
Cette fonction définit les gestionnaires sur cet objet BDXTransfer.
Vous devez toujours utiliser cette méthode plutôt que d'essayer de les définir manuellement, car l'implémentation sous-jacente du stockage des pointeurs de la fonction de gestionnaire ne fait pas partie de l'API publique.
Détails | |||
---|---|---|---|
Paramètres |
|
Arrêt
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown( void )
Shuts down the current transfer, including closing any open ExchangeContext.
Profitez-en pour libérer des ressources associées à ce transfert et à votre logique d'application.