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 BdxProtocol pour maintenir l'état du protocole. Ils sont gérés par BdxServer, qui gère la création et l'initialisation des transferts, y compris les connexions et les contextes ExchangeContexts.
Attributs publics |
|
---|---|
mAmInitiator
|
bool
|
mAmSender
|
bool
|
mAppState
|
void *
|
mBlockCounter
|
uint32_t
Numéro de bloc suivant pour lequel nous nous attendons à recevoir une requête BlockQuery ou BlockACK lors de l'envoi (une fois le transfert officiellement lancé).
|
mBytesSent
|
uint64_t
|
mExchangeContext
|
|
mFileDesignator
|
fichier/bloquer les données associées membres À FAIRE: supprimer ceci ? ou devons-nous simplement établir un contrat
sur ce à quoi pourrait ressembler cette chaîne et comment elle sera utilisée ? Plus précisément, s'appuie-t-il sur un PacketBuffer ? Si c'est le cas, il ne devrait probablement pas rester pendant
l'ensemble du 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)
|
Il suffit aux coordinateurs de vérifier si un gestionnaire a été défini et de l'appeler si tel est le cas.
|
DispatchRejectHandler(StatusReport *aReport)
|
void
Si le gestionnaire de rejet a été défini, appelez-le.
|
DispatchSendAccept(SendAccept *aSendAcceptMsg)
|
Si le gestionnaire d'envoi d'acceptation 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
Numéro de bloc suivant pour lequel nous nous attendons à recevoir une requête BlockQuery ou BlockACK lors de l'envoi (une fois le transfert officiellement lancé).
Lors de la réception, il s'agit du prochain BlockSend que nous nous attendons à recevoir ou de la dernière BlockQuery que nous avons envoyée (après le démarrage officiel du transfert et 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
fichier/bloquer les données associées membres À FAIRE: supprimer ceci ? ou devons-nous simplement établir un contrat sur ce à quoi pourrait ressembler cette chaîne et comment elle sera utilisée ? Plus précisément, s'appuie-t-il sur un PacketBuffer ? Si c'est le cas, il ne devrait probablement pas rester pendant l'ensemble du 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, arrêtez également le transfert 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 )
Il suffit aux coordinateurs de vérifier si un gestionnaire a été défini et de l'appeler si tel est le cas.
Si le gestionnaire d'acceptation de réception a été défini, appelez-le.
Par conséquent, ils doivent servir d'interface publique permettant d'appeler des rappels auxquels des applications externes ne doivent jamais accéder directement. Il est possible qu'une révision ultérieure de BDXTransfer utilise un objet délégué au lieu de stocker des pointeurs individuels pour 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, arrêtez également le transfert par défaut.
Détails | |||
---|---|---|---|
Paramètres |
|
DispatchSendAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept( SendAccept *aSendAcceptMsg )
Si le gestionnaire d'envoi d'acceptation 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, arrêtez également le transfert 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, arrêtez également le transfert 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 |
"true" si cette entité est le conducteur du transfert
|
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 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 les ressources associées à ce transfert et à votre logique d'application.
La version actuelle du profil BDX du profil BDX n'appelle cette méthode que dans les cas suivants : 1) Le serveur entier est arrêté