nl::Weave::Profiles::BDX_Development::SendInit

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

Die SendInit-Nachricht wird verwendet, um einen Austausch zu starten, wenn der Absender der Initiator ist.

Zusammenfassung

Übernahme

Direkte bekannte Unterklassen: nl::Weave::Profiles::BDX_Development::ReceiveInit

Konstruktoren und Zerstörer

SendInit(void)

Öffentliche Typen

MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState) typedef
MetaDataTLVWriteCallback bietet eine Möglichkeit, mit der ein Client ein SendInit mit beliebigen Metadaten bereitstellen kann.

Öffentliche Attribute

mAsynchronousModeSupported
bool
True, wenn der asynchrone Modus unterstützt werden kann.
mDefiniteLength
bool
„True“, wenn das Längenfeld vorhanden ist.
mFileDesignator
String mit vorab ausgehandelten Informationen.
mLength
uint64_t
Vorgeschlagene Länge der Daten bei der Übertragung, 0 für unbestimmte Zeit.
mMaxBlockSize
uint16_t
Vorgeschlagene maximale Blockgröße für die Übertragung.
mMetaData
Optionale TLV-Metadaten
mMetaDataAppState
void *
Optionaler App-Status für TLV-Metadaten.
mMetaDataWriteCallback
Optionale Funktion zum Schreiben von TLV-Metadaten
mReceiverDriveSupported
bool
True, wenn das Laufwerk des Empfängers unterstützt werden kann.
mSenderDriveSupported
bool
True, wenn das Absenderlaufwerk unterstützt werden kann.
mStartOffset
uint64_t
Vorgeschlagener Startversatz von Daten.
mStartOffsetPresent
bool
„True“, wenn das Start-Offset-Feld vorhanden ist.
mVersion
uint8_t
Version des BDX-Protokolls, für das wir uns entschieden haben.
mWideRange
bool
„True“, wenn Offset und Länge 64 Bit betragen.

Öffentliche Funktionen

init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Initialisieren Sie ein "breites" SendInit-Element.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
SendInit (32 Bit Startoffset, 32 Bit Länge) initialisieren
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
Initialisieren Sie ein "breites" SendInit-Element.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
SendInit (32 Bit Startoffset, 32 Bit Länge) initialisieren
operator==(const SendInit &) const
bool
Gleichheitsvergleich zwischen SendInit-Nachrichten.
pack(PacketBuffer *aBuffer)
Verpacken Sie eine Send-Init-Nachricht in einem PacketBuffer.
packedLength(void)
uint16_t
Gibt die Paketlänge dieser Init-Nachricht zurück.

Öffentliche statische Funktionen

parse(PacketBuffer *aBuffer, SendInit & aRequest)
Parsen Sie Daten aus einem PacketBuffer in ein SendInit-Nachrichtenformat.

Öffentliche Typen

MetaDataTLVWriteCallback

WEAVE_ERROR(* MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState)

MetaDataTLVWriteCallback bietet eine Möglichkeit, mit der ein Client ein SendInit mit beliebigen Metadaten bereitstellen kann.

Der Client kann nach eigenem Ermessen vorcodiertes TLV (schneller) bereitstellen, on-the-fly codieren (weniger Arbeitsspeicher), Lazy-codieren (etwas schneller beim Start) usw.

In allen Fällen wird davon ausgegangen, dass die vom Callback generierten Daten für ein bestimmtes SendInit-Objekt konstant sind, das heißt, sich unabhängig vom Zeitpunkt des Aufrufs nicht ändert. Das liegt daran, dass der Callback auch verwendet wird, um die Länge einer ausgeschriebenen TLV zu berechnen, die jederzeit angefordert werden kann.

Details
Parameter
[in] aBuffer
Der Zielpuffer, in den einige TLV geschrieben werden können.
[in] aBufferLength
Die Länge des Zielpuffers (in Byte)
[in,out] aNumBytesWritten
Die Anzahl der Byte, die in den Zielpuffer geschrieben wurden
[in] aAppState
Vom Nutzer bereitgestellter App-Status
Rückgabewerte
WEAVE_ERROR
Ein Fehler ist aufgetreten.

Öffentliche Attribute

mAsynchronousModeSupported

bool mAsynchronousModeSupported

True, wenn der asynchrone Modus unterstützt werden kann.

mDefiniteLength

bool mDefiniteLength

„True“, wenn das Längenfeld vorhanden ist.

mFileDesignator

ReferencedString mFileDesignator

String mit vorab ausgehandelten Informationen.

mLength

uint64_t mLength

Vorgeschlagene Länge der Daten bei der Übertragung, 0 für unbestimmte Zeit.

mMaxBlockSize

uint16_t mMaxBlockSize

Vorgeschlagene maximale Blockgröße für die Übertragung.

mMetaData

ReferencedTLVData mMetaData

Optionale TLV-Metadaten

mMetaDataAppState

void * mMetaDataAppState

Optionaler App-Status für TLV-Metadaten.

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

Optionale Funktion zum Schreiben von TLV-Metadaten

mReceiverDriveSupported

bool mReceiverDriveSupported

True, wenn das Laufwerk des Empfängers unterstützt werden kann.

mSenderDriveSupported

bool mSenderDriveSupported

True, wenn das Absenderlaufwerk unterstützt werden kann.

mStartOffset

uint64_t mStartOffset

Vorgeschlagener Startversatz von Daten.

mStartOffsetPresent

bool mStartOffsetPresent

„True“, wenn das Start-Offset-Feld vorhanden ist.

mVersion

uint8_t mVersion

Version des BDX-Protokolls, für das wir uns entschieden haben.

mWideRange

bool mWideRange

„True“, wenn Offset und Länge 64 Bit betragen.

Öffentliche Funktionen

SendInit

 SendInit(
  void
)

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint64_t aStartOffset,
  uint64_t aLength,
  ReferencedString & aFileDesignator,
  ReferencedTLVData *aMetaData
)

Initialisieren Sie ein "breites" SendInit-Element.

Details
Parameter
[in] aVersion
Version von BDX, die wir verwenden
[in] aSenderDrive
True, wenn der Absender fährt
[in] aReceiverDrive
„True“, wenn der Empfänger gerade fährt
[in] aAsynchMode
„True“, wenn das Gerät den asynchronen Modus unterstützt
[in] aMaxBlockSize
Vorschlag für eine maximale Blockgröße für diese Übertragung
[in] aStartOffset
Startversatz in der Datei, bei der wir beginnen sollen
[in] aLength
Die Länge der zu übertragenden Datei - 0 bedeutet, dass sie eine unbegrenzte Länge hat.
[in] aFileDesignator
String, der die zu übertragenden Daten identifiziert
[in] aMetaData
(Optional) Zusätzliche Daten im TLV-Format
Rückgabe
WEAVE_NO_ERROR, wenn der Vorgang erfolgreich war

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint32_t aStartOffset,
  uint32_t aLength,
  ReferencedString & aFileDesignator,
  ReferencedTLVData *aMetaData
)

SendInit (32 Bit Startoffset, 32 Bit Länge) initialisieren

Details
Parameter
[in] aVersion
Version von BDX, die wir verwenden
[in] aSenderDrive
True, wenn der Absender fährt
[in] aReceiverDrive
„True“, wenn der Empfänger gerade fährt
[in] aAsynchMode
„True“, wenn das Gerät den asynchronen Modus unterstützt
[in] aMaxBlockSize
Vorschlag für eine maximale Blockgröße für diese Übertragung
[in] aStartOffset
Startversatz in der Datei, bei der wir beginnen sollen
[in] aLength
Die Länge der zu übertragenden Datei - 0 bedeutet, dass sie eine unbegrenzte Länge hat.
[in] aFileDesignator
String, der die zu übertragenden Daten identifiziert
[in] aMetaData
(Optional) Zusätzliche Daten im TLV-Format
Rückgabe
WEAVE_NO_ERROR, wenn der Vorgang erfolgreich war

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint64_t aStartOffset,
  uint64_t aLength,
  ReferencedString & aFileDesignator,
  MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

Initialisieren Sie ein "breites" SendInit-Element.

Details
Parameter
[in] aVersion
Version von BDX, die wir verwenden
[in] aSenderDrive
True, wenn der Absender fährt
[in] aReceiverDrive
„True“, wenn der Empfänger gerade fährt
[in] aAsynchMode
„True“, wenn das Gerät den asynchronen Modus unterstützt
[in] aMaxBlockSize
Vorschlag für eine maximale Blockgröße für diese Übertragung
[in] aStartOffset
Startversatz in der Datei, bei der wir beginnen sollen
[in] aLength
Die Länge der zu übertragenden Datei - 0 bedeutet, dass sie eine unbegrenzte Länge hat.
[in] aFileDesignator
String, der die zu übertragenden Daten identifiziert
[in] aMetaDataWriteCallback
(Optional) Eine Funktion zum Ausschreiben zusätzlicher Daten im TLV-Format
[in] aMetaDataAppState
Optionaler Kontext, der an aMetaDataWriteCallback übergeben wird
Rückgabe
WEAVE_NO_ERROR, wenn der Vorgang erfolgreich war

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint32_t aStartOffset,
  uint32_t aLength,
  ReferencedString & aFileDesignator,
  MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

SendInit (32 Bit Startoffset, 32 Bit Länge) initialisieren

Details
Parameter
[in] aVersion
Version von BDX, die wir verwenden
[in] aSenderDrive
True, wenn der Absender fährt
[in] aReceiverDrive
„True“, wenn der Empfänger gerade fährt
[in] aAsynchMode
„True“, wenn das Gerät den asynchronen Modus unterstützt
[in] aMaxBlockSize
Vorschlag für eine maximale Blockgröße für diese Übertragung
[in] aStartOffset
Startversatz in der Datei, bei der wir beginnen sollen
[in] aLength
Die Länge der zu übertragenden Datei - 0 bedeutet, dass sie eine unbegrenzte Länge hat.
[in] aFileDesignator
String, der die zu übertragenden Daten identifiziert
[in] aMetaDataWriteCallback
(Optional) Eine Funktion zum Ausschreiben zusätzlicher Daten im TLV-Format
[in] aMetaDataAppState
(Optional) Kontext, der an die Callback-Funktion zurückgegeben werden soll
Rückgabe
WEAVE_NO_ERROR, wenn der Vorgang erfolgreich war

Operator==

bool operator==(
  const SendInit &
) const 

Gleichheitsvergleich zwischen SendInit-Nachrichten.

Details
Parameter
[in] another
Eine weitere SendInit-Nachricht zum Vergleichen
Rückgabe
TRUE, wenn alle Felder identisch sind.

Packung

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Verpacken Sie eine Send-Init-Nachricht in einem PacketBuffer.

Details
Parameter
[out] aBuffer
Einen PacketBuffer, um die SendInit-Nachricht zu packen
Rückgabewerte
WEAVE_NO_ERROR
Wenn der Vorgang erfolgreich war
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn der Puffer zu klein ist

packedLength

uint16_t packedLength(
  void
)

Gibt die Paketlänge dieser Init-Nachricht zurück.

Details
Rückgabe
Länge der gepackten Nachricht

Öffentliche statische Funktionen

parse

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

Parsen Sie Daten aus einem PacketBuffer in ein SendInit-Nachrichtenformat.

Details
Parameter
[in] aBuffer
Zeiger auf einen PacketBuffer mit den Daten, die geparst werden sollen
[out] aRequest
Zeiger auf ein SendInit-Objekt, in dem die Ergebnisse gespeichert werden sollen
Rückgabewerte
WEAVE_NO_ERROR
Wenn der Vorgang erfolgreich war
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn der Puffer zu klein ist