nl:: Weave:: Profiles:: BDX_Development
Dieser Namespace umfasst alle Schnittstellen in Weave 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)
|
typedef.void(*
Dieser Handler wird jedes Mal aufgerufen, wenn ein Weave-Fehler auftritt, der nicht direkt über Fehlercodes an den benutzerdefinierte Steuerungsablauf zurückgegeben werden kann. |
GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
|
typedef.void(*
Get a block of data to be transmitted. |
PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
typedef.void(*
Verarbeitet den Datenblock, auf den einDataBlock der Länge aLength verweist. |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
typedef. Callback, das aufgerufen wird, wenn eine zuvor gesendete ReceiveInit-Anfrage vom Ziel akzeptiert wird. |
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
|
typedef.uint16_t(*
Callback, der beim Empfangen einer ReceiveInit-Nachricht aufgerufen wird. |
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
|
typedef.void(*
Wird aufgerufen, wenn eine der vorherigen Init-Nachrichten vom Ziel abgelehnt wurde. |
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
|
typedef. Callback, das aufgerufen wird, wenn eine zuvor gesendete SendInit vom Ziel akzeptiert wird. |
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
|
typedef.uint16_t(*
Callback, der beim Empfangen einer SendInit-Nachricht aufgerufen wird. |
XferDoneHandler)(BDXTransfer *aXfer)
|
typedef.void(*
Verarbeiten Sie Fälle, in denen die Übertragung abgeschlossen ist. |
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
|
typedef.void(*
Verarbeiten Sie TransferError-Nachrichten, die von BDX empfangen oder gesendet werden. |
Funktionen |
|
---|---|
GetBDXAckFlag(ExchangeContext *anEc)
|
uint16_t
GetBDXAckFlag gibt abhängig von der Verbindung des Austauschkontexts (keine Anforderungsbestätigung für TCP) und basierend auf der Unterstützung der Kompilierungszeit für WRMP das entsprechende Flag für das RequestAck-Feld zurück.
|
Klassen |
|
---|---|
nl:: |
|
nl:: |
Die Nachricht BlockAck wird verwendet, um einen Datenblock zu bestätigen. |
nl:: |
Die Nachricht BlockAckV1 wird verwendet, um einen Datenblock zu bestätigen. |
nl:: |
Mit der Nachricht BlockEOF wird der letzte Datenblock vom Absender an den Empfänger übertragen. |
nl:: |
Die Nachricht BlockEOFAck wird verwendet, um den letzten Datenblock zu bestätigen. |
nl:: |
Mit der Nachricht BlockEOFAckV1 wird der letzte Datenblock bestätigt. |
nl:: |
Mit der Nachricht BlockEOFV1 wird der letzte Datenblock vom Absender an den Empfänger übertragen. |
nl:: |
Die Nachricht BlockQuery wird verwendet, um anzufordern, dass ein Datenblock vom Sender an den Empfänger übertragen wird. |
nl:: |
Mit der Nachricht BlockQueryV1 wird angefordert, dass ein Datenblock vom Sender zum Empfänger übertragen wird. |
nl:: |
Die BlockSend-Nachricht wird verwendet, um einen Datenblock vom Absender an den Empfänger zu übertragen. |
nl:: |
Die Nachricht BlockSendV1 wird verwendet, um einen Datenblock vom Sender an den Empfänger zu übertragen. |
nl:: |
Die Nachricht ReceiveAccept wird verwendet, um einen vorgeschlagenen Austausch zu akzeptieren, wenn der Empfänger der Initiator ist. |
nl:: |
Die ReceiveInit-Nachricht 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 wird ein vorgeschlagener Austausch abgelehnt, 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 Datenmitglieder, 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 den benutzerdefinierte Steuerungsablauf zurückgegeben werden kann.
Wenn also ein Fehler bei einem anderen Handler auftritt, dessen Signatur den Rückgabetyp "void" hat (z.B. als Antwort auf eine eingehende Weave-Nachricht oder sogar durch das Protokoll ausgelöst), wird dieser Handler aufgerufen, damit der Nutzer bestimmen kann, ob die Übertragung wiederhergestellt und fortgesetzt werden kann oder ob er Shutdown() aufrufen sollte. Es kann vorkommen, dass vor der Initialisierung von BDXTransfer ein Fehler auftritt (z.B. bereits zu viele zugewiesene Übertragungsobjekte). In einem solchen Fall wird der Fehler von Weave protokolliert und das Protokoll bereinigt alle erforderlichen Status, die es zugewiesen hat.
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 Zwischenspeichers, die durch einen Verweis übergeben werden). Der Aufgerufene (Nutzeranwendung) SOLLTEN den bereitgestellten Zwischenspeicher verwenden, kann jedoch aus Gründen der Abwärtskompatibilität einen eigenen Zwischenspeicher zurückgeben. Der Aufgerufene darf nicht mehr als aLength
an Byte bereitstellen. Nach der Rückgabe enthält aLength
die tatsächliche Anzahl der in den Zwischenspeicher gelesenen Byte.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
PutBlockHandler
void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
Verarbeitet den Datenblock, auf den einDataBlock der Länge aLength verweist.
Dazu wird wahrscheinlich in eine Datei geschrieben und die Datei geschlossen, wenn isLastBlock auf „true“ gesetzt ist.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
ReceiveAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
Callback, das aufgerufen wird, wenn eine zuvor gesendete ReceiveInit-Anfrage vom Ziel akzeptiert wird.
Sie können diese Gelegenheit nutzen, um Dateien zu öffnen oder Ressourcen für die Übertragung zuzuweisen, wenn Sie dies nicht bereits bei der Initiierung der Übertragung getan haben.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
ReceiveInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
Callback, der beim Empfangen einer ReceiveInit-Nachricht aufgerufen wird.
Seine Aufgabe besteht darin, zu bestimmen, ob Sie die Empfangsbestätigung annehmen möchten. Wenn dies der Fall ist, stellen Sie aXfer->mIsAccepted=true ein, sodass das Protokoll eine Empfangsnachricht an den Initiator sendet. Das BDXTransfer-Objekt wird mit den Standardeinstellungen initiiert. Hier können Sie anwendungsspezifische Status wie Handles von offenen Dateien usw. an aXfer->mAppState anhängen. Sie sollten auch die erforderlichen Handler für an das BDXTransfer-Objekt übergeben. Wenn ein anderer Fehlercode als kStatus_Success zurückgegeben wird, wird davon ausgegangen, dass die Übertragung abgelehnt wurde. 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, das aufgerufen wird, wenn eine zuvor gesendete SendInit vom Ziel akzeptiert wird.
Sie können diese Gelegenheit nutzen, um Dateien zu öffnen oder Ressourcen für die Übertragung zuzuweisen, wenn Sie dies nicht bereits beim Starten der Übertragung getan haben.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
SendInitHandler
uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
Callback, der beim Empfangen einer SendInit-Nachricht aufgerufen wird.
Seine Aufgabe besteht darin, zu bestimmen, ob Sie SendInit akzeptieren möchten. Ist dies der Fall, legen Sie „aXfer->mIsAccepted=true“ fest, damit das Protokoll eine Annahmenachricht an den Initiator sendet. Das BDXTransfer-Objekt wird mit den Standardeinstellungen initiiert. Hier können Sie anwendungsspezifische Status wie Handles von offenen Dateien usw. an aXfer->mAppState anhängen. Sie sollten auch die erforderlichen Handler für an das BDXTransfer-Objekt übergeben. Wenn ein anderer Fehlercode als WEAVE_NO_ERROR zurückgegeben wird, wird davon ausgegangen, dass die Übertragung abgelehnt wurde. Das Protokoll sendet dann eine Ablehnungsnachricht mit dem Code.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
Verarbeiten Sie Fälle, in denen die Übertragung abgeschlossen ist.
Details | |||
---|---|---|---|
Parameter |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
Verarbeiten Sie TransferError-Nachrichten, die von BDX empfangen oder gesendet werden.
Hinweis:Es wird davon ausgegangen, dass die BDX-Übertragung potenziell wiederherstellbar ist (möglicherweise vorübergehend, z. B. aus PacketBuffers im Moment). Daher bleibt die Option, Shutdown() aufzurufen, dem Anwendungsprogrammierer und den von ihm definierten Callbacks überlassen. AUFGABE: Überprüfen und mit der Sprache im BDX-Dokument abgleichen, das lautet: „[A TransferError] Kann jederzeit von beiden Parteien vorzeitig gesendet werden beenden Sie die Bulk-Datenübertragung.“
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Funktionen
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag gibt abhängig von der Verbindung des Austauschkontexts (keine Anforderungsbestätigung für 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
|