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 destrutores

SendInit(void)

Tipos públicos

MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState) typedef
MetaDataTLVWriteCallback fornece um meio pelo qual um cliente pode fornecer um SendInit com todos os metadados que quiser.

Atributos públicos

mAsynchronousModeSupported
bool
Verdadeiro se for possível usar o modo assíncrono.
mDefiniteLength
bool
Verdadeiro se o campo de comprimento estiver presente.
mFileDesignator
String com informações pré-negociadas.
mLength
uint64_t
Duração proposta dos dados na transferência, 0 para indefinido.
mMaxBlockSize
uint16_t
Propomos o tamanho máximo do bloco para uso na transferência.
mMetaData
Metadados TLV opcionais.
mMetaDataAppState
void *
Estado de app opcional 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 pudermos 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)
Inicialize um SendInit "amplo".
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 SendInit "não amplo" (deslocamento 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)
Inicialize um SendInit "amplo".
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 SendInit "não amplo" (deslocamento inicial de 32 bits, comprimento de 32 bits)
operator==(const SendInit &) const
bool
Comparação de igualdade entre mensagens SendInit.
pack(PacketBuffer *aBuffer)
Empacota uma mensagem de inicialização de envio em um PackageBuffer.
packedLength(void)
uint16_t
Retorna a duração empacotada dessa mensagem init do 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 um meio pelo qual um cliente pode fornecer um SendInit com todos os metadados que quiser.

O cliente é livre para fornecer TLV pré-codificado (mais rápido), codificar rapidamente (usa menos memória), codificar lentamente (um valor mais rápido na inicialização) etc. como 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 muda, independentemente de quando ele é chamado. Isso ocorre porque o callback também é usado para calcular a duração de qualquer TLV escrito, 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 foi encontrado.

Atributos públicos

mAsynchronousModeSupported

bool mAsynchronousModeSupported

Verdadeiro se for possível usar o 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

Duração proposta dos dados na transferência, 0 para indefinido.

mMaxBlockSize

uint16_t mMaxBlockSize

Propomos o tamanho máximo do bloco para uso na transferência.

mMetaData

ReferencedTLVData mMetaData

Metadados TLV opcionais.

mMetaDataAppState

void * mMetaDataAppState

Estado de app opcional 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 pudermos 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
)

Inicialize um SendInit "amplo".

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 receptor estiver dirigindo
[in] aAsynchMode
Verdadeiro se o dispositivo oferecer suporte ao modo assíncrono
[in] aMaxBlockSize
Proposta de tamanho máximo de bloco para esta transferência
[in] aStartOffset
Deslocamento inicial no arquivo em que devemos começar
[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
Retorna
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 SendInit "não amplo" (deslocamento 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 receptor estiver dirigindo
[in] aAsynchMode
Verdadeiro se o dispositivo oferecer suporte ao modo assíncrono
[in] aMaxBlockSize
Proposta de tamanho máximo de bloco para esta transferência
[in] aStartOffset
Deslocamento inicial no arquivo em que devemos começar
[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
Retorna
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
)

Inicialize um SendInit "amplo".

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 receptor estiver dirigindo
[in] aAsynchMode
Verdadeiro se o dispositivo oferecer suporte ao modo assíncrono
[in] aMaxBlockSize
Proposta de tamanho máximo de bloco para esta transferência
[in] aStartOffset
Deslocamento inicial no arquivo em que devemos começar
[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 o método aMetaDataWriteCallback
Retorna
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 SendInit "não amplo" (deslocamento 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 receptor estiver dirigindo
[in] aAsynchMode
Verdadeiro se o dispositivo oferecer suporte ao modo assíncrono
[in] aMaxBlockSize
Proposta de tamanho máximo de bloco para esta transferência
[in] aStartOffset
Deslocamento inicial no arquivo em que devemos começar
[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 que será retornado à função de callback.
Retorna
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 esta com
Retorna
verdadeiro se tiverem todos os mesmos campos.

pacote

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Empacota uma mensagem de inicialização de envio em um PackageBuffer.

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

packedLength

uint16_t packedLength(
  void
)

Retorna a duração empacotada dessa mensagem init do envio.

Detalhes
Retorna
tamanho da mensagem quando compactado

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 em que devemos armazenar os resultados.
Valores de retorno
WEAVE_NO_ERROR
Se for bem-sucedido
WEAVE_ERROR_BUFFER_TOO_SMALL
Se o buffer for muito pequeno