нл:: Переплетение:: Профили:: BDX_Development:: BdxПротокол

Краткое содержание

Функции

HandleConnectionClosed ( ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
Обработчик закрытия самого соединения.
HandleKeyError ( ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
Обработчик ситуации, когда ключ, используемый для шифрования и аутентификации сообщений Weave, больше не может использоваться.
HandleResponse ( ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
Основной обработчик сообщений, поступающих на биржу 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
Обработчик тайм-аута ожидания ответа.
HandleResponseTransmit ( BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleSendError ( ExchangeContext *anEc, WEAVE_ERROR aSendErr, void *aMsgCtxt)
void
Обработчик случаев, когда отправленное нами сообщение WRMP не было подтверждено.
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)
Эта функция отправляет сообщение BlockAckV1 для данного BDXTransfer .
SendBlockEOFAckV1 ( BDXTransfer & aXfer)
Эта функция отправляет сообщение BlockEOFackV1 для данного BDXTransfer .
SendBlockQuery ( BDXTransfer & aXfer)
SendBlockQueryV1 ( BDXTransfer & aXfer)
Эта функция отправляет сообщение BlockQueryV1 для данного BDXTransfer .
SendNextBlock ( BDXTransfer & aXfer)
SendNextBlockV1 ( BDXTransfer & aXfer)
Эта функция отправляет следующий BlockSendV1 , полученный путем вызова GetBlockHandler BDXTransfer .
SendStatusReport ( ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void
Отправляет сообщение отчета о состоянии со связанным идентификатором профиля, кодом состояния и контекстом обмена.
SendTransferError ( ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void

Функции

РучкаСоединениеЗакрыто

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

Обработчик закрытия самого соединения.

Вызывает обработчик ошибок связанной передачи и завершает передачу.

Подробности
Параметры
[in] anEc
Контекст обмена, обнаруживший закрытое соединение. Мы можем найти связанный BDXTransfer из этого
[in] aCon
Соединение Weave, не используемое в реальной функции.
[in] aConErr
Ошибка, связанная с закрытием соединения

HandleKeyError

void HandleKeyError(
  ExchangeContext *anEc,
  WEAVE_ERROR aKeyErr
)

Обработчик ситуации, когда ключ, используемый для шифрования и аутентификации сообщений Weave, больше не может использоваться.

Подробности
Параметры
[in] anEc
Контекст обмена, обнаруживший ключевую ошибку. Мы можем найти связанный BDXTransfer из этого
[in] aKeyErr
Ошибка, связанная с тем, что ключ больше не может быть использован.

HandleResponse

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

Основной обработчик сообщений, поступающих на биржу BDX.

По сути, он действует как маршрутизатор для извлечения соответствующей информации и данных заголовка BDX, отправляя соответствующий обработчик для воздействия на этот объект.

Подробности
Параметры
[in] anEc
Контекст обмена на случай, если он нам понадобится
[in] aPktInfo
Не используется, но должен соответствовать прототипу функции.
[in] aWeaveMsgInfo
Weave Message Информация для сообщения
[in] aProfileId
Идентификатор профиля, под которым определено сообщение
[in] aMessageType
Тип сообщения этого профиля
[in] aPacketBuffer
Само упакованное сообщение

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
)

Обработчик тайм-аута ожидания ответа.

Завершает передачу, время ожидания которой истекло, и вызывает обработчик ошибок этой передачи.

Подробности
Параметры
[in] anEc
Контекст обмена, из которого мы можем найти 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
)

Обработчик случаев, когда отправленное нами сообщение WRMP не было подтверждено.

Подробности
Параметры
[in] anEc
Контекст обмена, в котором было неподтвержденное сообщение. Мы можем найти связанный BDXTransfer из этого
[in] aSendErr
Ошибка, связанная с ошибкой отправки сообщения
[in] aMsgCtxt
Произвольный контекст сообщения, связанный с неподтвержденным сообщением.

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
)

ОтправитьBadBlockCounterStatusReport

WEAVE_ERROR SendBadBlockCounterStatusReport(
  BDXTransfer & aXfer
)

ОтправитьБлокАккВ1

WEAVE_ERROR SendBlockAckV1(
  BDXTransfer & aXfer
)

Эта функция отправляет сообщение BlockAckV1 для данного BDXTransfer .

Подтвержденный номер блока равен aXfer.mBlockCounter - 1, поскольку эту функцию можно вызвать только после того, как состояние передачи перейдет к следующему счетчику.

Подробности
Параметры
[in] aXfer
BDXTransfer, для которого мы отправляем BlockAck .
Возвращаемые значения
WEAVE_NO_ERROR
Если мы успешно отправили сообщение.
WEAVE_ERROR_NO_MEMORY
Если нет доступных PacketBuffers.

ОтправитьБлокEOFackV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

Эта функция отправляет сообщение BlockEOFackV1 для данного BDXTransfer .

Подтвержденный номер блока равен aXfer.mBlockCounter.

Подробности
Параметры
[in] aXfer
BDXTransfer, для которого мы отправляем BlockEOFack .
Возвращаемые значения
WEAVE_NO_ERROR
Если мы успешно отправили сообщение.
WEAVE_ERROR_NO_MEMORY
Если нет доступных PacketBuffers.

Отправитьблоккуери

WEAVE_ERROR SendBlockQuery(
  BDXTransfer & aXfer
)

Отправитьблоккуеверв1

WEAVE_ERROR SendBlockQueryV1(
  BDXTransfer & aXfer
)

Эта функция отправляет сообщение BlockQueryV1 для данного BDXTransfer .

Запрошенный номер блока равен aXfer.mBlockCounter.

Подробности
Параметры
[in] aXfer
BDXTransfer, для которого мы отправляем BlockQuery .
Возвращаемые значения
WEAVE_NO_ERROR
Если мы успешно отправили сообщение.
WEAVE_ERROR_NO_MEMORY
Если нет доступных PacketBuffers.

ОтправитьСледующийБлок

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

ОтправитьСледующийБлокV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

Эта функция отправляет следующий BlockSendV1 , полученный путем вызова GetBlockHandler BDXTransfer .

Подробности
Параметры
[in] aXfer
BDXTransfer , чей GetBlockHandler вызывается для получения следующего блока перед его отправкой с использованием связанного ExchangeContext.
Возвращаемые значения
WEAVE_ERROR_INCORRECT_STATE
Если GetBlockHandler имеет значение NULL

Отправитьстатусрепорт

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

Отправляет сообщение отчета о состоянии со связанным идентификатором профиля, кодом состояния и контекстом обмена.

Подробности
Параметры
[in] anEc
Контекст обмена, куда мы должны отправлять сообщение отчета о состоянии
[in] aProfileId
Идентификатор профиля
[in] aStatusCode
Код, связанный с ошибкой передачи

SendTransferError

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