nl:: Weave:: Profiles:: BDX_Development
Cet espace de noms inclut toutes les interfaces de Weave pour le profil de transfert de données groupées (BDX) qui sont en cours de développement et ne doivent pas être utilisées pour une utilisation en production.
Résumé
Énumérations |
|
---|---|
@80
|
énum |
@81
|
énum |
@82
|
énum |
@83
|
énum |
Typedefs |
|
---|---|
BdxClient
|
typedef |
BdxServer
|
typedef |
ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
|
typedefvoid(*
Ce gestionnaire est appelé chaque fois qu'une erreur Weave se produit et qu'elle ne peut pas être renvoyée directement via des codes d'erreur au flux de contrôle défini par l'application par l'utilisateur. |
GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
|
typedefvoid(*
Get a block of data to be transmitted. |
PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
typedefvoid(*
Gérer le bloc de données vers lequel pointe un DataBlock d'une longueur. |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
typedef Rappel invoqué lorsqu'un élément ReceiveInit précédemment envoyé est accepté par la destination. |
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
|
typedefuint16_t(*
Rappel invoqué lors de la réception d'un message ReceiveInit. |
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
|
typedefvoid(*
Appelée si l'un des messages Init précédents a été rejeté par la destination. |
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
|
typedef Rappel invoqué lorsqu'un élément SendInit précédemment envoyé est accepté par la destination. |
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
|
typedefuint16_t(*
Rappel invoqué lors de la réception d'un message SendInit. |
XferDoneHandler)(BDXTransfer *aXfer)
|
typedefvoid(*
Gérez les cas où le transfert est terminé. |
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
|
typedefvoid(*
Traitez les messages TransferError reçus ou envoyés par BDX. |
Fonctions |
|
---|---|
GetBDXAckFlag(ExchangeContext *anEc)
|
uint16_t
GetBDXAckFlag renvoie l'indicateur approprié pour le champ RequestAck en fonction de la connexion du contexte de l'échange (pas de confirmation de requête pour TCP) et de la compatibilité au moment de la compilation pour WRMP.
|
Classes |
|
---|---|
nl:: |
|
nl:: |
Le message BlockAck permet de confirmer un bloc de données. |
nl:: |
Le message BlockAckV1 permet d'accuser réception d'un bloc de données. |
nl:: |
Le message BlockEOF permet de transférer le dernier bloc de données de l'expéditeur au destinataire. |
nl:: |
Le message BlockEOFAck permet d'accuser réception du dernier bloc de données. |
nl:: |
Le message BlockEOFAckV1 permet d'accuser réception du dernier bloc de données. |
nl:: |
Le message BlockEOFV1 permet de transférer le dernier bloc de données de l'expéditeur au destinataire. |
nl:: |
Le message BlockQuery permet de demander qu'un bloc de données soit transféré de l'expéditeur au destinataire. |
nl:: |
Le message BlockQueryV1 permet de demander qu'un bloc de données soit transféré de l'expéditeur au destinataire. |
nl:: |
Le message BlockSend est utilisé pour transférer un bloc de données de l'expéditeur au destinataire. |
nl:: |
Le message BlockSendV1 est utilisé pour transférer un bloc de données de l'expéditeur au destinataire. |
nl:: |
Le message ReceiveAccept permet d'accepter un échange proposé lorsque le destinataire en est l'initiateur. |
nl:: |
Le message ReceiveInit permet de démarrer un échange lorsque le destinataire en est l'initiateur. |
nl:: |
Le message ReceiveReject permet de rejeter un échange proposé lorsque l'expéditeur en est l'initiateur. |
nl:: |
Le message SendAccept est utilisé pour accepter une proposition d'échange lorsque l'expéditeur est l'initiateur. |
nl:: |
Le message SendInit permet de démarrer un échange lorsque l'expéditeur est l'initiateur. |
nl:: |
Le message SendReject permet de rejeter un échange proposé lorsque l'expéditeur est l'initiateur. |
nl:: |
Le message d'erreur permet de signaler une erreur et d'annuler un échange. |
Structs |
|
---|---|
nl:: |
|
nl:: |
Cette structure contient des membres de données représentant un transfert BDX actif. |
Espaces de noms |
|
---|---|
nl:: |
Énumérations
@80
@80
@81
@81
@82
@82
@83
@83
Typedefs
BdxClient
BdxNode BdxClient
BdxServer
BdxNode BdxServer
ErrorHandler
void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
Ce gestionnaire est appelé chaque fois qu'une erreur Weave se produit et qu'elle ne peut pas être renvoyée directement via des codes d'erreur au flux de contrôle défini par l'application par l'utilisateur.
En d'autres termes, si une erreur se produit au sein d'un autre gestionnaire dont le type de signature est "void" (par exemple, en réponse à un message Weave entrant ou même envoyé par le protocole), ce gestionnaire est appelé afin que l'utilisateur puisse déterminer si le transfert peut être récupéré et continuer ou s'il doit appeler Shutdown(). Notez qu'une erreur peut se produire avant l'initialisation d'un transfert BDXTransfer (par exemple, trop d'objets de transfert alloués). Dans ce cas, cette erreur sera consignée par Weave, et le protocole se chargera de nettoyer tout état nécessaire alloué.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
GetBlockHandler
void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
Get a block of data to be transmitted.
L'appelant fournit l'espace de mise en mémoire tampon (tampon et longueur du tampon, transmis par référence). L'appelé (application utilisateur) DOIT utiliser le tampon fourni, mais pour des raisons de rétrocompatibilité, il peut renvoyer son propre tampon. L'appelé ne doit pas fournir plus de aLength
d'octets. En retour, aLength
contient le nombre réel d'octets lus dans le tampon.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
PutBlockHandler
void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
Gérer le bloc de données vers lequel pointe un DataBlock d'une longueur.
Cela impliquera probablement de l'écrire dans un fichier et de le fermer si isLastBlock est vrai.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
ReceiveAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
Rappel invoqué lorsqu'un élément ReceiveInit précédemment envoyé est accepté par la destination.
Vous pouvez profiter de cette opportunité pour ouvrir des fichiers ou allouer des ressources pour le transfert si vous ne l'avez pas déjà fait lors de son lancement.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
ReceiveInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
Rappel invoqué lors de la réception d'un message ReceiveInit.
Son rôle est de déterminer si vous souhaitez accepter la réception et, le cas échéant, de définir aXfer->mIsAccept=true afin que le protocole envoie un message d'acceptation à l'initiateur. L'objet BDXTransfer est lancé avec les paramètres par défaut. C'est l'endroit idéal pour associer n'importe quel état spécifique à une application (poignées de fichiers ouverts, etc.) à aXfer->mAppState. Vous devez également associer les gestionnaires nécessaires pour, par exemple, à l'objet BDXTransfer. Si un code d'erreur autre que kStatus_Success est renvoyé, le transfert est considéré comme rejeté et le protocole gère l'envoi d'un message de rejet avec ce code.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
RejectHandler
void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
Appelée si l'un des messages Init précédents a été rejeté par la destination.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
SendAcceptHandler
WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
Rappel invoqué lorsqu'un élément SendInit précédemment envoyé est accepté par la destination.
Vous pouvez profiter de cette opportunité pour ouvrir des fichiers ou allouer des ressources pour le transfert si vous ne l'avez pas déjà fait lors de son lancement.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
SendInitHandler
uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
Rappel invoqué lors de la réception d'un message SendInit.
Son rôle est de déterminer si vous souhaitez accepter SendInit et, le cas échéant, de définir aXfer->mIsAccepted=true afin que le protocole envoie un message d'acceptation à l'initiateur. L'objet BDXTransfer est lancé avec les paramètres par défaut. C'est l'endroit idéal pour associer n'importe quel état spécifique à une application (poignées de fichiers ouverts, etc.) à aXfer->mAppState. Vous devez également associer les gestionnaires nécessaires pour, par exemple, la gestion des blocs à l'objet BDXTransfer. Si un code d'erreur autre que WEAVE_NO_ERROR est renvoyé, le transfert est considéré comme rejeté et le protocole gère l'envoi d'un message de rejet avec ce code.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
Gérez les cas où le transfert est terminé.
Détails | |||
---|---|---|---|
Paramètres |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
Traitez les messages TransferError reçus ou envoyés par BDX.
Remarque:Le transfert BDX est supposé être potentiellement récupérable (peut-être temporaire, par exemple à partir de PacketBuffers pour le moment). L'option d'appel de Shutdown() est donc laissée au programmeur de l'application et aux rappels qu'il définit. À FAIRE: vérifier et rapprocher la langue du document BDX, qui indique : "[Une erreur de transfert] peut être envoyée à tout moment par l'une ou l'autre des parties pour prématurément mettre fin au transfert groupé de données. »
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
Fonctions
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag renvoie l'indicateur approprié pour le champ RequestAck en fonction de la connexion du contexte de l'échange (pas de confirmation de requête pour TCP) et de la compatibilité au moment de la compilation pour WRMP.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
0 ou kSendFlag_RequestAck
|