nl::Weave::Profiles::BDX_Development::BDXTransfer

#include <src/lib/profiles/bulk-data-transfer/Development/BDXTransferState.h>

Diese Struktur enthält Datenmitglieder, die eine aktive BDX-Übertragung darstellen.

Zusammenfassung

Diese Objekte werden vom BdxProtocol verwendet, um den Protokollstatus zu verwalten. Sie werden vom BdxServer verwaltet, der das Erstellen und Initialisieren neuer Übertragungen übernimmt, einschließlich der Verwaltung von Verbindungen und ExchangeContexts.

Öffentliche Attribute

mAmInitiator
bool
mAmSender
bool
mAppState
void *
mBlockCounter
uint32_t
Die nächste Blocknummer wird voraussichtlich eine BlockQuery oder BlockACK-Anfrage für das Senden erhalten (sobald die Übertragung offiziell begonnen hat).
mBytesSent
uint64_t
mExchangeContext
mFileDesignator
Mitglieder von ähnlichen Daten/Dateien blockieren TODO: Dieses Element entfernen? Oder sollten wir einen Vertrag darüber aufstellen, wie dieser String aussehen und wie er verwendet wird? Wird er von einem PacketBuffer gestützt? Wenn ja, sollte es wahrscheinlich nicht für die gesamte xfer-Datei verbleiben, da dies ein pbuf belegt.
mFirstQuery
bool
mHandlers
mIsAccepted
bool
mIsCompletedSuccessfully
bool
mIsInitiated
bool
mIsWideRange
bool
mLength
uint64_t
mMaxBlockSize
uint16_t
mNext)(BDXTransfer &)
mStartOffset
uint64_t
mTransferMode
uint8_t
mVersion
uint8_t

Öffentliche Funktionen

DispatchErrorHandler(WEAVE_ERROR anErrorCode)
void
Wenn der Fehler-Handler festgelegt wurde, rufen Sie ihn auf.
DispatchGetBlockHandler(uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
void
Wenn der get-Block-Handler festgelegt wurde, rufen Sie ihn auf.
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
void
Wenn der Put-Block-Handler festgelegt wurde, rufen Sie ihn auf.
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
Disponenten überprüfen einfach, ob ein Handler festgelegt wurde, und rufen ihn in diesem Fall auf.
DispatchRejectHandler(StatusReport *aReport)
void
Wenn der Ablehnungs-Handler festgelegt wurde, rufen Sie ihn auf.
DispatchSendAccept(SendAccept *aSendAcceptMsg)
Wenn der Handler zum Akzeptieren akzeptiert wurde, rufen Sie ihn auf.
DispatchXferDoneHandler(void)
void
Wenn der Handler für abgeschlossene Übertragungen festgelegt wurde, rufen Sie ihn auf.
DispatchXferErrorHandler(StatusReport *aXferError)
void
Wenn der Übertragungsfehler-Handler festgelegt wurde, rufen Sie ihn auf.
GetDefaultFlags(bool aExpectResponse)
uint16_t
Diese Funktion gibt die Standard-Flags zurück, die mit einer Nachricht gesendet werden sollen.
IsAsync(void)
bool
 Returns true if this transfer is asynchronous, false otherwise.
IsDriver(void)
bool
 Returns true if this entity (node) is the driver for this transfer, false otherwise.
Reset(void)
void
 Sets all pointers to NULL, resets counters, etc.
SetHandlers(BDXHandlers aHandlers)
void
Diese Funktion legt die Handler für dieses BDXTransfer-Objekt fest.
Shutdown(void)
void
 Shuts down the current transfer, including closing any open ExchangeContext.

Öffentliche Attribute

mAmInitiator

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmInitiator

mAmSender

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmSender

mAppState

void * nl::Weave::Profiles::BDX_Development::BDXTransfer::mAppState

mBlockCounter

uint32_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBlockCounter

Die nächste Blocknummer wird voraussichtlich eine BlockQuery oder BlockACK-Anfrage für das Senden erhalten (sobald die Übertragung offiziell begonnen hat).

Beim Empfang ist es die nächste erwartete BlockSend-Anfrage oder die letzte BlockQuery, die wir gesendet haben (nachdem die Übertragung offiziell gestartet und die erste gesendete Abfrage gesendet wurde).

mBytesSent

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBytesSent

mExchangeContext

ExchangeContext * nl::Weave::Profiles::BDX_Development::BDXTransfer::mExchangeContext

mFileDesignator

ReferencedString nl::Weave::Profiles::BDX_Development::BDXTransfer::mFileDesignator

Mitglieder von ähnlichen Daten/Dateien blockieren TODO: Dieses Element entfernen? Oder sollten wir einen Vertrag darüber aufstellen, wie dieser String aussehen und wie er verwendet wird? Wird er von einem PacketBuffer gestützt? Wenn ja, sollte es wahrscheinlich nicht für die gesamte xfer-Datei verbleiben, da dies ein pbuf belegt.

mFirstQuery

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mFirstQuery

mHandlers

BDXHandlers nl::Weave::Profiles::BDX_Development::BDXTransfer::mHandlers

mIsAccepted

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsAccepted

mIsCompletedSuccessfully

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsCompletedSuccessfully

mIsInitiated

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsInitiated

mIsWideRange

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsWideRange

mLength

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mLength

mMaxBlockSize

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mMaxBlockSize

mNext

WEAVE_ERROR(* nl::Weave::Profiles::BDX_Development::BDXTransfer::mNext)(BDXTransfer &)

mStartOffset

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mStartOffset

mTransferMode

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mTransferMode

mVersion

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mVersion

Öffentliche Funktionen

DispatchErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler(
  WEAVE_ERROR anErrorCode
)

Wenn der Fehler-Handler festgelegt wurde, rufen Sie ihn auf.

Wenn die Richtlinie nicht konfiguriert ist, wird auch die Übertragung als Standardverhalten beendet.

Details
Parameter
[in] anErrorCode
Zu verarbeitender Fehlercode

DispatchGetBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler(
  uint64_t *aLength,
  uint8_t **aDataBlock,
  bool *aLastBlock
)

Wenn der get-Block-Handler festgelegt wurde, rufen Sie ihn auf.

Details
Parameter
[in] aLength
Länge des Blocks
[in] aDataBlock
Zeiger auf den Datenblock
[in] aLastBlock
„True“, wenn dies der letzte Block der Übertragung ist

DispatchPutBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler(
  uint64_t aLength,
  uint8_t *aDataBlock,
  bool aLastBlock
)

Wenn der Put-Block-Handler festgelegt wurde, rufen Sie ihn auf.

Details
Parameter
[in] aLength
Länge des Blocks
[in] aDataBlock
Zeiger auf den Datenblock
[in] aLastBlock
„True“, wenn dies der letzte Block der Übertragung ist

DispatchReceiveAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept(
  ReceiveAccept *aReceiveAcceptMsg
)

Disponenten überprüfen einfach, ob ein Handler festgelegt wurde, und rufen ihn in diesem Fall auf.

Wenn der Empfangsakzeptanz-Handler festgelegt wurde, rufen Sie ihn auf.

Daher sollten diese als öffentliche Schnittstelle für den Aufruf von Callbacks verwendet werden, die niemals direkt von externen Anwendungen erreicht werden dürfen. Es ist möglich, dass in einer zukünftigen Version von BDXTransfer ein Delegatobjekt verwendet wird, anstatt einzelne Verweise auf die einzelnen Rückrufe zu speichern.

Details
Parameter
[in] aReceiveAcceptMsg
Die zu verarbeitende ReceiveAccept-Nachricht
Rückgabe
ein Fehlerwert

DispatchRejectHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler(
  StatusReport *aReport
)

Wenn der Ablehnungs-Handler festgelegt wurde, rufen Sie ihn auf.

Wenn die Richtlinie nicht konfiguriert ist, wird auch die Übertragung als Standardverhalten beendet.

Details
Parameter
[in] aReport
StatusReport-Nachricht zu verarbeiten

DispatchSendAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept(
  SendAccept *aSendAcceptMsg
)

Wenn der Handler zum Akzeptieren akzeptiert wurde, rufen Sie ihn auf.

Details
Parameter
[in] aSendAcceptMsg
SendAccept-Nachricht zur Verarbeitung
Rückgabe
ein Fehlerwert

DispatchXferDoneHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler(
  void
)

Wenn der Handler für abgeschlossene Übertragungen festgelegt wurde, rufen Sie ihn auf.

Wenn die Richtlinie nicht konfiguriert ist, wird auch die Übertragung als Standardverhalten beendet.

DispatchXferErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler(
  StatusReport *aXferError
)

Wenn der Übertragungsfehler-Handler festgelegt wurde, rufen Sie ihn auf.

Wenn die Richtlinie nicht konfiguriert ist, wird auch die Übertragung als Standardverhalten beendet.

Details
Parameter
[in] aXferError
Statusbericht eines zu verarbeitenden Fehlers

GetDefaultFlags

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags(
  bool aExpectResponse
)

Diese Funktion gibt die Standard-Flags zurück, die mit einer Nachricht gesendet werden sollen.

Details
Parameter
[in] aExpectResponse
Wenn wir eine Antwort auf diese Nachricht erwarten
Rückgabe
Flags, die gesendet werden sollen

IsAsync

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync(
  void
)

 Returns true if this transfer is asynchronous, false otherwise.

Details
Rückgabe
true, wenn die Übertragung asynchron ist.

IsDriver

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsDriver(
  void
)

 Returns true if this entity (node) is the driver for this transfer, false otherwise.

Details
Rückgabe
"true", wenn diese Entität der Treiber für diese Übertragung ist

Zurücksetzen

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Reset(
  void
)

 Sets all pointers to NULL, resets counters, etc.

Wird beim Herunterfahren aufgerufen.

SetHandlers

void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers(
  BDXHandlers aHandlers
)

Diese Funktion legt die Handler für dieses BDXTransfer-Objekt fest.

Sie sollten immer diese Methode verwenden, anstatt zu versuchen, sie manuell festzulegen, da die zugrunde liegende Implementierung der Speicherung der Handler-Funktionszeiger nicht Teil des öffentlichen APIs ist.

Details
Parameter
[in] aHandlers
Struktur der aufzurufenden Callback-Handler

Herunterfahren

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown(
  void
)

 Shuts down the current transfer, including closing any open ExchangeContext.

Nutzen Sie diese Gelegenheit, um alle mit dieser Übertragung und Ihrer Anwendungslogik verbundenen Ressourcen freizugeben.