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

Zusammenfassung

Funktionen

HandleConnectionClosed(ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
Handler für den Fall, dass die Verbindung selbst geschlossen wird.
HandleKeyError(ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
Handler für den Fall, dass der zum Verschlüsseln und Authentifizieren von Weave-Nachrichten verwendete Schlüssel nicht mehr verwendet werden kann.
HandleResponse(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
Der Haupt-Handler für Nachrichten, die bei der BDX-Plattform eingehen.
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
Handler für den Fall, dass beim Warten auf eine Antwort eine Zeitüberschreitung auftritt.
HandleResponseTransmit(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleSendError(ExchangeContext *anEc, WEAVE_ERROR aSendErr, void *aMsgCtxt)
void
Handler für den Fall, dass die von uns gesendete WRMP-Nachricht nicht bestätigt wurde.
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)
Diese Funktion sendet eine BlockAckV1-Nachricht für den angegebenen BDXTransfer.
SendBlockEOFAckV1(BDXTransfer & aXfer)
Diese Funktion sendet eine BlockEOFAckV1-Nachricht für den angegebenen BDXTransfer.
SendBlockQuery(BDXTransfer & aXfer)
SendBlockQueryV1(BDXTransfer & aXfer)
Diese Funktion sendet eine BlockQueryV1-Nachricht für den angegebenen BDXTransfer.
SendNextBlock(BDXTransfer & aXfer)
SendNextBlockV1(BDXTransfer & aXfer)
Diese Funktion sendet die nächste abgerufene BlockSendV1 durch Aufrufen des GetBlockHandler von BDXTransfer.
SendStatusReport(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void
Sendet eine Statusbericht-Nachricht mit der zugehörigen Profil-ID, dem Statuscode und dem Kontext der Anzeigenplattform.
SendTransferError(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void

Funktionen

HandleConnectionClosed

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

Handler für den Fall, dass die Verbindung selbst geschlossen wird.

Ruft den Fehler-Handler der zugehörigen Übertragung auf und beendet die Übertragung.

Details
Parameter
[in] anEc
Exchange-Kontext, in dem eine unterbrochene Verbindung erkannt wurde. Den zugehörigen BDXTransfer finden wir hier
[in] aCon
Die Weave-Verbindung, die in der eigentlichen Funktion nicht verwendet wird
[in] aConErr
Fehler im Zusammenhang mit dem Beenden der Verbindung

HandleKeyError

void HandleKeyError(
  ExchangeContext *anEc,
  WEAVE_ERROR aKeyErr
)

Handler für den Fall, dass der zum Verschlüsseln und Authentifizieren von Weave-Nachrichten verwendete Schlüssel nicht mehr verwendet werden kann.

Details
Parameter
[in] anEc
Exchange-Kontext, in dem ein Schlüsselfehler erkannt wurde. Den zugehörigen BDXTransfer finden wir hier
[in] aKeyErr
Fehler im Zusammenhang mit dem Schlüssel, der nicht mehr verwendet werden kann

HandleResponse

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

Der Haupt-Handler für Nachrichten, die bei der BDX-Plattform eingehen.

Es agiert im Grunde als Router, um die entsprechenden BDX-Header-Informationen und -Daten zu extrahieren und den entsprechenden Handler für dieses Objekt zu senden.

Details
Parameter
[in] anEc
Den Austauschkontext, falls wir ihn benötigen
[in] aPktInfo
Nicht verwendet, muss aber zum Funktionsprototyp passen
[in] aWeaveMsgInfo
Weave-Nachrichteninformationen für die Nachricht
[in] aProfileId
ID des Profils, unter dem die Nachricht definiert ist
[in] aMessageType
Der Nachrichtentyp dieses Profils
[in] aPacketBuffer
Die gepackte Nachricht selbst

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
)

Handler für den Fall, dass beim Warten auf eine Antwort eine Zeitüberschreitung auftritt.

Beendet die Übertragung, bei der das Zeitlimit überschritten wurde, und ruft den Fehler-Handler dieser Übertragung auf.

Details
Parameter
[in] anEc
Exchange-Kontext, in dem wir BDXTransfer finden können

HandleResponseTransmit

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

HandleSendError

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

Handler für den Fall, dass die von uns gesendete WRMP-Nachricht nicht bestätigt wurde.

Details
Parameter
[in] anEc
Exchange-Kontext mit einer nicht bestätigten Nachricht. Den zugehörigen BDXTransfer finden Sie hier
[in] aSendErr
Fehler im Zusammenhang mit dem Fehler beim Senden der Nachricht
[in] aMsgCtxt
Ein beliebiger Nachrichtenkontext, der der unbestätigten Nachricht zugeordnet wurde.

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
)

Diese Funktion sendet eine BlockAckV1-Nachricht für den angegebenen BDXTransfer.

Die bestätigte Blocknummer entspricht aXfer.mBlockCounter - 1, da diese Funktion erst aufgerufen werden kann, nachdem der Übertragungsstatus zum nächsten Zähler gewechselt ist.

Details
Parameter
[in] aXfer
Den BDXTransfer, für den wir ein BlockAck senden.
Rückgabewerte
WEAVE_NO_ERROR
Wenn die Nachricht erfolgreich gesendet wurde.
WEAVE_ERROR_NO_MEMORY
Wenn keine PacketBuffers verfügbar sind.

SendBlockEOFAckV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

Diese Funktion sendet eine BlockEOFAckV1-Nachricht für den angegebenen BDXTransfer.

Die bestätigte Blocknummer entspricht aXfer.mBlockCounter.

Details
Parameter
[in] aXfer
Der BDXTransfer, für den wir einen BlockEOFAck senden.
Rückgabewerte
WEAVE_NO_ERROR
Wenn die Nachricht erfolgreich gesendet wurde.
WEAVE_ERROR_NO_MEMORY
Wenn keine PacketBuffers verfügbar sind.

SendBlockQuery

WEAVE_ERROR SendBlockQuery(
  BDXTransfer & aXfer
)

SendBlockQueryV1

WEAVE_ERROR SendBlockQueryV1(
  BDXTransfer & aXfer
)

Diese Funktion sendet eine BlockQueryV1-Nachricht für den angegebenen BDXTransfer.

Die angeforderte Blocknummer entspricht aXfer.mBlockCounter.

Details
Parameter
[in] aXfer
Der BDXTransfer, für den wir eine BlockQuery senden.
Rückgabewerte
WEAVE_NO_ERROR
Wenn die Nachricht erfolgreich gesendet wurde.
WEAVE_ERROR_NO_MEMORY
Wenn keine PacketBuffers verfügbar sind.

SendNextBlock

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

SendNextBlockV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

Diese Funktion sendet die nächste abgerufene BlockSendV1 durch Aufrufen des GetBlockHandler von BDXTransfer.

Details
Parameter
[in] aXfer
Die BDXTransfer, deren GetBlockHandler aufgerufen wird, um den nächsten Block abzurufen, bevor er mit dem zugehörigen ExchangeContext gesendet wird.
Rückgabewerte
WEAVE_ERROR_INCORRECT_STATE
Wenn GetBlockHandler NULL ist

SendStatusReport

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

Sendet eine Statusberichtsnachricht mit der zugehörigen Profil-ID, dem Statuscode und dem Kontext des Anzeigenaustauschs.

Details
Parameter
[in] anEc
Der Exchange-Kontext, an den die Statusberichtsnachricht gesendet werden sollte
[in] aProfileId
Profil-ID
[in] aStatusCode
Code, der mit dem Übertragungsfehler verknüpft ist

SendTransferError

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