otTcpCircularSendBuffer

#include <tcp_ext.h>

TCP エンドポイントで使用する循環送信バッファを表します。

概要

循環送信バッファの使用は任意です。アプリケーションは、otLinkedBuffers を直接管理することで、TCP エンドポイントを使用してデータを送信できます。ただし、アプリケーションによっては、循環送信バッファを使用する方が便利である場合があります。このようなアプリケーションでは、otTcpCircularSendBufferWrite() を呼び出して循環送信バッファを TCP エンドポイントに「アタッチ」し、循環送信バッファを利用して基盤となる otLinkedBuffers に管理することで、その TCP エンドポイント上でデータを送信できます。

otTcpCircularSendBuffer は、otTcpEndpoint が提供する otLinkedBuffer ベースの API の上に実装されます。otTcpEndpoint に接続すると、otTcpCircularSendBuffer は接続の otLinkedBuffers を管理するすべての作業を実行します。つまり、otTcpCircularSendBufferotTcpEndpoint にアタッチされると、アプリケーションはその otTcpEndpointotTcpSendByReference() または 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
otLinkedBuffer otTcpCircularSendBuffer::mSendLinks[2]

mStartIndex

size_t otTcpCircularSendBuffer::mStartIndex

送信バッファ内の最初の有効なバイトのインデックス。

関連情報

OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに由来しています。 詳細について、またはドキュメントへの投稿については、リソースをご覧ください。