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

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

A mensagem SendInit é usada para iniciar uma troca quando o remetente é o iniciador.

Resumo

Herança

Subclasses conhecidas diretas: nl::Weave::Profiles::BDX_Development::ReceiveInit

Construtores e destruidores

SendInit(void)

Tipos públicos

MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState) typedef
MetaDataTLVWriteCallback fornece uma maneira de um cliente fornecer a um SendInit os metadados desejados.

Atributos públicos

mAsynchronousModeSupported
bool
Verdadeiro se for possível oferecer suporte ao modo assíncrono.
mDefiniteLength
bool
Verdadeiro se o campo de comprimento estiver presente.
mFileDesignator
String com informações pré-negociadas.
mLength
uint64_t
Comprimento proposto para dados na transferência, 0 para indefinido.
mMaxBlockSize
uint16_t
Tamanho máximo do bloco proposto para uso na transferência.
mMetaData
Metadados TLV opcionais.
mMetaDataAppState
void *
Estado opcional do app para metadados TLV.
mMetaDataWriteCallback
Função opcional para gravar metadados TLV.
mReceiverDriveSupported
bool
Verdadeiro se for possível oferecer suporte à unidade receptora.
mSenderDriveSupported
bool
Verdadeiro se for possível oferecer suporte ao drive do remetente.
mStartOffset
uint64_t
Deslocamento inicial proposto dos dados.
mStartOffsetPresent
bool
Verdadeiro se o campo de deslocamento inicial estiver presente.
mVersion
uint8_t
Versão do protocolo BDX que decidimos.
mWideRange
bool
Verdadeiro se o deslocamento e o comprimento forem de 64 bits.

Funções públicas

init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Inicializar um "amplo" SendInit.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Inicializar um objeto "não amplo" SendInit (compensação inicial de 32 bits, comprimento de 32 bits)
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)
Inicializar um "amplo" 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)
Inicializar um objeto "não amplo" SendInit (compensação inicial de 32 bits, comprimento de 32 bits)
operator==(const SendInit &) const
bool
Comparação de igualdade entre mensagens SendInit.
pack(PacketBuffer *aBuffer)
Empacotar uma mensagem init de envio em um PackageBuffer.
packedLength(void)
uint16_t
Retorna o tamanho compactado desta mensagem init de envio.

Funções estáticas públicas

parse(PacketBuffer *aBuffer, SendInit & aRequest)
Analisa dados de um PackageBuffer em um formato de mensagem SendInit.

Tipos públicos

MetaDataTLVWriteCallback

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

MetaDataTLVWriteCallback fornece uma maneira de um cliente fornecer a um SendInit os metadados desejados.

O cliente pode fornecer TLV (mais rápido) pré-codificado (mais rápido), codificar imediatamente (usa menos memória), codificar lentamente (um pouco mais rápido na inicialização) etc. do jeito que achar melhor.

Em todos os casos, presume-se que os dados produzidos pelo callback são constantes para um determinado SendInit, ou seja, não mudam, não importa quando é chamado. Isso ocorre porque o callback também é usado para calcular o comprimento de qualquer TLV gravado, que pode ser solicitado a qualquer momento.

Detalhes
Parâmetros
[in] aBuffer
O buffer de destino, em que alguns TLV podem ser gravados
[in] aBufferLength
O tamanho (em bytes) do buffer de destino
[in,out] aNumBytesWritten
O número de bytes gravados no buffer de destino
[in] aAppState
Estado do app fornecido pelo usuário
Valores de retorno
WEAVE_ERROR
Qualquer erro encontrado.

Atributos públicos

mAsynchronousModeSupported

bool mAsynchronousModeSupported

Verdadeiro se for possível oferecer suporte ao modo assíncrono.

mDefiniteLength

bool mDefiniteLength

Verdadeiro se o campo de comprimento estiver presente.

mFileDesignator

ReferencedString mFileDesignator

String com informações pré-negociadas.

mLength

uint64_t mLength

Comprimento proposto para dados na transferência, 0 para indefinido.

mMaxBlockSize

uint16_t mMaxBlockSize

Tamanho máximo do bloco proposto para uso na transferência.

mMetaData

ReferencedTLVData mMetaData

Metadados TLV opcionais.

mMetaDataAppState

void * mMetaDataAppState

Estado opcional do app para metadados TLV.

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

Função opcional para gravar metadados TLV.

mReceiverDriveSupported

bool mReceiverDriveSupported

Verdadeiro se for possível oferecer suporte à unidade receptora.

mSenderDriveSupported

bool mSenderDriveSupported

Verdadeiro se for possível oferecer suporte ao drive do remetente.

mStartOffset

uint64_t mStartOffset

Deslocamento inicial proposto dos dados.

mStartOffsetPresent

bool mStartOffsetPresent

Verdadeiro se o campo de deslocamento inicial estiver presente.

mVersion

uint8_t mVersion

Versão do protocolo BDX que decidimos.

mWideRange

bool mWideRange

Verdadeiro se o deslocamento e o comprimento forem de 64 bits.

Funções públicas

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
)

Inicializar um "amplo" SendInit.

Detalhes
Parâmetros
[in] aVersion
Versão do BDX que estamos usando
[in] aSenderDrive
Verdadeiro se o remetente estiver dirigindo
[in] aReceiverDrive
Verdadeiro se o destinatário estiver dirigindo
[in] aAsynchMode
Verdadeiro se o dispositivo for compatível com o modo assíncrono
[in] aMaxBlockSize
Proposta de tamanho máximo de bloco para esta transferência
[in] aStartOffset
Deslocamento inicial no arquivo em que começamos
[in] aLength
Tamanho do arquivo a ser transferido: 0 significa que ele tem tamanho indefinido
[in] aFileDesignator
String que identifica os dados a serem transferidos.
[in] aMetaData
(Opcional) Dados adicionais no formato TLV
Retornos
WEAVE_NO_ERROR se for bem-sucedido

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
)

Inicializar um objeto "não amplo" SendInit (compensação inicial de 32 bits, comprimento de 32 bits)

Detalhes
Parâmetros
[in] aVersion
Versão do BDX que estamos usando
[in] aSenderDrive
Verdadeiro se o remetente estiver dirigindo
[in] aReceiverDrive
Verdadeiro se o destinatário estiver dirigindo
[in] aAsynchMode
Verdadeiro se o dispositivo for compatível com o modo assíncrono
[in] aMaxBlockSize
Proposta de tamanho máximo de bloco para esta transferência
[in] aStartOffset
Deslocamento inicial no arquivo em que começamos
[in] aLength
Tamanho do arquivo a ser transferido: 0 significa que ele tem tamanho indefinido
[in] aFileDesignator
String que identifica os dados a serem transferidos.
[in] aMetaData
(Opcional) Dados adicionais no formato TLV
Retornos
WEAVE_NO_ERROR se for bem-sucedido

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
)

Inicializar um "amplo" SendInit.

Detalhes
Parâmetros
[in] aVersion
Versão do BDX que estamos usando
[in] aSenderDrive
Verdadeiro se o remetente estiver dirigindo
[in] aReceiverDrive
Verdadeiro se o destinatário estiver dirigindo
[in] aAsynchMode
Verdadeiro se o dispositivo for compatível com o modo assíncrono
[in] aMaxBlockSize
Proposta de tamanho máximo de bloco para esta transferência
[in] aStartOffset
Deslocamento inicial no arquivo em que começamos
[in] aLength
Tamanho do arquivo a ser transferido: 0 significa que ele tem tamanho indefinido
[in] aFileDesignator
String que identifica os dados a serem transferidos.
[in] aMetaDataWriteCallback
(opcional) Uma função para gravar dados adicionais no formato TLV
[in] aMetaDataAppState
Um contexto opcional a ser transmitido para a aMetaDataWriteCallback
Retornos
WEAVE_NO_ERROR se for bem-sucedido

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
)

Inicializar um objeto "não amplo" SendInit (compensação inicial de 32 bits, comprimento de 32 bits)

Detalhes
Parâmetros
[in] aVersion
Versão do BDX que estamos usando
[in] aSenderDrive
Verdadeiro se o remetente estiver dirigindo
[in] aReceiverDrive
Verdadeiro se o destinatário estiver dirigindo
[in] aAsynchMode
Verdadeiro se o dispositivo for compatível com o modo assíncrono
[in] aMaxBlockSize
Proposta de tamanho máximo de bloco para esta transferência
[in] aStartOffset
Deslocamento inicial no arquivo em que começamos
[in] aLength
Tamanho do arquivo a ser transferido: 0 significa que ele tem tamanho indefinido
[in] aFileDesignator
String que identifica os dados a serem transferidos.
[in] aMetaDataWriteCallback
(opcional) Uma função para gravar dados adicionais no formato TLV
[in] aMetaDataAppState
(opcional) Um contexto a ser transmitido de volta para a função de callback
Retornos
WEAVE_NO_ERROR se for bem-sucedido

operador==

bool operator==(
  const SendInit &
) const 

Comparação de igualdade entre mensagens SendInit.

Detalhes
Parâmetros
[in] another
Outra mensagem SendInit para comparar com esta
Retornos
verdadeiros se tiverem os mesmos campos.

pacote

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Empacotar uma mensagem init de envio em um PackageBuffer.

Detalhes
Parâmetros
[out] aBuffer
Um PackageBuffer para compactar a mensagem SendInit
Valores de retorno
WEAVE_NO_ERROR
Se for bem-sucedida
WEAVE_ERROR_BUFFER_TOO_SMALL
Se o buffer for muito pequeno

packedLength

uint16_t packedLength(
  void
)

Retorna o tamanho compactado desta mensagem init de envio.

Detalhes
Retornos
tamanho da mensagem quando embalada

Funções estáticas públicas

parse

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

Analisa dados de um PackageBuffer em um formato de mensagem SendInit.

Detalhes
Parâmetros
[in] aBuffer
Ponteiro para um PackageBuffer que tem os dados que queremos analisar
[out] aRequest
Ponteiro para um objeto SendInit onde devemos armazenar os resultados
Valores de retorno
WEAVE_NO_ERROR
Se for bem-sucedida
WEAVE_ERROR_BUFFER_TOO_SMALL
Se o buffer for muito pequeno