nl::Weave::Profiles::BDX_Development::BDXTransfer

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

この構造体には、アクティブな BDX 転送を表すデータメンバーが含まれます。

概要

これらのオブジェクトは、BdxProtocol がプロトコルの状態を維持するために使用します。これらは、Connections と ExchangeContext の管理など、新しい転送の作成と初期化を処理する BdxServer によって管理されます。

をご覧ください。

パブリック属性

mAmInitiator
bool
mAmSender
bool
mAppState
void *
mBlockCounter
uint32_t
送信時に(転送が正式に開始された後)BlockQuery または BlockACK を受信すると予想される次のブロック番号。
mBytesSent
uint64_t
mExchangeContext
mFileDesignator
ファイル/ブロック関連のデータメンバー TODO: これを削除しますか?それとも、この文字列がどのようなもので、どのように使用されるかについてのコントラクトを締結した方がよいでしょうか?具体的には、PacketBuffer を基盤としているか。もしそうなら、pbuf を占有するため、xfer 全体に留まるべきではありません。
mFirstQuery
bool
mHandlers
mIsAccepted
bool
mIsCompletedSuccessfully
bool
mIsInitiated
bool
mIsWideRange
bool
mLength
uint64_t
mMaxBlockSize
uint16_t
mNext)(BDXTransfer &)
mStartOffset
uint64_t
mTransferMode
uint8_t
mVersion
uint8_t

パブリック関数

DispatchErrorHandler(WEAVE_ERROR anErrorCode)
void
エラーハンドラが設定されている場合は呼び出します。
DispatchGetBlockHandler(uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
void
get ブロック ハンドラが設定されている場合は、それを呼び出します。
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
void
put ブロック ハンドラが設定されている場合は、それを呼び出します。
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
ディスパッチャは、ハンドラが設定されているかどうかを確認し、設定されていればそれを呼び出します。
DispatchRejectHandler(StatusReport *aReport)
void
拒否ハンドラが設定されている場合は、呼び出します。
DispatchSendAccept(SendAccept *aSendAcceptMsg)
送信承認ハンドラが設定されている場合は、呼び出します。
DispatchXferDoneHandler(void)
void
転送完了ハンドラが設定されている場合は、呼び出します。
DispatchXferErrorHandler(StatusReport *aXferError)
void
転送エラーハンドラが設定されている場合は、呼び出します。
GetDefaultFlags(bool aExpectResponse)
uint16_t
この関数は、メッセージとともに送信されるデフォルトのフラグを返します。
IsAsync(void)
bool
 Returns true if this transfer is asynchronous, false otherwise.
IsDriver(void)
bool
 Returns true if this entity (node) is the driver for this transfer, false otherwise.
Reset(void)
void
 Sets all pointers to NULL, resets counters, etc.
SetHandlers(BDXHandlers aHandlers)
void
この関数は、この BDXTransfer オブジェクトにハンドラを設定します。
Shutdown(void)
void
 Shuts down the current transfer, including closing any open ExchangeContext.

パブリック属性

mAmInitiator

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmInitiator

mAmSender

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmSender

mAppState

void * nl::Weave::Profiles::BDX_Development::BDXTransfer::mAppState

mBlockCounter

uint32_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBlockCounter

送信時に(転送が正式に開始された後)BlockQuery または BlockACK を受信すると予想される次のブロック番号。

受信すると、次に受信すると予想される BlockSend、または Google が送信した最新の BlockQuery(転送が正式に開始され、最初のクエリが送信された後)になります。

mBytesSent

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBytesSent

mExchangeContext

ExchangeContext * nl::Weave::Profiles::BDX_Development::BDXTransfer::mExchangeContext

mFileDesignator

ReferencedString nl::Weave::Profiles::BDX_Development::BDXTransfer::mFileDesignator

ファイル/ブロック関連のデータメンバー TODO: これを削除しますか?それとも、この文字列がどのようなもので、どのように使用されるかについてのコントラクトを締結した方がよいでしょうか?具体的には、PacketBuffer を基盤としているか。もしそうなら、pbuf を占有するため、xfer 全体に留まるべきではありません。

mFirstQuery

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mFirstQuery

mHandlers

BDXHandlers nl::Weave::Profiles::BDX_Development::BDXTransfer::mHandlers

mIsAccepted

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsAccepted

mIsCompletedSuccessfully

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsCompletedSuccessfully

mIsInitiated

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsInitiated

mIsWideRange

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsWideRange

mLength

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mLength

mMaxBlockSize

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mMaxBlockSize

mNext

WEAVE_ERROR(* nl::Weave::Profiles::BDX_Development::BDXTransfer::mNext)(BDXTransfer &)

mStartOffset

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mStartOffset

mTransferMode

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mTransferMode

mVersion

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mVersion

パブリック関数

DispatchErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler(
  WEAVE_ERROR anErrorCode
)

エラーハンドラが設定されている場合は呼び出します。

設定されていない場合は、デフォルトの動作として転送もシャットダウンします。

詳細
パラメータ
[in] anErrorCode
処理するエラーコード

DispatchGetBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler(
  uint64_t *aLength,
  uint8_t **aDataBlock,
  bool *aLastBlock
)

get ブロック ハンドラが設定されている場合は、それを呼び出します。

詳細
パラメータ
[in] aLength
ブロックの長さ
[in] aDataBlock
データブロックへのポインタ
[in] aLastBlock
これが転送の最後のブロックである場合は true

DispatchPutBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler(
  uint64_t aLength,
  uint8_t *aDataBlock,
  bool aLastBlock
)

put ブロック ハンドラが設定されている場合は、それを呼び出します。

詳細
パラメータ
[in] aLength
ブロックの長さ
[in] aDataBlock
データブロックへのポインタ
[in] aLastBlock
これが転送の最後のブロックである場合は true

DispatchReceiveAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept(
  ReceiveAccept *aReceiveAcceptMsg
)

ディスパッチャは、ハンドラが設定されているかどうかを確認し、設定されていればそれを呼び出します。

受信受け入れハンドラが設定されている場合は、それを呼び出します。

したがって、これらはコールバックを呼び出すための公開インターフェースとして使用する必要があります。外部のアプリケーションが直接これに触れないようにする必要があります。BDXTransfer の今後のリビジョンでは、各コールバックへの個別のポインタを格納するのではなく、委譲オブジェクトが使用されるようになる可能性があります。

詳細
パラメータ
[in] aReceiveAcceptMsg
処理される ReceiveAccept メッセージ
戻り値
エラー値

DispatchRejectHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler(
  StatusReport *aReport
)

拒否ハンドラが設定されている場合は、呼び出します。

設定されていない場合は、デフォルトの動作として転送もシャットダウンします。

詳細
パラメータ
[in] aReport
処理する StatusReport メッセージ

DispatchSendAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept(
  SendAccept *aSendAcceptMsg
)

送信承認ハンドラが設定されている場合は、呼び出します。

詳細
パラメータ
[in] aSendAcceptMsg
処理される SendAccept メッセージ
戻り値
エラー値

DispatchXferDoneHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler(
  void
)

転送完了ハンドラが設定されている場合は、呼び出します。

設定されていない場合は、デフォルトの動作として転送もシャットダウンします。

DispatchXferErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler(
  StatusReport *aXferError
)

転送エラーハンドラが設定されている場合は、呼び出します。

設定されていない場合は、デフォルトの動作として転送もシャットダウンします。

詳細
パラメータ
[in] aXferError
処理するエラーのステータス レポート

GetDefaultFlags

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags(
  bool aExpectResponse
)

この関数は、メッセージとともに送信されるデフォルトのフラグを返します。

詳細
パラメータ
[in] aExpectResponse
このメッセージへの応答が必要な場合
戻り値
送信するフラグ

IsAsync

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync(
  void
)

 Returns true if this transfer is asynchronous, false otherwise.

詳細
戻り値
転送が非同期の場合は true を返します。

IsDriver

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsDriver(
  void
)

 Returns true if this entity (node) is the driver for this transfer, false otherwise.

詳細
戻り値
このエンティティがこの転送の要因である場合は true

リセット

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Reset(
  void
)

 Sets all pointers to NULL, resets counters, etc.

シャットダウン時に呼び出されます。

SetHandlers

void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers(
  BDXHandlers aHandlers
)

この関数は、この BDXTransfer オブジェクトにハンドラを設定します。

ハンドラ関数ポインタの格納方法の基礎となる実装は公開 API の一部ではないため、手動で設定しようとするのではなく、常にこのメソッドを使用してください。

詳細
パラメータ
[in] aHandlers
呼び出されるコールバック ハンドラの構造

シャットダウン

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown(
  void
)

 Shuts down the current transfer, including closing any open ExchangeContext.

この機会を利用して、この移行とアプリロジックに関連するすべてのリソースを解放してください。