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)
「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)
「non-wide」関数を初期化する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)
「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)
「non-wide」関数を初期化するSendInit(32 ビット開始オフセット、32 ビット長)
operator==(const SendInit &) const
bool
SendInit メッセージ間の等価比較。
pack(PacketBuffer *aBuffer)
送信開始メッセージを 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 の長さを計算するためにもコールバックが使用されるためです。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
)

「wide」関数を初期化する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
)

「non-wide」関数を初期化する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
)

「wide」関数を初期化する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
)

「non-wide」関数を初期化する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
)

送信開始メッセージを 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
バッファが小さすぎる場合