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

#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) typedef
MetaDataTLVWriteCallback は、クライアントが必要なメタデータを SendInit に提供するための手段を提供します。

パブリック属性

mAsynchronousModeSupported
bool
非同期モードをサポートできる場合は true に設定します。
mDefiniteLength
bool
長さフィールドが存在する場合は true。
mFileDesignator
事前交渉済みの情報を含む文字列。
mLength
uint64_t
転送中のデータの長さの提案。無期限の場合は 0。
mMaxBlockSize
uint16_t
転送で使用するために提案された最大ブロックサイズ。
mMetaData
オプションの TLV メタデータ。
mMetaDataAppState
void *
TLV メタデータのアプリの状態(任意)。
mMetaDataWriteCallback
TLV メタデータを書き出すオプションの関数。
mReceiverDriveSupported
bool
レシーバーのドライブをサポートできる場合は true。
mSenderDriveSupported
bool
送信者のドライブをサポートできる場合は true。
mStartOffset
uint64_t
提案されたデータの開始オフセット。
mStartOffsetPresent
bool
開始オフセット フィールドが存在する場合は true。
mVersion
uint8_t
決定した BDX プロトコルのバージョン。
mWideRange
bool
オフセットと長さが 64 ビットの場合は true。

パブリック関数

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)
送信 init メッセージを PacketBuffer にパックします。
packedLength(void)
uint16_t
この送信初期化メッセージのパック長を返します。

静的パブリック関数

parse(PacketBuffer *aBuffer, SendInit & aRequest)
PacketBuffer のデータを SendInit メッセージ形式に解析します。

パブリック タイプ

MetaDataTLVWriteCallback

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

非同期モードをサポートできる場合は true に設定します。

mDefiniteLength

bool mDefiniteLength

長さフィールドが存在する場合は true。

mFileDesignator

ReferencedString mFileDesignator

事前交渉済みの情報を含む文字列。

mLength

uint64_t mLength

転送中のデータの長さの提案。無期限の場合は 0。

mMaxBlockSize

uint16_t mMaxBlockSize

転送で使用するために提案された最大ブロックサイズ。

mMetaData

ReferencedTLVData mMetaData

オプションの TLV メタデータ。

mMetaDataAppState

void * mMetaDataAppState

TLV メタデータのアプリの状態(任意)。

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

TLV メタデータを書き出すオプションの関数。

mReceiverDriveSupported

bool mReceiverDriveSupported

レシーバーのドライブをサポートできる場合は true。

mSenderDriveSupported

bool mSenderDriveSupported

送信者のドライブをサポートできる場合は true。

mStartOffset

uint64_t mStartOffset

提案されたデータの開始オフセット。

mStartOffsetPresent

bool mStartOffsetPresent

開始オフセット フィールドが存在する場合は true。

mVersion

uint8_t mVersion

決定した BDX プロトコルのバージョン。

mWideRange

bool mWideRange

オフセットと長さが 64 ビットの場合は true。

パブリック関数

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
)

「ワイド」の SendInit を初期化します。

詳細
パラメータ
[in] aVersion
使用している BDX のバージョン
[in] aSenderDrive
送信者が運転中の場合は true。
[in] aReceiverDrive
レシーバーが運転している場合は true。
[in] aAsynchMode
デバイスが非同期モードをサポートしている場合は true
[in] aMaxBlockSize
この転送の最大ブロックサイズの提案
[in] aStartOffset
ファイル内の開始オフセット
[in] aLength
転送されるファイルの長さ - 0 は長さが不定であることを意味します
[in] aFileDesignator
転送するデータを識別する文字列
[in] aMetaData
(省略可)TLV 形式の追加データ
戻り値
WEAVE_NO_ERROR(成功した場合)

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
)

「ワイドではない」SendInit(32 ビットの開始オフセット、32 ビット長)を初期化する

詳細
パラメータ
[in] aVersion
使用している BDX のバージョン
[in] aSenderDrive
送信者が運転中の場合は true。
[in] aReceiverDrive
レシーバーが運転している場合は true。
[in] aAsynchMode
デバイスが非同期モードをサポートしている場合は true
[in] aMaxBlockSize
この転送の最大ブロックサイズの提案
[in] aStartOffset
ファイル内の開始オフセット
[in] aLength
転送されるファイルの長さ - 0 は長さが不定であることを意味します
[in] aFileDesignator
転送するデータを識別する文字列
[in] aMetaData
(省略可)TLV 形式の追加データ
戻り値
WEAVE_NO_ERROR(成功した場合)

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
)

「ワイド」の SendInit を初期化します。

詳細
パラメータ
[in] aVersion
使用している BDX のバージョン
[in] aSenderDrive
送信者が運転中の場合は true。
[in] aReceiverDrive
レシーバーが運転している場合は true。
[in] aAsynchMode
デバイスが非同期モードをサポートしている場合は true
[in] aMaxBlockSize
この転送の最大ブロックサイズの提案
[in] aStartOffset
ファイル内の開始オフセット
[in] aLength
転送されるファイルの長さ - 0 は長さが不定であることを意味します
[in] aFileDesignator
転送するデータを識別する文字列
[in] aMetaDataWriteCallback
(省略可)追加データを TLV 形式で書き出す関数
[in] aMetaDataAppState
aMetaDataWriteCallback に渡されるオプションのコンテキスト
戻り値
WEAVE_NO_ERROR(成功した場合)

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
)

「ワイドではない」SendInit(32 ビットの開始オフセット、32 ビット長)を初期化する

詳細
パラメータ
[in] aVersion
使用している BDX のバージョン
[in] aSenderDrive
送信者が運転中の場合は true。
[in] aReceiverDrive
レシーバーが運転している場合は true。
[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
)

送信 init メッセージを PacketBuffer にパックします。

詳細
パラメータ
[out] aBuffer
SendInit メッセージをパッキングするための PacketBuffer
戻り値
WEAVE_NO_ERROR
成功した場合
WEAVE_ERROR_BUFFER_TOO_SMALL
バッファが小さすぎる場合

packedLength

uint16_t packedLength(
  void
)

この送信初期化メッセージのパック長を返します。

詳細
戻り値
パックされたときのメッセージの長さ

静的パブリック関数

parse

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

PacketBuffer のデータを SendInit メッセージ形式に解析します。

詳細
パラメータ
[in] aBuffer
解析するデータを含む PacketBuffer へのポインタ
[out] aRequest
結果を保存する SendInit オブジェクトへのポインタ
戻り値
WEAVE_NO_ERROR
成功した場合
WEAVE_ERROR_BUFFER_TOO_SMALL
バッファが小さすぎる場合