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

Resumen

remotas

HandleConnectionClosed(ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
Controlador para cuando se cierra la conexión en sí.
HandleKeyError(ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
Controlador para cuando ya no se puede usar la clave utilizada para encriptar y autenticar mensajes de Weave.
HandleResponse(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
El controlador principal de los mensajes que llegan al intercambio de 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
Controlador para cuando se agota el tiempo de espera de una respuesta.
HandleResponseTransmit(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleSendError(ExchangeContext *anEc, WEAVE_ERROR aSendErr, void *aMsgCtxt)
void
Controlador para cuando no se reconoció el mensaje WRMP que enviamos.
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)
Esta función envía un mensaje BlockAckV1 para la BDXTransfer determinada.
SendBlockEOFAckV1(BDXTransfer & aXfer)
Esta función envía un mensaje BlockEOFAckV1 para la BDXTransfer determinada.
SendBlockQuery(BDXTransfer & aXfer)
SendBlockQueryV1(BDXTransfer & aXfer)
Esta función envía un mensaje BlockQueryV1 para la BDXTransfer determinada.
SendNextBlock(BDXTransfer & aXfer)
SendNextBlockV1(BDXTransfer & aXfer)
Esta función envía la siguiente BlockSendV1 que se recupera con una llamada al GetBlockHandler de BDXTransfer.
SendStatusReport(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void
Envía un mensaje de informe de estado con el ID de perfil asociado, el código de estado y el contexto de intercambio.
SendTransferError(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void

remotas

HandleConnectionClosed

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

Controlador para cuando se cierra la conexión en sí.

Llama al controlador de errores de la transferencia asociado y la cierra.

Detalles
Parámetros
[in] anEc
Contexto de intercambio que detectó una conexión cerrada. Podemos encontrar la BDXTransfer asociada de este
[in] aCon
La conexión de Weave, sin usar en la función real
[in] aConErr
Error asociado con el cierre de la conexión

HandleKeyError

void HandleKeyError(
  ExchangeContext *anEc,
  WEAVE_ERROR aKeyErr
)

Controlador para cuando ya no se puede usar la clave utilizada para encriptar y autenticar mensajes de Weave.

Detalles
Parámetros
[in] anEc
Contexto de intercambio que detectó un error de clave. Podemos encontrar la BDXTransfer asociada de este
[in] aKeyErr
El error asociado con la clave ya no se puede usar

HandleResponse

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

El controlador principal de los mensajes que llegan al intercambio de BDX.

En esencia, actúa como un router para extraer la información y los datos del encabezado BDX adecuados y envía el controlador apropiado a fin de que actúe sobre este objeto.

Detalles
Parámetros
[in] anEc
El contexto de intercambio en caso de que lo necesitemos
[in] aPktInfo
No se usa, pero debe coincidir con el prototipo de la función
[in] aWeaveMsgInfo
Información de mensaje de Weave para el mensaje
[in] aProfileId
ID del perfil en el que se define el mensaje
[in] aMessageType
El tipo de mensaje de ese perfil
[in] aPacketBuffer
El mensaje empaquetado en sí

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
)

Controlador para cuando se agota el tiempo de espera de una respuesta.

Cierra la transferencia que agotó el tiempo de espera y llama al controlador de errores de esa transferencia.

Detalles
Parámetros
[in] anEc
Contexto de intercambio desde el que podemos encontrar 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
)

Controlador para cuando no se reconoció el mensaje WRMP que enviamos.

Detalles
Parámetros
[in] anEc
Contexto de intercambio que tenía un mensaje no confirmado. Podemos encontrar la BDXTransfer asociada de este
[in] aSendErr
Error asociado con la falla de envío del mensaje
[in] aMsgCtxt
Un contexto de mensaje arbitrario asociado con el mensaje no confirmado.

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
)

Esta función envía un mensaje BlockAckV1 para la BDXTransfer determinada.

El número de bloque confirmado es igual a aXfer.mBlockCounter - 1, ya que esta función solo se puede llamar después de que el estado de transferencia avanzó al siguiente contador.

Detalles
Parámetros
[in] aXfer
La BDXTransfer para la que enviaremos un BlockAck.
Valores que se muestran
WEAVE_NO_ERROR
Si el mensaje se envió correctamente.
WEAVE_ERROR_NO_MEMORY
Si no hay PacketBuffers disponibles.

SendBlockEOFAckV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

Esta función envía un mensaje BlockEOFAckV1 para la BDXTransfer determinada.

El número de bloque confirmado es igual a aXfer.mBlockCounter.

Detalles
Parámetros
[in] aXfer
La BDXTransfer para la que enviaremos un BlockEOFAck.
Valores que se muestran
WEAVE_NO_ERROR
Si el mensaje se envió correctamente.
WEAVE_ERROR_NO_MEMORY
Si no hay PacketBuffers disponibles.

SendBlockQuery

WEAVE_ERROR SendBlockQuery(
  BDXTransfer & aXfer
)

SendBlockQueryV1

WEAVE_ERROR SendBlockQueryV1(
  BDXTransfer & aXfer
)

Esta función envía un mensaje BlockQueryV1 para la BDXTransfer determinada.

El número de bloque solicitado es igual a aXfer.mBlockCounter.

Detalles
Parámetros
[in] aXfer
La BDXTransfer para la que enviaremos una BlockQuery
Valores que se muestran
WEAVE_NO_ERROR
Si el mensaje se envió correctamente.
WEAVE_ERROR_NO_MEMORY
Si no hay PacketBuffers disponibles.

SendNextBlock

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

SendNextBlockV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

Esta función envía la siguiente BlockSendV1 que se recupera con una llamada al GetBlockHandler de BDXTransfer.

Detalles
Parámetros
[in] aXfer
El elemento BDXTransfer cuyo GetBlockHandler se llama para obtener el siguiente bloque antes de enviarlo mediante el ExchangeContext asociado
Valores que se muestran
WEAVE_ERROR_INCORRECT_STATE
Si GetBlockHandler es NULL

SendStatusReport

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

Envía un mensaje de informe de estado con el ID de perfil asociado, el código de estado y el contexto de intercambio.

Detalles
Parámetros
[in] anEc
El contexto de intercambio al que deberíamos enviar el mensaje de informe de estado
[in] aProfileId
ID del perfil
[in] aStatusCode
Código asociado con el error de transferencia

SendTransferError

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