otTcpCircularSendBuffer
#include <tcp_ext.h>
TCP エンドポイントで使用する循環送信バッファを表します。
概要
循環送信バッファの使用は任意です。アプリケーションは、otLinkedBuffers を直接管理することで、TCP エンドポイントを使用してデータを送信できます。ただし、アプリケーションによっては、循環送信バッファを使用する方が便利である場合があります。このようなアプリケーションでは、otTcpCircularSendBufferWrite() を呼び出して循環送信バッファを TCP エンドポイントに「アタッチ」し、循環送信バッファを利用して基盤となる otLinkedBuffers に管理することで、その TCP エンドポイント上でデータを送信できます。
otTcpCircularSendBuffer は、otTcpEndpoint が提供する otLinkedBuffer ベースの API の上に実装されます。otTcpEndpoint に接続すると、otTcpCircularSendBuffer は接続の otLinkedBuffers を管理するすべての作業を実行します。つまり、otTcpCircularSendBuffer が otTcpEndpoint にアタッチされると、アプリケーションはその otTcpEndpoint で otTcpSendByReference() または otTcpSendByExtension() を呼び出してはならないということです。代わりに、アプリケーションは otTcpCircularSendBufferWrite() を使用して送信バッファにデータを追加する必要があります。
otTcpForwardProgress() コールバックは、循環送信バッファでスペースが利用可能になったときにユーザーに知らせるためのものです。otTcpCircularSendBuffer がアタッチされている otTcpEndpoint で、アプリは otTcpForwardProgress() コールバックをインストールし、コールバック関数の開始時に、アタッチされた otTcpCircularSendBuffer を呼び出さなければなりません。otLinkedBuffers の管理はすべて循環送信バッファによって処理されるため、otTcpSendDone() コールバックをインストールしないことをおすすめします。
アプリケーションは、この構造体のフィールドを直接検査しないでください。このファイル内で署名が提供される TCP Circular Send Buffer API 関数を介してのみ、この構造体とやり取りする必要があります。
パブリック属性 |
|
---|---|
mCapacity
|
size_t
循環送信バッファの長さ。
|
mCapacityUsed
|
size_t
送信バッファに格納されたバイト数。
|
mDataBuffer
|
uint8_t *
循環送信バッファ内のデータへのポインタ。
|
mFirstSendLinkIndex
|
uint8_t
|
mSendLinks[2]
|
|
mStartIndex
|
size_t
送信バッファ内の最初の有効なバイトのインデックス。
|
パブリック属性
mCapacity
size_t otTcpCircularSendBuffer::mCapacity
循環送信バッファの長さ。
mCapacityUsed
size_t otTcpCircularSendBuffer::mCapacityUsed
送信バッファに格納されたバイト数。
mDataBuffer
uint8_t * otTcpCircularSendBuffer::mDataBuffer
循環送信バッファ内のデータへのポインタ。
mFirstSendLinkIndex
uint8_t otTcpCircularSendBuffer::mFirstSendLinkIndex
mSendLinks
otLinkedBuffer otTcpCircularSendBuffer::mSendLinks[2]
mStartIndex
size_t otTcpCircularSendBuffer::mStartIndex
送信バッファ内の最初の有効なバイトのインデックス。
関連情報
OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに由来しています。 詳細について、またはドキュメントへの投稿については、リソースをご覧ください。