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

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

Le message SendInit permet de lancer un échange lorsque l'expéditeur en 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 toutes les métadonnées de son choix.

Attributs publics

mAsynchronousModeSupported
bool
"True" si le mode asynchrone est accepté.
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érer, 0 pour une durée indéterminée.
mMaxBlockSize
uint16_t
Taille de bloc maximale proposée à utiliser pour le transfert.
mMetaData
Métadonnées TLV facultatives.
mMetaDataAppState
void *
État de l'application facultatif 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 récepteur.
mSenderDriveSupported
bool
"True" si nous pouvons prendre en charge le lecteur expéditeur.
mStartOffset
uint64_t
Décalage de début proposé pour les données.
mStartOffsetPresent
bool
"True" si le champ de décalage de début est présent.
mVersion
uint8_t
Version du protocole BDX que nous avons choisie.
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)
Initialisez un SendInit "large".
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Initialiser un SendInit "non large" (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)
Initialisez un SendInit "large".
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 un SendInit "non large" (décalage de début de 32 bits, longueur de 32 bits)
operator==(const SendInit &) const
bool
Comparaison d'égalité entre les messages SendInit
pack(PacketBuffer *aBuffer)
Empaqueter un message d'initialisation d'envoi dans un PaquetBuffer
packedLength(void)
uint16_t
Renvoie la longueur empaquetée de ce message d'initialisation d'envoi.

Fonctions statiques publiques

parse(PacketBuffer *aBuffer, SendInit & aRequest)
Analyser les données d'un PaquetBuffer 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 toutes les métadonnées de son choix.

Le client est libre de fournir un TLV pré-codé (plus rapide), un encodage à la volée (utilise moins de mémoire), un encodage différé (qui est légèrement plus rapide au démarrage), etc.

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

Détails
Paramètres
[in] aBuffer
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 de retour
WEAVE_ERROR
Toute erreur rencontrée.

Attributs publics

mAsynchronousModeSupported

bool mAsynchronousModeSupported

"True" si le mode asynchrone est accepté.

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érer, 0 pour une durée indéterminée.

mMaxBlockSize

uint16_t mMaxBlockSize

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

mMetaData

ReferencedTLVData mMetaData

Métadonnées TLV facultatives.

mMetaDataAppState

void * mMetaDataAppState

État de l'application facultatif 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 récepteur.

mSenderDriveSupported

bool mSenderDriveSupported

"True" si nous pouvons prendre en charge le lecteur expéditeur.

mStartOffset

uint64_t mStartOffset

Décalage de début proposé pour les 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 que nous avons choisie.

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
)

Initialisez un SendInit "large".

Détails
Paramètres
[in] aVersion
Version de BDX que nous utilisons
[in] aSenderDrive
"True" si l'expéditeur est en voiture
[in] aReceiverDrive
"True" si le récepteur est en voiture
[in] aAsynchMode
"True" si l'appareil est compatible avec le mode asynchrone
[in] aMaxBlockSize
Proposition de taille de bloc maximale pour cette correspondance
[in] aStartOffset
Décalage de début dans le fichier, à partir duquel nous devons commencer
[in] aLength
Longueur du fichier à transférer : 0 signifie qu'il a une longueur illimitée.
[in] aFileDesignator
Une chaîne qui identifie les données à transférer
[in] aMetaData
(Facultatif) Données supplémentaires au format TLV
Renvoie
WEAVE_NO_ERROR en cas de réussite

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 un SendInit "non large" (décalage de début de 32 bits, longueur de 32 bits)

Détails
Paramètres
[in] aVersion
Version de BDX que nous utilisons
[in] aSenderDrive
"True" si l'expéditeur est en voiture
[in] aReceiverDrive
"True" si le récepteur est en voiture
[in] aAsynchMode
"True" si l'appareil est compatible avec le mode asynchrone
[in] aMaxBlockSize
Proposition de taille de bloc maximale pour cette correspondance
[in] aStartOffset
Décalage de début dans le fichier, à partir duquel nous devons commencer
[in] aLength
Longueur du fichier à transférer : 0 signifie qu'il a une longueur illimitée.
[in] aFileDesignator
Une chaîne qui identifie les données à transférer
[in] aMetaData
(Facultatif) Données supplémentaires au format TLV
Renvoie
WEAVE_NO_ERROR en cas de réussite

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
)

Initialisez un SendInit "large".

Détails
Paramètres
[in] aVersion
Version de BDX que nous utilisons
[in] aSenderDrive
"True" si l'expéditeur est en voiture
[in] aReceiverDrive
"True" si le récepteur est en voiture
[in] aAsynchMode
"True" si l'appareil est compatible avec le mode asynchrone
[in] aMaxBlockSize
Proposition de taille de bloc maximale pour cette correspondance
[in] aStartOffset
Décalage de début dans le fichier, à partir duquel nous devons commencer
[in] aLength
Longueur du fichier à transférer : 0 signifie qu'il a une longueur illimitée.
[in] aFileDesignator
Une 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 en cas de réussite

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 un SendInit "non large" (décalage de début de 32 bits, longueur de 32 bits)

Détails
Paramètres
[in] aVersion
Version de BDX que nous utilisons
[in] aSenderDrive
"True" si l'expéditeur est en voiture
[in] aReceiverDrive
"True" si le récepteur est en voiture
[in] aAsynchMode
"True" si l'appareil est compatible avec le mode asynchrone
[in] aMaxBlockSize
Proposition de taille de bloc maximale pour cette correspondance
[in] aStartOffset
Décalage de début dans le fichier, à partir duquel nous devons commencer
[in] aLength
Longueur du fichier à transférer : 0 signifie qu'il a une longueur illimitée.
[in] aFileDesignator
Une 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) Un contexte à renvoyer à la fonction de rappel
Renvoie
WEAVE_NO_ERROR en cas de réussite

opérateur==

bool operator==(
  const SendInit &
) const 

Comparaison d'égalité entre les messages SendInit

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

pack

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Empaqueter un message d'initialisation d'envoi dans un PaquetBuffer

Détails
Paramètres
[out] aBuffer
PaquetBuffer dans lequel empaqueter le message SendInit
Valeurs de retour
WEAVE_NO_ERROR
Si l'opération réussit
WEAVE_ERROR_BUFFER_TOO_SMALL
Si la mémoire tampon est trop petite

packedLength

uint16_t packedLength(
  void
)

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

Détails
Renvoie
longueur du message une fois empaqueté

Fonctions statiques publiques

parse

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

Analyser les données d'un PaquetBuffer dans un format de message SendInit ;

Détails
Paramètres
[in] aBuffer
Pointeur pointant vers un PaquetBuffer contenant les données à analyser
[out] aRequest
Pointeur visant un objet SendInit où stocker les résultats
Valeurs de retour
WEAVE_NO_ERROR
Si l'opération réussit
WEAVE_ERROR_BUFFER_TOO_SMALL
Si la mémoire tampon est trop petite