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 direttamente: 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 un elemento SendInit con tutti i metadati che desidera.

Attributi pubblici

mAsynchronousModeSupported
bool
True se è possibile supportare la modalità asincrona.
mDefiniteLength
bool
True se è presente il campo della lunghezza.
mFileDesignator
Stringa contenente informazioni prenegoziate.
mLength
uint64_t
Lunghezza proposta dei dati in fase di trasferimento, 0 per indefinito.
mMaxBlockSize
uint16_t
Dimensione massima del blocco proposta da utilizzare nel trasferimento.
mMetaData
Metadati TLV facoltativi.
mMetaDataAppState
void *
Stato dell'app facoltativo per i metadati TLV.
mMetaDataWriteCallback
Funzione facoltativa per scrivere i metadati TLV.
mReceiverDriveSupported
bool
True se è possibile supportare l'unità ricevitore.
mSenderDriveSupported
bool
True se possiamo supportare l'unità del mittente.
mStartOffset
uint64_t
Offset iniziale proposto dei dati.
mStartOffsetPresent
bool
True se è presente il campo dell'offset iniziale.
mVersion
uint8_t
Abbiamo scelto la versione del protocollo BDX.
mWideRange
bool
True se l'offset e la lunghezza sono a 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)
Inizializzare un "wide" SendInit.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Inizializzare un elemento "non-wide" SendInit (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)
Inizializzare un "wide" 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)
Inizializzare un elemento "non-wide" SendInit (offset iniziale a 32 bit, lunghezza a 32 bit)
operator==(const SendInit &) const
bool
Confronto dell'uguaglianza tra i messaggi SendInit.
pack(PacketBuffer *aBuffer)
Pacchettizza un messaggio di inizializzazione di invio in un PacketBuffer.
packedLength(void)
uint16_t
Restituisce la lunghezza compressa di questo 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 un elemento SendInit con tutti i metadati che desidera.

Il client è libero di fornire TLV precodificato (più veloce), codifica al volo (richiede meno memoria), codifica lazy (un po' più veloce all'avvio) e così via, in base alle esigenze.

In tutti i casi, si presume che i dati prodotti dal callback siano costanti per un determinato SendInit, ovvero non cambiano indipendentemente dal momento in cui viene chiamato. Questo perché il callback viene utilizzato anche per calcolare la durata di questi TLV annotati, che possono essere richiesti in qualsiasi momento.

Dettagli
Parametri
[in] aBuffer
Il buffer di destinazione, in cui è possibile scrivere alcuni TLV
[in] aBufferLength
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 è possibile supportare la modalità asincrona.

mDefiniteLength

bool mDefiniteLength

True se è presente il campo della lunghezza.

mFileDesignator

ReferencedString mFileDesignator

Stringa contenente informazioni prenegoziate.

mLength

uint64_t mLength

Lunghezza proposta dei dati in fase di trasferimento, 0 per indefinito.

mMaxBlockSize

uint16_t mMaxBlockSize

Dimensione massima del blocco proposta da utilizzare nel trasferimento.

mMetaData

ReferencedTLVData mMetaData

Metadati TLV facoltativi.

mMetaDataAppState

void * mMetaDataAppState

Stato dell'app facoltativo per i metadati TLV.

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

Funzione facoltativa per scrivere i metadati TLV.

mReceiverDriveSupported

bool mReceiverDriveSupported

True se è possibile supportare l'unità ricevitore.

mSenderDriveSupported

bool mSenderDriveSupported

True se possiamo supportare l'unità del mittente.

mStartOffset

uint64_t mStartOffset

Offset iniziale proposto dei dati.

mStartOffsetPresent

bool mStartOffsetPresent

True se è presente il campo dell'offset iniziale.

mVersion

uint8_t mVersion

Abbiamo scelto la versione del protocollo BDX.

mWideRange

bool mWideRange

True se l'offset e la lunghezza sono a 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
)

Inizializzare un "wide" SendInit.

Dettagli
Parametri
[in] aVersion
Versione di BDX in uso
[in] aSenderDrive
True se il mittente è alla guida
[in] aReceiverDrive
True se il ricevitore 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
Offset iniziale nel file con cui dovremmo iniziare
[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
)

Inizializzare un elemento "non-wide" SendInit (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 ricevitore 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
Offset iniziale nel file con cui dovremmo iniziare
[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
)

Inizializzare un "wide" SendInit.

Dettagli
Parametri
[in] aVersion
Versione di BDX in uso
[in] aSenderDrive
True se il mittente è alla guida
[in] aReceiverDrive
True se il ricevitore 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
Offset iniziale nel file con cui dovremmo iniziare
[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 passare 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
)

Inizializzare un elemento "non-wide" SendInit (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 ricevitore 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
Offset iniziale nel file con cui dovremmo iniziare
[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 dell'uguaglianza tra i messaggi SendInit.

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

confezione

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Pacchettizza un messaggio di inizializzazione di invio in un PacketBuffer.

Dettagli
Parametri
[out] aBuffer
Un PacketBuffer per comprimere 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 compressa di questo messaggio init di invio.

Dettagli
Restituisce
lunghezza del messaggio quando è compresso

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
Punta a un PacketBuffer che contiene i dati che vogliamo analizzare
[out] aRequest
Punta a un oggetto SendInit in cui archiviare i risultati
Valori restituiti
WEAVE_NO_ERROR
In caso di esito positivo
WEAVE_ERROR_BUFFER_TOO_SMALL
Se il buffer è troppo piccolo