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

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

Il messaggio SendInit viene utilizzato per avviare uno scambio quando il mittente è l'iniziatore.

Riepilogo

Eredità

Sottoclassi note dirette: nl::Weave::Profiles::BDX_Development::ReceiveInit

Costruttori e distruttori

SendInit(void)

Tipi pubblici

MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState) typedef
MetaDataTLVWriteCallback fornisce un mezzo con cui un client può fornire a SendInit tutti i metadati che desidera.

Attributi pubblici

mAsynchronousModeSupported
bool
True se possiamo supportare la modalità asincrona.
mDefiniteLength
bool
True se è presente il campo length.
mFileDesignator
Stringa contenente informazioni prenegoziate.
mLength
uint64_t
Lunghezza proposta per il trasferimento dei dati, 0 a tempo indeterminato.
mMaxBlockSize
uint16_t
Dimensione massima del blocco proposta da utilizzare nel trasferimento.
mMetaData
Metadati TLV facoltativi.
mMetaDataAppState
void *
Stato facoltativo dell'app per i metadati TLV.
mMetaDataWriteCallback
Funzione facoltativa per scrivere i metadati TLV.
mReceiverDriveSupported
bool
True se possiamo supportare l'unità del destinatario.
mSenderDriveSupported
bool
True se possiamo supportare la guida del mittente.
mStartOffset
uint64_t
Offset iniziale proposto dei dati.
mStartOffsetPresent
bool
True se è presente il campo Offset iniziale.
mVersion
uint8_t
Versione del protocollo BDX che abbiamo deciso.
mWideRange
bool
True se l'offset e la lunghezza sono 64 bit.

Funzioni pubbliche

init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Inizializza un SendInit "wide".
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Inizializza un SendInit "non largo" (offset iniziale a 32 bit, lunghezza a 32 bit)
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)
Inizializza un SendInit "wide".
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)
Inizializza un SendInit "non largo" (offset iniziale a 32 bit, lunghezza a 32 bit)
operator==(const SendInit &) const
bool
Confronto di uguaglianza tra messaggi SendInit.
pack(PacketBuffer *aBuffer)
Comprimi un messaggio init di invio in un PacketBuffer.
packedLength(void)
uint16_t
Restituisce la lunghezza del pacchetto del messaggio init di invio.

Funzioni statiche pubbliche

parse(PacketBuffer *aBuffer, SendInit & aRequest)
Analizza i dati da un PacketBuffer in un formato di messaggio SendInit.

Tipi pubblici

MetaDataTLVWriteCallback

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

MetaDataTLVWriteCallback fornisce un mezzo con cui un client può fornire a SendInit tutti i metadati che desidera.

Il client è libero di fornire una codifica TLV precodificata (più veloce), una codifica all'istante (richiede meno memoria), una codifica lazy (un po' più veloce all'avvio) e così via, a seconda delle esigenze.

In tutti i casi, si presume che i dati prodotti dal callback siano costanti per un determinato SendInit, ovvero non cambiano indipendentemente da quando viene chiamato. Questo perché il callback viene utilizzato anche per calcolare la lunghezza di qualsiasi TLV scritto, che può essere richiesto in qualsiasi momento.

Dettagli
Parametri
[in] aBuffer
Il buffer di destinazione in cui è possibile scrivere alcuni valori TLV
[in] aBufferLength
La lunghezza (in byte) del buffer di destinazione
[in,out] aNumBytesWritten
Il numero di byte scritti nel buffer di destinazione
[in] aAppState
Stato dell'app fornita dall'utente
Valori restituiti
WEAVE_ERROR
Si è verificato un errore.

Attributi pubblici

mAsynchronousModeSupported

bool mAsynchronousModeSupported

True se possiamo supportare la modalità asincrona.

mDefiniteLength

bool mDefiniteLength

True se è presente il campo length.

mFileDesignator

ReferencedString mFileDesignator

Stringa contenente informazioni prenegoziate.

mLength

uint64_t mLength

Lunghezza proposta per il trasferimento dei dati, 0 a tempo indeterminato.

mMaxBlockSize

uint16_t mMaxBlockSize

Dimensione massima del blocco proposta da utilizzare nel trasferimento.

mMetaData

ReferencedTLVData mMetaData

Metadati TLV facoltativi.

mMetaDataAppState

void * mMetaDataAppState

Stato facoltativo dell'app per i metadati TLV.

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

Funzione facoltativa per scrivere i metadati TLV.

mReceiverDriveSupported

bool mReceiverDriveSupported

True se possiamo supportare l'unità del destinatario.

mSenderDriveSupported

bool mSenderDriveSupported

True se possiamo supportare la guida del mittente.

mStartOffset

uint64_t mStartOffset

Offset iniziale proposto dei dati.

mStartOffsetPresent

bool mStartOffsetPresent

True se è presente il campo Offset iniziale.

mVersion

uint8_t mVersion

Versione del protocollo BDX che abbiamo deciso.

mWideRange

bool mWideRange

True se l'offset e la lunghezza sono 64 bit.

Funzioni pubbliche

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
)

Inizializza un SendInit "wide".

Dettagli
Parametri
[in] aVersion
Versione di BDX in uso
[in] aSenderDrive
True se il mittente è alla guida
[in] aReceiverDrive
True se il destinatario sta guidando
[in] aAsynchMode
True se il dispositivo supporta la modalità asincrona
[in] aMaxBlockSize
Proposta di dimensione massima del blocco per questo trasferimento
[in] aStartOffset
Inizia l'offset nel file da cui partire
[in] aLength
Lunghezza del file da trasferire: 0 significa che ha una durata indefinita
[in] aFileDesignator
Una stringa che identifica i dati da trasferire
[in] aMetaData
(Facoltativo) Dati aggiuntivi in formato TLV
Restituisce
WEAVE_NO_ERROR in caso di esito positivo

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
)

Inizializza un SendInit "non largo" (offset iniziale a 32 bit, lunghezza a 32 bit)

Dettagli
Parametri
[in] aVersion
Versione di BDX in uso
[in] aSenderDrive
True se il mittente è alla guida
[in] aReceiverDrive
True se il destinatario sta guidando
[in] aAsynchMode
True se il dispositivo supporta la modalità asincrona
[in] aMaxBlockSize
Proposta di dimensione massima del blocco per questo trasferimento
[in] aStartOffset
Inizia l'offset nel file da cui partire
[in] aLength
Lunghezza del file da trasferire: 0 significa che ha una durata indefinita
[in] aFileDesignator
Una stringa che identifica i dati da trasferire
[in] aMetaData
(Facoltativo) Dati aggiuntivi in formato TLV
Restituisce
WEAVE_NO_ERROR in caso di esito positivo

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
)

Inizializza un SendInit "wide".

Dettagli
Parametri
[in] aVersion
Versione di BDX in uso
[in] aSenderDrive
True se il mittente è alla guida
[in] aReceiverDrive
True se il destinatario sta guidando
[in] aAsynchMode
True se il dispositivo supporta la modalità asincrona
[in] aMaxBlockSize
Proposta di dimensione massima del blocco per questo trasferimento
[in] aStartOffset
Inizia l'offset nel file da cui partire
[in] aLength
Lunghezza del file da trasferire: 0 significa che ha una durata indefinita
[in] aFileDesignator
Una stringa che identifica i dati da trasferire
[in] aMetaDataWriteCallback
(Facoltativo) Una funzione per scrivere dati aggiuntivi in formato TLV
[in] aMetaDataAppState
Un contesto facoltativo da trasferire in aMetaDataWriteCallback
Restituisce
WEAVE_NO_ERROR in caso di esito positivo

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
)

Inizializza un SendInit "non largo" (offset iniziale a 32 bit, lunghezza a 32 bit)

Dettagli
Parametri
[in] aVersion
Versione di BDX in uso
[in] aSenderDrive
True se il mittente è alla guida
[in] aReceiverDrive
True se il destinatario sta guidando
[in] aAsynchMode
True se il dispositivo supporta la modalità asincrona
[in] aMaxBlockSize
Proposta di dimensione massima del blocco per questo trasferimento
[in] aStartOffset
Inizia l'offset nel file da cui partire
[in] aLength
Lunghezza del file da trasferire: 0 significa che ha una durata indefinita
[in] aFileDesignator
Una stringa che identifica i dati da trasferire
[in] aMetaDataWriteCallback
(Facoltativo) Una funzione per scrivere dati aggiuntivi in formato TLV
[in] aMetaDataAppState
(Facoltativo) Un contesto da ritrasmettere alla funzione di callback
Restituisce
WEAVE_NO_ERROR in caso di esito positivo

operatore==

bool operator==(
  const SendInit &
) const 

Confronto di uguaglianza tra messaggi SendInit.

Dettagli
Parametri
[in] another
Un altro messaggio SendInit con cui confrontare questo
Restituisce
true se hanno tutti gli stessi campi.

confezione

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Comprimi un messaggio init di invio in un PacketBuffer.

Dettagli
Parametri
[out] aBuffer
Un PacketBuffer in cui pacchettizzare il messaggio SendInit
Valori restituiti
WEAVE_NO_ERROR
In caso di esito positivo
WEAVE_ERROR_BUFFER_TOO_SMALL
Se il buffer è troppo piccolo

packedLength

uint16_t packedLength(
  void
)

Restituisce la lunghezza del pacchetto del messaggio init di invio.

Dettagli
Restituisce
lunghezza del messaggio una volta pacchettizzato

Funzioni statiche pubbliche

parse

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

Analizza i dati da un PacketBuffer in un formato di messaggio SendInit.

Dettagli
Parametri
[in] aBuffer
Puntatore a un PacketBuffer che contiene i dati da analizzare
[out] aRequest
Puntatore a un oggetto SendInit in cui memorizzare i risultati
Valori restituiti
WEAVE_NO_ERROR
In caso di esito positivo
WEAVE_ERROR_BUFFER_TOO_SMALL
Se il buffer è troppo piccolo