nl::Weave::Profile::BDX_Entwicklung::BDXTransfer

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

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

Fazit

Diese Objekte werden vom BdxProtokoll verwendet, um den Protokollstatus aufrechtzuerhalten. Sie werden vom BdxServer verwaltet, der die Erstellung und Initialisierung neuer Übertragungen einschließlich der Verwaltung von Verbindungen und ExchangeContexts übernimmt.

Öffentliche Attribute

mAmInitiator
bool
mAmSender
bool
mAppState
void *
mBlockCounter
uint32_t
Die nächste Blocknummer, die voraussichtlich eine BlockQuery oder BlockACK erhält, sobald die Übertragung gestartet wurde.
mBytesSent
uint64_t
mExchangeContext
mFileDesignator
To-do-Liste für Mitglieder: Entfernen Sie dies oder sollten wir nur einen Vertrag dazu aufsetzen, wie dieser String aussehen könnte und wie er verwendet wird? Gibt es insbesondere einen PacketBuffer? Falls ja, sollte es nicht für das ganze Xferd greifen, weil es einen Buck aufnimmt.
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)
Delegierte prüfen einfach, ob ein Handler festgelegt wurde, und rufen ihn gegebenenfalls auf.
DispatchRejectHandler(StatusReport *aReport)
void
Wenn der Ablehnungs-Handler festgelegt wurde, rufen Sie ihn auf.
DispatchSendAccept(SendAccept *aSendAcceptMsg)
Wenn der Handler für das Senden von Anfragen festgelegt wurde, rufen Sie ihn auf.
DispatchXferDoneHandler(void)
void
Wenn der für die Übertragung abgeschlossene Handler 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
Mit dieser Funktion werden die Handler für dieses BDXTransfer-Objekt festgelegt.
Shutdown(void)
void
 Shuts down the current transfer, including closing any open ExchangeContext.

Öffentliche Attribute

Initiator

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

mamAbsender

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

Mobile AppState

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

mBlockZähler

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

Die nächste Blocknummer, die voraussichtlich eine BlockQuery oder BlockACK erhält, sobald die Übertragung gestartet wurde.

Beim Empfang ist die nächste BlockSend, die wir erhalten sollen, oder die letzte BlockQuery, die wir gesendet haben (nach dem offiziellen Start der Übertragung und der ersten gesendeten Abfrage).

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

To-do-Liste für Mitglieder: Entfernen Sie dies oder sollten wir nur einen Vertrag dazu aufsetzen, wie dieser String aussehen könnte und wie er verwendet wird? Gibt es insbesondere einen PacketBuffer? Falls ja, sollte es nicht für das ganze Xferd greifen, weil es einen Buck aufnimmt.

mFirstQuery

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

mHandlers

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

mIsAkzeptiert

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

mIsAbgeschlossen

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

Gesendet

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

mIsWideRange

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

mLänge

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 &)

mStart

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

besonders danach

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

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

Wenn nicht festgelegt, beenden Sie die Übertragung auch als Standardverhalten.

Details
Parameter
[in] anErrorCode
Fehlercode, der verarbeitet werden soll

liegtGetGetHandler

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
Mauszeiger auf den Datenblock bewegen
[in] aLastBlock
True, wenn dies der letzte Block in der Übertragung ist

liegt auf einen Block gesetzt.

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
Mauszeiger auf den Datenblock bewegen
[in] aLastBlock
True, wenn dies der letzte Block in der Übertragung ist

Folgender Wert wird angenommen:

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

Delegierte prüfen einfach, ob ein Handler festgelegt wurde, und rufen ihn gegebenenfalls auf.

Wenn der Handler für den Empfang akzeptiert wurde, rufen Sie ihn auf.

Diese sollten daher als öffentliche Schnittstelle für den Rückruf von Callbacks verwendet werden, die niemals von externen Anwendungen direkt berührt werden sollten. Es ist möglich, dass bei einer zukünftigen Überarbeitung von BDXTransfer ein delegiertes Objekt verwendet wird, anstatt einzelne Zeiger für jeden Callback zu speichern.

Details
Parameter
[in] aReceiveAcceptMsg
ReceivedAccept-Nachricht zur Verarbeitung
Rückgabe
ein Fehlerwert

einfachen Ablehnung(Handler)

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

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

Wenn nicht festgelegt, beenden Sie die Übertragung auch als Standardverhalten.

Details
Parameter
[in] aReport
StatusReport-Nachricht, die verarbeitet werden soll

Senden/Annehmen

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

Wenn der Handler für das Senden von Anfragen festgelegt wurde, rufen Sie ihn auf.

Details
Parameter
[in] aSendAcceptMsg
SendAccept-Nachricht wird verarbeitet
Rückgabe
ein Fehlerwert

danach

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

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

Wenn nicht festgelegt, beenden Sie die Übertragung auch als Standardverhalten.

XX-Fehler-Handler

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

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

Wenn nicht festgelegt, beenden Sie die Übertragung auch als Standardverhalten.

Details
Parameter
[in] aXferError
Statusbericht zu einem zu verarbeitenden Fehler

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
Die zu sendenden Flags

Asynchron

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.

Fahrer

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.

Set-Handler

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

Mit dieser Funktion werden die Handler für dieses BDXTransfer-Objekt festgelegt.

Sie sollten diese Methode immer verwenden, anstatt sie manuell festzulegen, da die zugrunde liegende Implementierung, wie die Handler-Funktionszeiger gespeichert werden, nicht Teil der öffentlichen API ist.

Details
Parameter
[in] aHandlers
Struktur von aufzurufenden Callback-Handlern

Heruntergefahren

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

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

Verwenden Sie diese Empfehlung, um alle Ressourcen freizugeben, die mit dieser Übertragung und Ihrer Anwendungslogik verknüpft sind.