nl::Weave::Profiles::BDX_Development::BdxProtocol

Résumé

Fonctions

HandleConnectionClosed(ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
Gestionnaire lorsque la connexion est fermée.
HandleKeyError(ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
Gestionnaire lorsque la clé utilisée pour chiffrer et authentifier les messages Weave n'est plus utilisable.
HandleResponse(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
Gestionnaire principal des messages arrivant sur l'échange BDX.
HandleResponseNotAccepted(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleResponseReceive(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleResponseTimeout(ExchangeContext *anEc)
void
Gestionnaire pour le délai d'attente d'une réponse.
HandleResponseTransmit(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleSendError(ExchangeContext *anEc, WEAVE_ERROR aSendErr, void *aMsgCtxt)
void
Gestionnaire lorsque le message WRMP que nous avons envoyé n'a pas été confirmé.
InitBdxReceive(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
SendBadBlockCounterStatusReport(BDXTransfer & aXfer)
SendBlockAckV1(BDXTransfer & aXfer)
Cette fonction envoie un message BlockAckV1 pour le BDXTransfer donné.
SendBlockEOFAckV1(BDXTransfer & aXfer)
Cette fonction envoie un message BlockEOFAckV1 pour le BDXTransfer donné.
SendBlockQuery(BDXTransfer & aXfer)
SendBlockQueryV1(BDXTransfer & aXfer)
Cette fonction envoie un message BlockQueryV1 pour le BDXTransfer donné.
SendNextBlock(BDXTransfer & aXfer)
SendNextBlockV1(BDXTransfer & aXfer)
Cette fonction envoie la prochaine BlockSendV1 récupérée en appelant la méthode GetBlockHandler de BDXTransfer.
SendStatusReport(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void
Envoie un message de rapport d'état contenant l'ID de profil, le code d'état et le contexte de l'échange associés.
SendTransferError(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void

Fonctions

HandleConnectionClosed

void HandleConnectionClosed(
  ExchangeContext *anEc,
  WeaveConnection *aCon,
  WEAVE_ERROR aConErr
)

Gestionnaire lorsque la connexion est fermée.

Appelle le gestionnaire d'erreurs du transfert associé et arrête le transfert.

Détails
Paramètres
[in] anEc
Contexte de l'échange qui a détecté la fermeture d'une connexion. Le fichier BDXTransfer associé est disponible dans
[in] aCon
Connexion Weave, inutilisée dans la fonction réelle
[in] aConErr
Erreur associée à la fermeture de la connexion

HandleKeyError

void HandleKeyError(
  ExchangeContext *anEc,
  WEAVE_ERROR aKeyErr
)

Gestionnaire lorsque la clé utilisée pour chiffrer et authentifier les messages Weave n'est plus utilisable.

Détails
Paramètres
[in] anEc
Contexte de la place de marché qui a détecté une erreur clé. Nous pouvons trouver le fichier BDXTransfer associé à partir de ce
[in] aKeyErr
Erreur associée à la clé qui n'est plus utilisable

HandleResponse

void HandleResponse(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

Gestionnaire principal des messages arrivant sur l'échange BDX.

Il agit essentiellement comme un routeur pour extraire les informations et les données d'en-tête BDX appropriées, en envoyant le gestionnaire approprié pour agir sur cet objet.

Détails
Paramètres
[in] anEc
Le contexte de l'échange au cas où nous en aurons besoin
[in] aPktInfo
Non utilisé, mais doit correspondre au prototype de la fonction
[in] aWeaveMsgInfo
Informations sur le message Weave pour le message
[in] aProfileId
ID du profil dans lequel le message est défini
[in] aMessageType
Le type de message de ce profil
[in] aPacketBuffer
Le message empaqueté lui-même

HandleResponseNotAccepted

WEAVE_ERROR HandleResponseNotAccepted(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleResponseReceive

WEAVE_ERROR HandleResponseReceive(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleResponseTimeout

void HandleResponseTimeout(
  ExchangeContext *anEc
)

Gestionnaire pour le délai d'attente d'une réponse.

Arrête le transfert qui a expiré et appelle le gestionnaire d'erreurs de ce transfert.

Détails
Paramètres
[in] anEc
Le contexte de la place de marché dans lequel se trouve BDXTransfer

HandleResponseTransmit

WEAVE_ERROR HandleResponseTransmit(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleSendError

void HandleSendError(
  ExchangeContext *anEc,
  WEAVE_ERROR aSendErr,
  void *aMsgCtxt
)

Gestionnaire lorsque le message WRMP que nous avons envoyé n'a pas été confirmé.

Détails
Paramètres
[in] anEc
Contexte Exchange comportant un message non confirmé. Nous pouvons rechercher le transfert BDXTransfer associé à partir de ce
[in] aSendErr
Erreur associée à l'échec de l'envoi du message
[in] aMsgCtxt
Contexte de message arbitraire associé au message non confirmé.

InitBdxReceive

WEAVE_ERROR InitBdxReceive(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

SendBadBlockCounterStatusReport

WEAVE_ERROR SendBadBlockCounterStatusReport(
  BDXTransfer & aXfer
)

SendBlockAckV1

WEAVE_ERROR SendBlockAckV1(
  BDXTransfer & aXfer
)

Cette fonction envoie un message BlockAckV1 pour le BDXTransfer donné.

Le numéro de bloc confirmé est égal à aXfer.mBlockCounter - 1, car cette fonction ne peut être appelée qu'une fois l'état de transfert avancé au compteur suivant.

Détails
Paramètres
[in] aXfer
Le BDXTransfer pour lequel nous envoyons un BlockAck.
Valeurs renvoyées
WEAVE_NO_ERROR
Si le message a bien été envoyé.
WEAVE_ERROR_NO_MEMORY
Si aucun PacketBuffers n'est disponible.

SendBlockEOFAckV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

Cette fonction envoie un message BlockEOFAckV1 pour le BDXTransfer donné.

Le numéro de bloc confirmé est égal à aXfer.mBlockCounter.

Détails
Paramètres
[in] aXfer
Le BDXTransfer pour lequel nous envoyons un BlockEOFAck.
Valeurs renvoyées
WEAVE_NO_ERROR
Si le message a bien été envoyé.
WEAVE_ERROR_NO_MEMORY
Si aucun PacketBuffers n'est disponible.

SendBlockQuery

WEAVE_ERROR SendBlockQuery(
  BDXTransfer & aXfer
)

SendBlockQueryV1

WEAVE_ERROR SendBlockQueryV1(
  BDXTransfer & aXfer
)

Cette fonction envoie un message BlockQueryV1 pour le BDXTransfer donné.

Le numéro de bloc demandé est égal à aXfer.mBlockCounter.

Détails
Paramètres
[in] aXfer
Le BDXTransfer pour lequel nous envoyons une BlockQuery.
Valeurs renvoyées
WEAVE_NO_ERROR
Si le message a bien été envoyé.
WEAVE_ERROR_NO_MEMORY
Si aucun PacketBuffers n'est disponible.

SendNextBlock

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

SendNextBlockV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

Cette fonction envoie la prochaine BlockSendV1 récupérée en appelant la méthode GetBlockHandler de BDXTransfer.

Détails
Paramètres
[in] aXfer
BDXTransfer, dont GetBlockHandler est appelé pour obtenir le bloc suivant avant de l'envoyer à l'aide du ExchangeContext associé.
Valeurs renvoyées
WEAVE_ERROR_INCORRECT_STATE
Si GetBlockHandler est NULL

SendStatusReport

void SendStatusReport(
  ExchangeContext *anEc,
  uint32_t aProfileId,
  uint16_t aStatusCode
)

Envoie un message de rapport d'état contenant l'ID de profil, le code d'état et le contexte de l'échange associés.

Détails
Paramètres
[in] anEc
Contexte de l'échange auquel nous devons envoyer le message du rapport d'état
[in] aProfileId
ID du profil
[in] aStatusCode
Code associé à l'erreur de transfert

SendTransferError

void SendTransferError(
  ExchangeContext *anEc,
  uint32_t aProfileId,
  uint16_t aStatusCode
)