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 abgeleitete Klassen: 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 die Möglichkeit, einem SendInit beliebige Metadaten zur Verfügung zu stellen.

Öffentliche Attribute

mAsynchronousModeSupported
bool
"True", wenn der asynchrone Modus unterstützt wird.
mDefiniteLength
bool
"True", wenn das Längenfeld vorhanden ist.
mFileDesignator
String mit vorab ausgehandelten Informationen.
mLength
uint64_t
Vorgeschlagene Länge der übertragenen Daten, 0 für unbegrenzt.
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 Empfängerlaufwerk unterstützt wird.
mSenderDriveSupported
bool
"True", wenn das Laufwerk des Absenders unterstützt wird.
mStartOffset
uint64_t
Vorgeschlagener Startversatz der 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)
„Wide“-Element initialisieren SendInit.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Nicht breites Objekt initialisieren SendInit (32-Bit-Startversatz, 32-Bit-Länge)
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)
„Wide“-Element initialisieren SendInit.
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)
Nicht breites Objekt initialisieren SendInit (32-Bit-Startversatz, 32-Bit-Länge)
operator==(const SendInit &) const
bool
Gleichheitsvergleich zwischen SendInit-Nachrichten
pack(PacketBuffer *aBuffer)
Verpacken Sie eine init-Nachricht zum Senden in einen PacketBuffer.
packedLength(void)
uint16_t
Gibt die gepackte Länge dieser Initialisierungsnachricht 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 die Möglichkeit, einem SendInit beliebige Metadaten zur Verfügung zu stellen.

Der Client kann nach Belieben vorcodierte TLV (schneller) bereitstellen, im laufenden Betrieb codieren (verbraucht weniger Arbeitsspeicher), Lazy-Codierung (beim Start etwas schneller) usw. durchführen.

In allen Fällen wird davon ausgegangen, dass die von dem Callback erzeugten Daten für eine bestimmte SendInit konstant sind, also unabhängig davon, wann sie aufgerufen wird. Das liegt daran, dass der Callback auch zum Berechnen der Länge einer solchen ausgeschriebenen TLV verwendet wird, die jederzeit angefordert werden kann.

Details
Parameter
[in] aBuffer
Der Zielpuffer, in den ein TLV geschrieben werden kann
[in] aBufferLength
Die Länge des Zielpuffers (in Byte)
[in,out] aNumBytesWritten
Die Anzahl der Byte, die in den Zielpuffer geschrieben wurden.
[in] aAppState
Status der vom Nutzer bereitgestellten App
Rückgabewerte
WEAVE_ERROR
Ein Fehler ist aufgetreten.

Öffentliche Attribute

mAsynchronousModeSupported

bool mAsynchronousModeSupported

"True", wenn der asynchrone Modus unterstützt wird.

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 übertragenen Daten, 0 für unbegrenzt.

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 Empfängerlaufwerk unterstützt wird.

mSenderDriveSupported

bool mSenderDriveSupported

"True", wenn das Laufwerk des Absenders unterstützt wird.

mStartOffset

uint64_t mStartOffset

Vorgeschlagener Startversatz der 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
)

„Wide“-Element initialisieren SendInit.

Details
Parameter
[in] aVersion
Version von BDX, die wir verwenden
[in] aSenderDrive
"True", wenn der Sender fährt
[in] aReceiverDrive
"True", wenn der Empfänger 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
Start-Offset in der Datei, bei der wir beginnen sollen.
[in] aLength
Länge der zu übertragenden Datei. 0 bedeutet, dass die Länge unbegrenzt ist.
[in] aFileDesignator
Ein String, der die zu übertragenden Daten identifiziert
[in] aMetaData
(Optional) Zusätzliche Daten im TLV-Format
Rückgabe
WEAVE_NO_ERROR bei Erfolg

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
)

Nicht breites Objekt initialisieren SendInit (32-Bit-Startversatz, 32-Bit-Länge)

Details
Parameter
[in] aVersion
Version von BDX, die wir verwenden
[in] aSenderDrive
"True", wenn der Sender fährt
[in] aReceiverDrive
"True", wenn der Empfänger 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
Start-Offset in der Datei, bei der wir beginnen sollen.
[in] aLength
Länge der zu übertragenden Datei. 0 bedeutet, dass die Länge unbegrenzt ist.
[in] aFileDesignator
Ein String, der die zu übertragenden Daten identifiziert
[in] aMetaData
(Optional) Zusätzliche Daten im TLV-Format
Rückgabe
WEAVE_NO_ERROR bei Erfolg

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
)

„Wide“-Element initialisieren SendInit.

Details
Parameter
[in] aVersion
Version von BDX, die wir verwenden
[in] aSenderDrive
"True", wenn der Sender fährt
[in] aReceiverDrive
"True", wenn der Empfänger 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
Start-Offset in der Datei, bei der wir beginnen sollen.
[in] aLength
Länge der zu übertragenden Datei. 0 bedeutet, dass die Länge unbegrenzt ist.
[in] aFileDesignator
Ein String, der die zu übertragenden Daten identifiziert
[in] aMetaDataWriteCallback
(Optional) Eine Funktion zum Schreiben zusätzlicher Daten im TLV-Format
[in] aMetaDataAppState
Ein optionaler Kontext, der an aMetaDataWriteCallback übergeben wird
Rückgabe
WEAVE_NO_ERROR bei Erfolg

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
)

Nicht breites Objekt initialisieren SendInit (32-Bit-Startversatz, 32-Bit-Länge)

Details
Parameter
[in] aVersion
Version von BDX, die wir verwenden
[in] aSenderDrive
"True", wenn der Sender fährt
[in] aReceiverDrive
"True", wenn der Empfänger 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
Start-Offset in der Datei, bei der wir beginnen sollen.
[in] aLength
Länge der zu übertragenden Datei. 0 bedeutet, dass die Länge unbegrenzt ist.
[in] aFileDesignator
Ein String, der die zu übertragenden Daten identifiziert
[in] aMetaDataWriteCallback
(Optional) Eine Funktion zum Schreiben zusätzlicher Daten im TLV-Format
[in] aMetaDataAppState
(Optional) Ein Kontext, der an die Callback-Funktion zurückgegeben wird
Rückgabe
WEAVE_NO_ERROR bei Erfolg

Operator==

bool operator==(
  const SendInit &
) const 

Gleichheitsvergleich zwischen SendInit-Nachrichten

Details
Parameter
[in] another
Eine weitere SendInit-Nachricht zum Vergleichen mit dieser
Rückgabe
true, wenn sie alle die gleichen Felder enthalten.

Packung

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Packt eine init-Nachricht zum Senden in einen PacketBuffer.

Details
Parameter
[out] aBuffer
einen PacketBuffer zum Packen der SendInit-Nachricht
Rückgabewerte
WEAVE_NO_ERROR
Erfolg
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn der Puffer zu klein ist

packedLength

uint16_t packedLength(
  void
)

Gibt die gepackte Länge dieser Initialisierungsnachricht zurück.

Details
Rückgabe
Länge der verpackten 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 wir parsen möchten
[out] aRequest
Zeiger auf ein SendInit-Objekt, in dem die Ergebnisse gespeichert werden sollen
Rückgabewerte
WEAVE_NO_ERROR
Erfolg
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn der Puffer zu klein ist