nl:: Weave:: Profiles:: BDX_Development
Dieser Namespace enthält alle Weave-Schnittstellen für das BDX-Profil (Bulk Data Transfer), die sich aktiv in der Entwicklung befinden und nicht für die Produktion verwendet werden sollten.
Zusammenfassung
Aufzählungen |
|
---|---|
@80
|
enum |
@81
|
enum |
@82
|
enum |
@83
|
enum |
Typedefs |
|
---|---|
BdxClient
|
typedef |
BdxServer
|
typedef |
ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
|
typedefvoid(*
Dieser Handler wird jedes Mal aufgerufen, wenn ein Weave-Fehler auftritt, der nicht direkt über Fehlercodes an einen benutzerdefinierten Steuerungsablauf zurückgegeben werden kann. |
GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
|
typedefvoid(*
Get a block of data to be transmitted. |
PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
typedefvoid(*
Verarbeitet den Datenblock, auf den ein DataBlock der Länge aLength verweist. |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
typedef Callback, der aufgerufen wird, wenn ein zuvor gesendetes ReceiveInit-Element vom Ziel akzeptiert wird. |
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
|
typedefuint16_t(*
Callback, der beim Empfang einer ReceiveInit-Nachricht aufgerufen wird. |
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
|
typedefvoid(*
Wird aufgerufen, wenn eine der vorherigen Init-Nachrichten vom Ziel abgelehnt wurde. |
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
|
typedef Callback, der aufgerufen wird, wenn ein zuvor gesendetes SendInit-Element vom Ziel akzeptiert wird. |
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
|
typedefuint16_t(*
Callback, der beim Empfang einer SendInit-Nachricht ausgelöst wird. |
XferDoneHandler)(BDXTransfer *aXfer)
|
typedefvoid(*
Umgang mit Fällen, in denen die Übertragung abgeschlossen ist. |
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
|
typedefvoid(*
Behandelt von BDX empfangene oder gesendete TransferError-Nachrichten. |
Funktionen |
|
---|---|
GetBDXAckFlag(ExchangeContext *anEc)
|
uint16_t
GetBDXAckFlag gibt je nach Verbindung des Exchange-Kontexts (keine Anfragebestätigung bei TCP) und basierend auf der Unterstützung der Kompilierungszeit für WRMP das entsprechende Flag für das RequestAck-Feld zurück.
|
Kurse |
|
---|---|
nl:: |
|
nl:: |
Die BlockAck-Nachricht wird verwendet, um einen Datenblock zu bestätigen. |
nl:: |
Die Nachricht BlockAckV1 wird verwendet, um einen Datenblock zu bestätigen. |
nl:: |
Die BlockEOF-Nachricht wird verwendet, um den letzten Datenblock vom Sender an den Empfänger zu übertragen. |
nl:: |
Die Nachricht BlockEOFAck wird verwendet, um den letzten Datenblock zu bestätigen. |
nl:: |
Die Nachricht BlockEOFAckV1 wird zur Bestätigung des letzten Datenblocks verwendet. |
nl:: |
Mit der Nachricht BlockEOFV1 wird der letzte Datenblock vom Sender an den Empfänger übertragen. |
nl:: |
Mit der BlockQuery-Nachricht wird angefordert, dass ein Datenblock von Sender an Empfänger übertragen wird. |
nl:: |
Mit der Nachricht BlockQueryV1 wird angefordert, dass ein Datenblock von Sender an Empfänger übertragen wird. |
nl:: |
Mit der BlockSend-Nachricht wird ein Datenblock vom Sender an den Empfänger übertragen. |
nl:: |
Mit der Nachricht BlockSendV1 wird ein Datenblock vom Absender zum Empfänger übertragen. |
nl:: |
Die Nachricht ReceiveAccept wird verwendet, um einen vorgeschlagenen Austausch zu akzeptieren, wenn der Empfänger der Initiator ist. |
nl:: |
Die Nachricht ReceiveInit wird verwendet, um einen Austausch zu starten, wenn der Empfänger der Initiator ist. |
nl:: |
Die Nachricht ReceiveReject wird verwendet, um einen vorgeschlagenen Austausch abzulehnen, wenn der Absender der Initiator ist. |
nl:: |
Die Nachricht SendAccept wird verwendet, um einen vorgeschlagenen Austausch zu akzeptieren, wenn der Absender der Initiator ist. |
nl:: |
Die SendInit-Nachricht wird verwendet, um einen Austausch zu starten, wenn der Absender der Initiator ist. |
nl:: |
Mit der Nachricht SendReject (Ablehnen) lehnen Sie einen vorgeschlagenen Austausch ab, wenn der Absender der Initiator ist. |
nl:: |
Die Fehlermeldung wird verwendet, um einen Fehler zu melden und einen Austausch abzubrechen. |
Strukturen |
|
---|---|
nl:: |
|
nl:: |
Diese Struktur enthält Datenelemente, die eine aktive BDX-Übertragung darstellen. |
Namespaces |
|
---|---|
nl:: |
Aufzählungen
@80
@80
@81
@81
@82
@82
@83
@83
Typedefs
BdxClient
BdxNode BdxClient
BdxServer
BdxNode BdxServer
ErrorHandler
void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
Dieser Handler wird jedes Mal aufgerufen, wenn ein Weave-Fehler auftritt, der nicht direkt über Fehlercodes an einen benutzerdefinierten Steuerungsablauf zurückgegeben werden kann.
Wenn also ein Fehler innerhalb eines anderen Handlers auftritt, dessen Signatur den Rückgabetyp „void“ hat (z.B. als Antwort auf eine eingehende Weave-Nachricht oder sogar durch das Protokoll weitergeleitet), wird dieser Handler aufgerufen, damit der Nutzer bestimmen kann, ob die Übertragung wiederhergestellt und fortgesetzt werden kann oder ob er Herunterfahren() aufrufen soll. Ein Fehler kann auftreten, bevor ein BDXTransfer initialisiert wurde (z.B. bereits zu viele zugewiesene Übertragungsobjekte). In einem solchen Fall wird der besagte Fehler von Weave protokolliert und das Protokoll kümmert sich um die Bereinigung aller notwendigen Zustände, die von Weave zugewiesen wurden.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
GetBlockHandler
void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
Get a block of data to be transmitted.
Der Aufrufer stellt den Pufferbereich bereit (Puffer und Länge des Puffers, die durch einen Verweis übergeben werden). Aufgerufene Nutzer (Nutzeranwendung) SOLLTE den bereitgestellten Puffer verwenden, kann jedoch aus Gründen der Abwärtskompatibilität einen eigenen Puffer zurückgeben. Der Aufgerufene darf nicht mehr als aLength
Byte bereitstellen. Bei Rückgabe enthält aLength
die tatsächliche Anzahl der Byte, die in den Zwischenspeicher gelesen wurden.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
PutBlockHandler
void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
Verarbeitet den Datenblock, auf den ein DataBlock der Länge aLength verweist.
Dazu ist es wahrscheinlich erforderlich, dass die Datei in eine Datei geschrieben und diese Datei geschlossen wird, wenn isLastBlock wahr ist.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
ReceiveAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
Callback, der aufgerufen wird, wenn ein zuvor gesendetes ReceiveInit-Element vom Ziel akzeptiert wird.
Sie können diese Möglichkeit nutzen, um Dateien zu öffnen oder Ressourcen für die Übertragung zuzuweisen, falls Sie dies beim Start der Übertragung noch nicht getan haben.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
ReceiveInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
Callback, der beim Empfang einer ReceiveInit-Nachricht aufgerufen wird.
Seine Aufgabe ist es zu bestimmen, ob Sie den Empfang akzeptieren möchten, und legen Sie in diesem Fall aXfer->mIsAccepted=true fest, damit das Protokoll eine Annahmenachricht an den Initiator sendet. Das Objekt BDXTransfer wird auf die Standardeinstellungen zurückgesetzt. Hier können Sie anwendungsspezifischen Status (z. B. offene Datei-Handles usw.) gut an aXfer->mAppState anhängen. An dieser Stelle sollten Sie auch die erforderlichen Handler, z.B. für die Blockierbehandlung, an das Objekt BDXTransfer anhängen. Wenn ein anderer Fehlercode als kStatus_Success zurückgegeben wird, wird angenommen, dass die Übertragung abgelehnt wird. Das Protokoll sendet dann eine Ablehnungsnachricht mit dem Code.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
RejectHandler
void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
Wird aufgerufen, wenn eine der vorherigen Init-Nachrichten vom Ziel abgelehnt wurde.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
SendAcceptHandler
WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
Callback, der aufgerufen wird, wenn ein zuvor gesendetes SendInit-Element vom Ziel akzeptiert wird.
Sie können diese Möglichkeit nutzen, um Dateien zu öffnen oder Ressourcen für die Übertragung zuzuweisen, falls Sie dies beim Start der Übertragung noch nicht getan haben.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
SendInitHandler
uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
Callback, der beim Empfang einer SendInit-Nachricht ausgelöst wird.
Dessen Aufgabe besteht darin, festzulegen, ob Sie SendInit akzeptieren möchten, und legen Sie in diesem Fall aXfer->mIsAccepted=true fest, damit das Protokoll eine Annahmenachricht an den Initiator sendet. Das Objekt BDXTransfer wird auf die Standardeinstellungen zurückgesetzt. Hier können Sie anwendungsspezifischen Status (z. B. offene Datei-Handles usw.) gut an aXfer->mAppState anhängen. An dieser Stelle sollten Sie auch die erforderlichen Handler, z.B. für die Blockierbehandlung, an das Objekt BDXTransfer anhängen. Wenn ein anderer Fehlercode als WEAVE_NO_ERROR zurückgegeben wird, wird davon ausgegangen, dass die Übertragung abgelehnt wird. Das Protokoll sendet dann eine Ablehnungsnachricht mit dem Code.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
Umgang mit Fällen, in denen die Übertragung abgeschlossen ist.
Details | |||
---|---|---|---|
Parameter |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
Behandelt von BDX empfangene oder gesendete TransferError-Nachrichten.
Hinweis: Es wird davon ausgegangen, dass die BDX-Übertragung wiederhergestellt werden kann (möglicherweise vorübergehend, z. B. weil PacketBuffers derzeit nicht verfügbar ist). Daher bleibt die Option zum Aufrufen von Herunterfahren() dem Anwendungsprogrammierer und den definierten Callbacks überlassen. TODO: Überprüfen und mit der Sprache im BDX-Dokument abgleichen, die lautet: „[A TransferError] Kann jederzeit von jeder Partei gesendet werden, um die Bulk-Datenübertragung vorzeitig zu beenden.“
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Funktionen
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag gibt je nach Verbindung des Exchange-Kontexts (keine Anfragebestätigung bei TCP) und basierend auf der Unterstützung der Kompilierungszeit für WRMP das entsprechende Flag für das RequestAck-Feld zurück.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
0 oder kSendFlag_RequestAck
|