nl::Weave::Profiles::BDX_Development::SendInit

#include <src/lib/profiles/bulk-data-transfer/Development/BDXMessages.h>

Le message SendInit permet de démarrer un échange lorsque l'expéditeur est l'initiateur.

Résumé

Héritage

Sous-classes directes connues: nl::Weave::Profiles::BDX_Development::ReceiveInit

Constructeurs et destructeurs

SendInit(void)

Types publics

MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState) typedef
MetaDataTLVWriteCallback permet à un client de fournir à SendInit les métadonnées de son choix.

Attributs publics

mAsynchronousModeSupported
bool
"True" si nous pouvons prendre en charge le mode asynchrone.
mDefiniteLength
bool
"True" si le champ de longueur est présent.
mFileDesignator
Chaîne contenant des informations pré-négociées.
mLength
uint64_t
Longueur proposée pour les données transférées, 0 pour une durée indéterminée.
mMaxBlockSize
uint16_t
Taille maximale de bloc proposée à utiliser pour le transfert.
mMetaData
Métadonnées TLV facultatives.
mMetaDataAppState
void *
État facultatif de l'application pour les métadonnées TLV.
mMetaDataWriteCallback
Fonction facultative permettant d'écrire des métadonnées TLV.
mReceiverDriveSupported
bool
"True" si nous pouvons prendre en charge le lecteur du récepteur.
mSenderDriveSupported
bool
"True" si nous pouvons accepter le Drive de l'expéditeur.
mStartOffset
uint64_t
Proposition de décalage de début des données.
mStartOffsetPresent
bool
"True" si le champ de décalage de début est présent.
mVersion
uint8_t
Version du protocole BDX sur laquelle nous avons décidé.
mWideRange
bool
"True" si le décalage et la longueur sont de 64 bits.

Fonctions publiques

init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Initialiser une requête "wide" SendInit.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Initialiser une valeur "non-wide" SendInit (décalage de début de 32 bits, longueur de 32 bits)
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
Initialiser une requête "wide" SendInit.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
Initialiser une valeur "non-wide" SendInit (décalage de début de 32 bits, longueur de 32 bits)
operator==(const SendInit &) const
bool
Comparaison d'égalité entre des messages SendInit.
pack(PacketBuffer *aBuffer)
Empaqueter un message d'initialisation d'envoi dans un PacketBuffer.
packedLength(void)
uint16_t
Renvoie la longueur empaquetée de ce message d'envoi d'initialisation.

Fonctions statiques publiques

parse(PacketBuffer *aBuffer, SendInit & aRequest)
Analyser les données d'un PacketBuffer dans un format de message SendInit.

Types publics

MetaDataTLVWriteCallback

WEAVE_ERROR(* MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState)

MetaDataTLVWriteCallback permet à un client de fournir à SendInit les métadonnées de son choix.

Le client est libre de fournir des valeurs TLV précodées (plus rapides), d'encoder à la volée (qui utilise moins de mémoire), d'effectuer un encodage différé (un peu plus rapide au démarrage), etc. selon ses besoins.

Dans tous les cas, on part du principe que les données produites par le rappel sont constantes pour une valeur SendInit donnée, c'est-à-dire qu'elles ne changent pas, quel que soit le moment où elles sont appelées. En effet, le rappel est également utilisé pour calculer la longueur de ces TLV écrites, qui peuvent être demandées à tout moment.

Détails
Paramètres
[in] aBuffer
Le tampon de destination, dans lequel certains TLV peuvent être écrits
[in] aBufferLength
Longueur (en octets) du tampon de destination
[in,out] aNumBytesWritten
Nombre d'octets écrits dans le tampon de destination
[in] aAppState
État de l'application fournie par l'utilisateur
Valeurs renvoyées
WEAVE_ERROR
Toute erreur s'est produite.

Attributs publics

mAsynchronousModeSupported

bool mAsynchronousModeSupported

"True" si nous pouvons prendre en charge le mode asynchrone.

mDefiniteLength

bool mDefiniteLength

"True" si le champ de longueur est présent.

mFileDesignator

ReferencedString mFileDesignator

Chaîne contenant des informations pré-négociées.

mLength

uint64_t mLength

Longueur proposée pour les données transférées, 0 pour une durée indéterminée.

mMaxBlockSize

uint16_t mMaxBlockSize

Taille maximale de bloc proposée à utiliser pour le transfert.

mMetaData

ReferencedTLVData mMetaData

Métadonnées TLV facultatives.

mMetaDataAppState

void * mMetaDataAppState

État facultatif de l'application pour les métadonnées TLV.

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

Fonction facultative permettant d'écrire des métadonnées TLV.

mReceiverDriveSupported

bool mReceiverDriveSupported

"True" si nous pouvons prendre en charge le lecteur du récepteur.

mSenderDriveSupported

bool mSenderDriveSupported

"True" si nous pouvons accepter le Drive de l'expéditeur.

mStartOffset

uint64_t mStartOffset

Proposition de décalage de début des données.

mStartOffsetPresent

bool mStartOffsetPresent

"True" si le champ de décalage de début est présent.

mVersion

uint8_t mVersion

Version du protocole BDX sur laquelle nous avons décidé.

mWideRange

bool mWideRange

"True" si le décalage et la longueur sont de 64 bits.

Fonctions publiques

SendInit

 SendInit(
  void
)

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint64_t aStartOffset,
  uint64_t aLength,
  ReferencedString & aFileDesignator,
  ReferencedTLVData *aMetaData
)

Initialiser une requête "wide" SendInit.

Détails
Paramètres
[in] aVersion
Version de BDX utilisée
[in] aSenderDrive
"True" si l'expéditeur conduit
[in] aReceiverDrive
"True" si le récepteur est en train de conduire
[in] aAsynchMode
"True" si l'appareil est compatible avec le mode asynchrone
[in] aMaxBlockSize
Proposition de taille de bloc maximale pour ce transfert
[in] aStartOffset
Décalage de début dans le fichier à partir duquel nous devons commencer
[in] aLength
Longueur du fichier à transférer : la valeur 0 indique une longueur illimitée.
[in] aFileDesignator
Chaîne qui identifie les données à transférer
[in] aMetaData
(Facultatif) Données supplémentaires au format TLV
Renvoie
WEAVE_NO_ERROR si l'opération réussit

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint32_t aStartOffset,
  uint32_t aLength,
  ReferencedString & aFileDesignator,
  ReferencedTLVData *aMetaData
)

Initialiser une valeur "non-wide" SendInit (décalage de début de 32 bits, longueur de 32 bits)

Détails
Paramètres
[in] aVersion
Version de BDX utilisée
[in] aSenderDrive
"True" si l'expéditeur conduit
[in] aReceiverDrive
"True" si le récepteur est en train de conduire
[in] aAsynchMode
"True" si l'appareil est compatible avec le mode asynchrone
[in] aMaxBlockSize
Proposition de taille de bloc maximale pour ce transfert
[in] aStartOffset
Décalage de début dans le fichier à partir duquel nous devons commencer
[in] aLength
Longueur du fichier à transférer : la valeur 0 indique une longueur illimitée.
[in] aFileDesignator
Chaîne qui identifie les données à transférer
[in] aMetaData
(Facultatif) Données supplémentaires au format TLV
Renvoie
WEAVE_NO_ERROR si l'opération réussit

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint64_t aStartOffset,
  uint64_t aLength,
  ReferencedString & aFileDesignator,
  MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

Initialiser une requête "wide" SendInit.

Détails
Paramètres
[in] aVersion
Version de BDX utilisée
[in] aSenderDrive
"True" si l'expéditeur conduit
[in] aReceiverDrive
"True" si le récepteur est en train de conduire
[in] aAsynchMode
"True" si l'appareil est compatible avec le mode asynchrone
[in] aMaxBlockSize
Proposition de taille de bloc maximale pour ce transfert
[in] aStartOffset
Décalage de début dans le fichier à partir duquel nous devons commencer
[in] aLength
Longueur du fichier à transférer : la valeur 0 indique une longueur illimitée.
[in] aFileDesignator
Chaîne qui identifie les données à transférer
[in] aMetaDataWriteCallback
(Facultatif) Une fonction permettant d'écrire des données supplémentaires au format TLV
[in] aMetaDataAppState
Contexte facultatif à transmettre à aMetaDataWriteCallback
Renvoie
WEAVE_NO_ERROR si l'opération réussit

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint32_t aStartOffset,
  uint32_t aLength,
  ReferencedString & aFileDesignator,
  MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

Initialiser une valeur "non-wide" SendInit (décalage de début de 32 bits, longueur de 32 bits)

Détails
Paramètres
[in] aVersion
Version de BDX utilisée
[in] aSenderDrive
"True" si l'expéditeur conduit
[in] aReceiverDrive
"True" si le récepteur est en train de conduire
[in] aAsynchMode
"True" si l'appareil est compatible avec le mode asynchrone
[in] aMaxBlockSize
Proposition de taille de bloc maximale pour ce transfert
[in] aStartOffset
Décalage de début dans le fichier à partir duquel nous devons commencer
[in] aLength
Longueur du fichier à transférer : la valeur 0 indique une longueur illimitée.
[in] aFileDesignator
Chaîne qui identifie les données à transférer
[in] aMetaDataWriteCallback
(Facultatif) Une fonction permettant d'écrire des données supplémentaires au format TLV
[in] aMetaDataAppState
(Facultatif) Contexte à renvoyer à la fonction de rappel
Renvoie
WEAVE_NO_ERROR si l'opération réussit

opérateur==

bool operator==(
  const SendInit &
) const 

Comparaison d'égalité entre des messages SendInit.

Détails
Paramètres
[in] another
Un autre message SendInit à comparer à celui-ci
Renvoie
est défini sur true s'ils ont tous les mêmes champs.

pack

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Empaqueter un message d'initialisation d'envoi dans un PacketBuffer.

Détails
Paramètres
[out] aBuffer
Un PackageBuffer dans lequel empaqueter le message SendInit
Valeurs renvoyées
WEAVE_NO_ERROR
Si l'opération réussit
WEAVE_ERROR_BUFFER_TOO_SMALL
Si le tampon est trop petit

packedLength

uint16_t packedLength(
  void
)

Renvoie la longueur empaquetée de ce message d'envoi d'initialisation.

Détails
Renvoie
longueur du message lors de son empaquetage

Fonctions statiques publiques

parse

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

Analyser les données d'un PacketBuffer dans un format de message SendInit.

Détails
Paramètres
[in] aBuffer
Pointeur vers un PacketBuffer contenant les données que nous souhaitons analyser
[out] aRequest
Pointeur vers un objet SendInit où stocker les résultats.
Valeurs renvoyées
WEAVE_NO_ERROR
Si l'opération réussit
WEAVE_ERROR_BUFFER_TOO_SMALL
Si le tampon est trop petit