nl:: Weave:: Profiles:: BDX_Development
この名前空間には、現在開発中で本番環境で使用すべきではない Bulk Data Transfer(BDX)プロファイル用の Weave 内のすべてのインターフェースが含まれます。
概要
列挙型 |
|
---|---|
@80
|
enum |
@81
|
enum |
@82
|
enum |
@83
|
enum |
Typedef |
|
---|---|
BdxClient
|
typedef |
BdxServer
|
typedef |
ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
|
typedefvoid(*
このハンドラは、エラーコードを介してユーザー アプリケーション定義の制御フローに直接返せない Weave エラーが発生するたびに呼び出されます。 |
GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
|
typedefvoid(*
Get a block of data to be transmitted. |
PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
typedefvoid(*
長さが aLength の aDataBlock が指すデータのブロックを処理します。 |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
typedef 以前送信された ReceiveInit が宛先で受け入れられたときに呼び出されるコールバック。 |
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
|
typedefuint16_t(*
ReceiveInit メッセージを受信したときに呼び出されるコールバック。 |
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
|
typedefvoid(*
以前の Init メッセージのいずれかが宛先によって拒否された場合に呼び出されます。 |
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
|
typedef 以前送信された SendInit がデスティネーションで受け入れられたときに呼び出されるコールバック。 |
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
|
typedefuint16_t(*
SendInit メッセージを受信したときに呼び出されるコールバック。 |
XferDoneHandler)(BDXTransfer *aXfer)
|
typedefvoid(*
移行が完了したケースに対応します。 |
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
|
typedefvoid(*
BDX によって送受信された TransferError メッセージを処理します。 |
関数 |
|
---|---|
GetBDXAckFlag(ExchangeContext *anEc)
|
uint16_t
GetBDXAckFlag は、交換コンテキストの接続(TCP の場合はリクエスト確認応答なし)や WRMP のコンパイル時サポートに応じて RequestAck フィールドに適切なフラグを返します。
|
構造体 |
|
---|---|
nl:: |
|
nl:: |
この構造体には、アクティブな BDX 転送を表すデータメンバーが含まれます。 |
名前空間 |
|
---|---|
nl:: |
列挙型
@80
@80
@81
@81
@82
@82
@83
@83
Typedef
BdxClient
BdxNode BdxClient
BdxServer
BdxNode BdxServer
ErrorHandler
void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
このハンドラは、エラーコードを介してユーザー アプリケーション定義の制御フローに直接返せない Weave エラーが発生するたびに呼び出されます。
つまり、シグネチャの戻り値の型が void の別のハンドラ内でエラーが発生した場合(たとえば、受信した Weave メッセージへの応答や、プロトコルによるディスパッチなど)、このハンドラが呼び出され、ユーザーは転送を復元して続行できるかどうか、または Shutdown() を呼び出す必要があるかどうかを判断できます。BDXTransfer が初期化される前にエラーが発生する場合があることに注意してください(すでに割り当て済みの転送オブジェクトが多すぎる場合など)。その場合、そのエラーは Weave によってログに記録され、プロトコルが割り当てた必要な状態をすべてクリーンアップします。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
GetBlockHandler
void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
Get a block of data to be transmitted.
呼び出し元は、バッファリング領域(参照によって渡されるバッファとバッファの長さ)を提供します。呼び出し先(ユーザー アプリ)は、提供されたバッファを使用すべきですが、下位互換性の理由から、自身のバッファを返す場合があります。呼び出し先は aLength
を超えるバイトを提供することはできません。戻り値として、aLength
にはバッファに読み込まれた実際のバイト数が含まれます。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
PutBlockHandler
void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
長さが aLength の aDataBlock が指すデータのブロックを処理します。
isLastBlock が true の場合、この処理にはファイルへの書き込みと、そのファイルの終了処理が含まれる可能性があります。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
ReceiveAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
以前送信された ReceiveInit が宛先で受け入れられたときに呼び出されるコールバック。
この機会を利用して、ファイルを開くか、転送用にリソースを割り当てることをおすすめします。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
ReceiveInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
ReceiveInit メッセージを受信したときに呼び出されるコールバック。
その役割は、Receive を受け入れるかどうかを決定し、受け取る場合は aXfer->mIsAccepted=true を設定して、プロトコルが開始側に承認メッセージを送信するようにすることです。BDXTransfer オブジェクトはデフォルト設定で開始されます。これは、アプリケーション固有の状態(開いているファイルのハンドルなど)を aXfer->mAppState にアタッチするのに適しています。また、必要なハンドラもアタッチする必要があります。たとえば、この時点で BDXTransfer オブジェクトへのブロック処理を転送します。kStatus_Success 以外のエラーコードが返された場合、転送は拒否されたものとみなされ、プロトコルがコードと一緒に拒否メッセージを送信します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
RejectHandler
void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
以前の Init メッセージのいずれかが宛先によって拒否された場合に呼び出されます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
SendAcceptHandler
WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
以前送信された SendInit がデスティネーションで受け入れられたときに呼び出されるコールバック。
この機会を利用して、ファイルを開くか、転送用にリソースを割り当てることをおすすめします。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
SendInitHandler
uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
SendInit メッセージを受信したときに呼び出されるコールバック。
その役割は、SendInit を受け入れるかどうかを決定し、受け入れる場合は aXfer->mIsAccepted=true を設定して、プロトコルが開始者に承認メッセージを送信するようにすることです。BDXTransfer オブジェクトはデフォルト設定で開始されます。これは、アプリケーション固有の状態(開いているファイルのハンドルなど)を aXfer->mAppState にアタッチするのに適しています。また、必要なハンドラもアタッチする必要があります。たとえば、この時点で BDXTransfer オブジェクトへのブロック処理を転送します。WEAVE_NO_ERROR 以外のエラーコードが返された場合、転送は拒否されたものとみなされ、プロトコルがコードと一緒に拒否メッセージを送信します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
移行が完了したケースに対応します。
詳細 | |||
---|---|---|---|
パラメータ |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
BDX によって送受信された TransferError メッセージを処理します。
注: BDX 転送は復元可能な場合があるため(おそらく、その時点で PacketBuffers から一時的に転送される可能性もあります)、Shutdown() を呼び出すかどうかは、アプリケーション プログラマーとそれが定義するコールバックに委ねられます。TODO: これを確認し、BDX ドキュメントの言語と照合します。「[A TransferError] どちらの当事者も、時期尚早に 一括データ転送を終了します。」
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
関数
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag は、交換コンテキストの接続(TCP の場合はリクエスト確認応答なし)や WRMP のコンパイル時サポートに応じて RequestAck フィールドに適切なフラグを返します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
0 または kSendFlag_RequestAck
|