нл:: Переплетение:: Профили:: BDX_Development:: Отправитьинит

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

Сообщение SendInit используется для запуска обмена, когда отправитель является инициатором.

Краткое содержание

Наследование

Прямые известные подклассы: nl::Weave::Profiles::BDX_Development::ReceiveInit

Конструкторы и деструкторы

SendInit (void)

Публичные типы

MetaDataTLVWriteCallback )(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState) определение типа
MetaDataTLVWriteCallback предоставляет средства, с помощью которых клиент может предоставить SendInit любые метаданные, которые он хочет.

Публичные атрибуты

mAsynchronousModeSupported
bool
Верно, если мы можем поддерживать асинхронный режим.
mDefiniteLength
bool
Истинно, если поле длины присутствует.
mFileDesignator
Строка, содержащая предварительно согласованную информацию.
mLength
uint64_t
Предлагаемая длина передаваемых данных: 0 — неопределенно.
mMaxBlockSize
uint16_t
Предлагаемый максимальный размер блока для использования при передаче.
mMetaData
Необязательные метаданные TLV .
mMetaDataAppState
void *
Необязательное состояние приложения для метаданных TLV .
mMetaDataWriteCallback
Дополнительная функция для записи метаданных TLV .
mReceiverDriveSupported
bool
Верно, если мы сможем поддерживать привод приемника.
mSenderDriveSupported
bool
Верно, если мы можем поддерживать диск отправителя.
mStartOffset
uint64_t
Предлагаемое начальное смещение данных.
mStartOffsetPresent
bool
Истинно, если поле начального смещения присутствует.
mVersion
uint8_t
Версия протокола BDX, которую мы выбрали.
mWideRange
bool
Истинно, если смещение и длина составляют 64 бита.

Общественные функции

init (uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Инициализируйте «широкий» SendInit .
init (uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Инициализировать «неширокий» SendInit (32-битное начальное смещение, 32-битная длина)
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)
Инициализируйте «широкий» 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)
Инициализировать «неширокий» SendInit (32-битное начальное смещение, 32-битная длина)
operator== (const SendInit &) const
bool
Сравнение равенства между сообщениями SendInit .
pack (PacketBuffer *aBuffer)
Упакуйте сообщение инициализации отправки в PacketBuffer.
packedLength (void)
uint16_t
Возвращает упакованную длину этого исходного сообщения отправки.

Публичные статические функции

parse (PacketBuffer *aBuffer, SendInit & aRequest)
Анализ данных из PacketBuffer в формат сообщения SendInit .

Публичные типы

МетаданныеTLVWriteCallback

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

MetaDataTLVWriteCallback предоставляет средства, с помощью которых клиент может предоставить SendInit любые метаданные, которые он хочет.

Клиент может предоставлять предварительно закодированные TLV (быстрее), кодировать «на лету» (использует меньше памяти), лениво кодировать (немного быстрее при запуске) и т. д. по своему усмотрению.

Во всех случаях предполагается, что данные, создаваемые обратным вызовом, постоянны для данного SendInit , т.е. не изменяются независимо от того, когда он вызывается. Это связано с тем, что обратный вызов также используется для вычисления длины любого такого записанного TLV , который может быть запрошен в любое время.

Подробности
Параметры
[in] aBuffer
Буфер назначения, в который может быть записано некоторое значение TLV .
[in] aBufferLength
Длина (в байтах) буфера назначения.
[in,out] aNumBytesWritten
Количество байтов, записанных в буфер назначения
[in] aAppState
Состояние приложения, предоставленное пользователем
Возвращаемые значения
WEAVE_ERROR
Любая обнаруженная ошибка.

Публичные атрибуты

mAsynchronousModeSupported

bool mAsynchronousModeSupported

Верно, если мы можем поддерживать асинхронный режим.

mDefiniteLength

bool mDefiniteLength

Истинно, если поле длины присутствует.

мфиледесигнатор

ReferencedString mFileDesignator

Строка, содержащая предварительно согласованную информацию.

мдлина

uint64_t mLength

Предлагаемая длина передаваемых данных: 0 — неопределенно.

ммакксблоксизе

uint16_t mMaxBlockSize

Предлагаемый максимальный размер блока для использования при передаче.

мМетаданные

ReferencedTLVData mMetaData

Необязательные метаданные TLV .

мметадатааппстате

void * mMetaDataAppState

Необязательное состояние приложения для метаданных TLV .

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

Дополнительная функция для записи метаданных TLV .

mReceiverDriveПоддерживается

bool mReceiverDriveSupported

Верно, если мы сможем поддерживать привод приемника.

mSenderDriveSupported

bool mSenderDriveSupported

Верно, если мы можем поддерживать диск отправителя.

мстартоффсет

uint64_t mStartOffset

Предлагаемое начальное смещение данных.

мстартоффсетпрезенте

bool mStartOffsetPresent

Истинно, если поле начального смещения присутствует.

мВерсия

uint8_t mVersion

Версия протокола BDX, которую мы выбрали.

mWideRange

bool mWideRange

Истинно, если смещение и длина составляют 64 бита.

Общественные функции

Отправитьинит

 SendInit(
  void
)

в этом

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
)

Инициализируйте «широкий» SendInit .

Подробности
Параметры
[in] aVersion
Версия BDX, которую мы используем
[in] aSenderDrive
Верно, если отправитель за рулем
[in] aReceiverDrive
Истинно, если получатель находится за рулем
[in] aAsynchMode
True, если устройство поддерживает асинхронный режим.
[in] aMaxBlockSize
Предложение по максимальному размеру блока для этого перевода
[in] aStartOffset
Начальное смещение в файле, с которого мы должны начать
[in] aLength
Длина передаваемого файла — 0 означает, что он имеет неопределенную длину.
[in] aFileDesignator
Строка, идентифицирующая данные, подлежащие передаче.
[in] aMetaData
(опционально) Дополнительные данные в формате TLV
Возврат
WEAVE_NO_ERROR в случае успеха

в этом

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
)

Инициализировать «неширокий» SendInit (32-битное начальное смещение, 32-битная длина)

Подробности
Параметры
[in] aVersion
Версия BDX, которую мы используем
[in] aSenderDrive
Верно, если отправитель за рулем
[in] aReceiverDrive
Истинно, если получатель находится за рулем
[in] aAsynchMode
True, если устройство поддерживает асинхронный режим.
[in] aMaxBlockSize
Предложение по максимальному размеру блока для этого перевода
[in] aStartOffset
Начальное смещение в файле, с которого мы должны начать
[in] aLength
Длина передаваемого файла — 0 означает, что он имеет неопределенную длину.
[in] aFileDesignator
Строка, идентифицирующая данные, подлежащие передаче.
[in] aMetaData
(опционально) Дополнительные данные в формате TLV
Возврат
WEAVE_NO_ERROR в случае успеха

в этом

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
)

Инициализируйте «широкий» SendInit .

Подробности
Параметры
[in] aVersion
Версия BDX, которую мы используем
[in] aSenderDrive
Верно, если отправитель за рулем
[in] aReceiverDrive
Истинно, если получатель находится за рулем
[in] aAsynchMode
True, если устройство поддерживает асинхронный режим.
[in] aMaxBlockSize
Предложение по максимальному размеру блока для этого перевода
[in] aStartOffset
Начальное смещение в файле, с которого мы должны начать
[in] aLength
Длина передаваемого файла — 0 означает, что он имеет неопределенную длину.
[in] aFileDesignator
Строка, идентифицирующая данные, подлежащие передаче.
[in] aMetaDataWriteCallback
(опционально) Функция записи дополнительных данных в формате TLV .
[in] aMetaDataAppState
Необязательный контекст для передачи в aMetaDataWriteCallback.
Возврат
WEAVE_NO_ERROR в случае успеха

в этом

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
)

Инициализировать «неширокий» SendInit (32-битное начальное смещение, 32-битная длина)

Подробности
Параметры
[in] aVersion
Версия BDX, которую мы используем
[in] aSenderDrive
Верно, если отправитель за рулем
[in] aReceiverDrive
Истинно, если получатель находится за рулем
[in] aAsynchMode
True, если устройство поддерживает асинхронный режим.
[in] aMaxBlockSize
Предложение по максимальному размеру блока для этого перевода
[in] aStartOffset
Начальное смещение в файле, с которого мы должны начать
[in] aLength
Длина передаваемого файла — 0 означает, что он имеет неопределенную длину.
[in] aFileDesignator
Строка, идентифицирующая данные, подлежащие передаче.
[in] aMetaDataWriteCallback
(опционально) Функция записи дополнительных данных в формате TLV .
[in] aMetaDataAppState
(необязательно) Контекст, который будет передан обратно в функцию обратного вызова.
Возврат
WEAVE_NO_ERROR в случае успеха

оператор==

bool operator==(
  const SendInit &
) const 

Сравнение равенства между сообщениями SendInit .

Подробности
Параметры
[in] another
Еще одно сообщение SendInit для сравнения.
Возврат
true, если у них все одинаковые поля.

пакет

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Упакуйте сообщение инициализации отправки в PacketBuffer.

Подробности
Параметры
[out] aBuffer
PacketBuffer для упаковки сообщения SendInit .
Возвращаемые значения
WEAVE_NO_ERROR
В случае успеха
WEAVE_ERROR_BUFFER_TOO_SMALL
Если буфер слишком мал

упакованная длина

uint16_t packedLength(
  void
)

Возвращает упакованную длину этого исходного сообщения отправки.

Подробности
Возврат
длина сообщения в упакованном виде

Публичные статические функции

анализировать

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

Анализ данных из PacketBuffer в формат сообщения SendInit .

Подробности
Параметры
[in] aBuffer
Указатель на PacketBuffer, содержащий данные, которые мы хотим проанализировать.
[out] aRequest
Указатель на объект SendInit , где мы должны сохранить результаты.
Возвращаемые значения
WEAVE_NO_ERROR
В случае успеха
WEAVE_ERROR_BUFFER_TOO_SMALL
Если буфер слишком мал