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, wenn der Schlüssel zum Verschlüsseln und Authentifizieren von Weave-Nachrichten 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 auf dem BDX-Austausch 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 die angegebene BDXTransfer.
SendBlockEOFAckV1(BDXTransfer & aXfer)
Diese Funktion sendet eine BlockEOFAckV1-Nachricht für die angegebene BDXTransfer.
SendBlockQuery(BDXTransfer & aXfer)
SendBlockQueryV1(BDXTransfer & aXfer)
Diese Funktion sendet eine BlockQueryV1-Nachricht für die angegebene BDXTransfer.
SendNextBlock(BDXTransfer & aXfer)
SendNextBlockV1(BDXTransfer & aXfer)
Diese Funktion sendet die nächste BlockSendV1, die durch Aufrufen des GetBlockHandler von BDXTransfer abgerufen wurde.
SendStatusReport(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void
Sendet eine Statusberichtsnachricht mit der verknüpften Profil-ID, dem Statuscode und dem Austauschkontext.
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, der eine geschlossene Verbindung erkannt hat. Wir können den zugehörigen BDXTransfer von diesem
[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, wenn der Schlüssel zum Verschlüsseln und Authentifizieren von Weave-Nachrichten nicht mehr verwendet werden kann.

Details
Parameter
[in] anEc
Anzeigenplattform-Kontext, in dem ein Schlüsselfehler erkannt wurde Wir können den zugehörigen BDXTransfer von dieser
[in] aKeyErr
Fehler, der mit dem Schlüssel verknüpft ist, 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 auf dem BDX-Austausch eingehen.

Er fungiert als Router, um die entsprechenden BDX-Header-Informationen und -Daten zu extrahieren und den entsprechenden Handler für die Bearbeitung dieses Objekts zu senden.

Details
Parameter
[in] anEc
Den Austauschkontext für den Fall, dass 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

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 Wir können den zugehörigen BDXTransfer von dieser Nachricht finden
[in] aSendErr
Fehler im Zusammenhang mit dem Fehler beim Senden der Nachricht
[in] aMsgCtxt
Ein beliebiger Nachrichtenkontext, der mit der nicht bestätigten Nachricht verknüpft 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 die angegebene BDXTransfer.

Die bestätigte Blocknummer ist gleich aXfer.mBlockCounter - 1, da diese Funktion nur aufgerufen werden kann, nachdem der Übertragungsstatus zum nächsten Zähler übergegangen ist.

Details
Parameter
[in] aXfer
Der BDXTransfer, für den wir ein BlockAck-Objekt 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 die angegebene BDXTransfer.

Die bestätigte Blocknummer ist gleich 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 die angegebene BDXTransfer.

Die angeforderte Blocknummer ist gleich aXfer.mBlockCounter.

Details
Parameter
[in] aXfer
Die BDXTransfer, für die 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 BlockSendV1, die durch Aufrufen des GetBlockHandler von BDXTransfer abgerufen wurde.

Details
Parameter
[in] aXfer
Die BDXTransfer, deren GetBlockHandler aufgerufen wird, um den nächsten Block abzurufen, bevor er über den verknüpften 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 verknüpften Profil-ID, dem Statuscode und dem Austauschkontext.

Details
Parameter
[in] anEc
Der Kontext der Anzeigenplattform, an die die Statusberichtsnachricht gesendet werden soll
[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
)