Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

TCP

このモジュールには、TCP通信を制御する機能が含まれています。

概要

列挙

anonymous enum列挙型
この列挙体はに渡されるフラグを定義)(otTcpConnectを
anonymous enum列挙型
この列挙体はに渡されるフラグを定義otTcpSendByReference
otTcpDisconnectedReason列挙型
otTcpIncomingConnectionAction {
OT_TCP_INCOMING_CONNECTION_ACTION_ACCEPT ,
OT_TCP_INCOMING_CONNECTION_ACTION_DEFER ,
OT_TCP_INCOMING_CONNECTION_ACTION_REFUSE
}
列挙型
この列挙は、着信接続アクションを定義します。

Typedef

otLinkedBuffer typedef
TCPで使用するためのリンクされたバッファ構造。
otTcpAcceptDone )(otTcpListener *aListener, otTcpEndpoint *aEndpoint, const otSockAddr *aPeer) typedef
void(*
このコールバックは、TCP接続が双方向通信の準備ができたことを示します。
otTcpAcceptReady )(otTcpListener *aListener, const otSockAddr *aPeer, otTcpEndpoint **aAcceptInto) typedef
このコールバックは、このTCPリスナーに一致する着信接続が到着したことを示します。
otTcpBytesAcked )(otTcpEndpoint *aEndpoint, size_t aNumBytes) typedef
void(*
このコールバックは、最初にすることをアプリケーションに通知aNumBytes送信におけるバッファ接続ピアによって、その根底にあるメモリは、アプリケーションによって再利用できることを認めてきました。
otTcpDisconnected )(otTcpEndpoint *aEndpoint, otTcpDisconnectedReason aReason) typedef
void(*
このコールバックは、接続が切断されて使用されなくなったこと、または接続がTIME-WAIT状態に入ったことを示します。
otTcpDisconnectedReason typedef
enum otTcpDisconnectedReason
otTcpEndpoint typedef
otTcpEndpointInitializeArgs typedef
この構造は、引数を含んでotTcpEndpointInitialize()関数。
otTcpEstablished )(otTcpEndpoint *aEndpoint) typedef
void(*
このコールバックは、TCP 3ウェイハンドシェイクが完了し、接続が確立されたことをアプリケーションに通知します。
otTcpIncomingConnectionAction typedef
この列挙は、着信接続アクションを定義します。
otTcpListener typedef
otTcpListenerInitializeArgs typedef
この構造は、引数を含んでotTcpListenerInitialize()関数。
otTcpReceiveAvailable )(otTcpEndpoint *aEndpoint, size_t aBytesAvailable, bool aEndOfStream, size_t aBytesRemaining) typedef
void(*
このコールバックは、受信バッファーからの消費に使用できるバイト数を示します。
otTcpSendDone )(otTcpEndpoint *aEndpoint, otLinkedBuffer *aData) typedef
void(*
このコールバック知らせる提供におけるデータというアプリケーションaData 、接続ピアによってとことを認めてきたaDataとそれに含まれるデータは、アプリケーションによって再利用することができます。
otTcpSendReady )(otTcpEndpoint *aEndpoint) typedef
void(*
このコールバックは、データが送信バッファに追加された場合、ピアがデータをACKすると送信のためにキューに入れられるのではなく、データの一部が遅延なしですぐに送信されることをアプリケーションに通知します。

関数

otTcpAbort ( otTcpEndpoint *aEndpoint)
このTCPエンドポイントに関連付けられているTCP接続を強制的に終了します。
otTcpBind ( otTcpEndpoint *aEndpoint, const otSockAddr *aSockName)
TCPエンドポイントをIPアドレスとポートにバインドします。
otTcpCommitReceive ( otTcpEndpoint *aEndpoint, size_t aNumBytes, uint32_t aFlags)
インフォームアプリケーションが終了処理があることTCPスタックaNumBytesバッファとTCPスタックが必要ないものは受信バッファにバイト維持し続けることを受け取るの開始時にデータのバイト。
otTcpConnect ( otTcpEndpoint *aEndpoint, const otSockAddr *aSockName, uint32_t aFlags)
この接続のリモートホストとポートを記録します。
otTcpEndpointDeinitialize ( otTcpEndpoint *aEndpoint)
このTCPエンドポイントを非初期化します。
otTcpEndpointGetContext ( otTcpEndpoint *aEndpoint)
void *
関連付けられたコンテキスト・ポインタ取得aEndpoint初期化時に。
otTcpEndpointGetInstance ( otTcpEndpoint *aEndpoint)
取得に関連していたotInstance aEndpoint初期化時に。
otTcpEndpointInitialize ( otInstance *aInstance, otTcpEndpoint *aEndpoint, otTcpEndpointInitializeArgs *aArgs)
TCPエンドポイントを初期化します。
otTcpGetLocalAddress (const otTcpEndpoint *aEndpoint)
const otSockAddr *
TCPエンドポイントのローカルホストとポートへのポインタを取得します。
otTcpGetPeerAddress (const otTcpEndpoint *aEndpoint)
const otSockAddr *
TCPエンドポイントのピアのホストとポートへのポインタを取得します。
otTcpListen ( otTcpListener *aListener, const otSockAddr *aSockName)
指定されたIPアドレスとポートに一致する着信TCP接続により、このTCPリスナーのコールバックがトリガーされます。
otTcpListenerDeinitialize ( otTcpListener *aListener)
このTCPリスナーを非初期化します。
otTcpListenerGetContext ( otTcpListener *aListener)
void *
関連付けられたコンテキスト・ポインタ取得aListener初期化時に。
otTcpListenerGetInstance ( otTcpListener *aListener)
取得に関連していたotInstance aListener初期化時に。
otTcpListenerInitialize ( otInstance *aInstance, otTcpListener *aListener, otTcpListenerInitializeArgs *aArgs)
TCPリスナーを初期化します。
otTcpReceiveByReference (const otTcpEndpoint *aEndpoint, const otLinkedBuffer **aBuffer)
現在TCP受信バッファーにあるデータを参照するリンクされたバッファーチェーンをアプリケーションに提供します。
otTcpReceiveContiguify ( otTcpEndpoint *aEndpoint)
受信バッファを再編成して、メモリ内で完全に連続するようにします。
otTcpSendByExtension ( otTcpEndpoint *aEndpoint, size_t aNumBytes, uint32_t aFlags)
最終の長さに延びることにより、送信バッファにデータを追加otLinkedBuffer所定量だけ送信バッファです。
otTcpSendByReference ( otTcpEndpoint *aEndpoint, otLinkedBuffer *aBuffer, uint32_t aFlags)
リンクバッファが参照する追加データがで指さaBuffer送信バッファへ。
otTcpSendEndOfStream ( otTcpEndpoint *aEndpoint)
このTCPエンドポイントがこれ以上データを送信しないことを接続ピアに通知します。
otTcpStopListening ( otTcpListener *aListener)
このTCPリスナーに着信接続のリッスンを停止させます。

構造体

otLinkedBuffer

TCPで使用するためのリンクされたバッファ構造。

otTcpEndpoint

この構造はTCPエンドポイントを表します。

otTcpEndpointInitializeArgs

この構造は、引数を含んでotTcpEndpointInitialize()関数。

otTcpListener

この構造はTCPリスナーを表します。

otTcpListenerInitializeArgs

この構造は、引数を含んでotTcpListenerInitialize()関数。

列挙

匿名列挙型

 anonymous enum

この列挙体はに渡されるフラグを定義)(otTcpConnectを

匿名列挙型

 anonymous enum

この列挙体はに渡されるフラグを定義otTcpSendByReference

otTcpDisconnectedReason

 otTcpDisconnectedReason

otTcpIncomingConnectionAction

 otTcpIncomingConnectionAction

この列挙は、着信接続アクションを定義します。

これはで使用されているotTcpAcceptReady()コールバック。

プロパティ
OT_TCP_INCOMING_CONNECTION_ACTION_ACCEPT

着信接続を受け入れます。

OT_TCP_INCOMING_CONNECTION_ACTION_DEFER

着信接続を延期します(サイレントに無視します)。

OT_TCP_INCOMING_CONNECTION_ACTION_REFUSE

着信接続を拒否します。

Typedef

otLinkedBuffer

struct otLinkedBuffer otLinkedBuffer

TCPで使用するためのリンクされたバッファ構造。

単一otLinkedBufferの構造はMDATAとmLengthを介して、メモリ内のバイトの配列を参照します。 mNextフィールドはチェーンを形成するために使用されるotLinkedBufferの構造を。

otTcpAcceptDone

void(* otTcpAcceptDone)(otTcpListener *aListener, otTcpEndpoint *aEndpoint, const otSockAddr *aPeer)

このコールバックは、TCP接続が双方向通信の準備ができたことを示します。

TCP Fast Openの場合、これはTCP接続ハンドシェイクが実際に完了する前である可能性があります。アプリケーションには、接続を受け入れたTCPリスナーとそれが受け入れられたTCPエンドポイントの両方のコンテキストポインターが提供されます。提供されるコンテキストは、TCPリスナーに関連付けられているコンテキストです。

詳細
パラメーター
[in] aListener
着信接続に一致するTCPリスナー。
[in] aEndpoint
着信接続が受け入れられたTCPエンドポイント。
[in] aPeer
着信接続の発信元のホストとポート。

otTcpAcceptReady

otTcpIncomingConnectionAction(* otTcpAcceptReady)(otTcpListener *aListener, const otSockAddr *aPeer, otTcpEndpoint **aAcceptInto)

このコールバックは、このTCPリスナーに一致する着信接続が到着したことを示します。

一般的な応答は、アプリケーションが着信接続を受け入れることです。これは、移入によってそうaAcceptInto指すポインタとotTcpEndpoint着信接続を受け入れるに。このotTcpEndpointはすでに使用して初期化する必要がありますotTcpEndpointInitializeを() 。次に、アプリケーションはOT_TCP_INCOMING_CONNECTION_ACTION_ACCEPTを返します。

または、アプリケーションが着信接続の受け入れを拒否することもできます。アプリケーションがこれを行うには2つの方法があります。まず、アプリケーションがOT_TCP_INCOMING_CONNECTION_ACTION_DEFERを返す場合、OpenThreadは接続確立要求をサイレントに無視します。接続ピアはリクエストを再送信する可能性が高く、その時点でコールバックが再度呼び出されます。これは、接続を受け入れるためのリソースが現在利用できない場合に役立ちますが、接続ピアが接続確立の試行を再送信するときに利用できる可能性があります。次に、アプリケーションがOT_TCP_INCOMING_CONNECTION_ACTION_REFUSEを返す場合、OpenThreadは、接続を確立しようとしたホストに「接続が拒否されました」というメッセージを送信します。アプリケーションが着信接続を拒否した場合、それを移入するために必要とされていませんaAcceptInto

詳細
パラメーター
[in] aListener
着信接続に一致するTCPリスナー。
[in] aPeer
着信接続の発信元のホストとポート。
[out] aAcceptInto
着信接続を受け入れるTCPエンドポイント。
戻り値
着信接続の処理方法の説明。

otTcpBytesAcked

void(* otTcpBytesAcked)(otTcpEndpoint *aEndpoint, size_t aNumBytes)

このコールバックは、最初にすることをアプリケーションに通知aNumBytes送信におけるバッファ接続ピアによって、その根底にあるメモリは、アプリケーションによって再利用できることを認めてきました。

このコールバックは、正しいTCP操作には必要ありません。ほとんどのアプリケーションは、単にに頼ることができますotTcpSendDone()コールバック。アプリケーションが、送信バッファーのメモリーが再び使用可能になったときに(リンクされたバッファー全体のデータが使用可能になるのを待つのではなく)、きめ細かいフィードバックが必要な場合、または接続が順調に進んでいるかどうかを示す場合は、このコールバックを登録できます。 。

詳細
パラメーター
[in] aEndpoint
接続のTCPエンドポイント。
[in] aNumBytes
接続ピアによって新たに確認応答されたバイト数。

otTcpDisconnected

void(* otTcpDisconnected)(otTcpEndpoint *aEndpoint, otTcpDisconnectedReason aReason)

このコールバックは、接続が切断されて使用されなくなったこと、または接続がTIME-WAIT状態に入ったことを示します。

これは、接続確立の試み(呼び出すことによって開始した場合に発生することができotTcpConnectは() )が失敗した、または任意の時点以降(例えば、接続がタイムアウトまたはRSTセグメントが接続ピアから受信された場合)。このコールバックが発火すると、アプリケーションがこの接続のために提供したすべてのリソース(すなわち、任意のotLinkedBuffers再利用することができ、彼らが参照すると、メモリが、ではないTCPは、それ自体または受信バッファ用のスペースをエンドポイント)。接続がTIME-WAIT状態に入る場合、このコールバックは2回呼び出されます。1回はTIME-WAIT状態に入るとき(OT_TCP_DISCONNECTED_REASON_TIME_WAITを使用)、もう1回はTIME-WAIT状態が期限切れになるとき(OT_TCP_DISCONNECTED_REASON_NORMALを使用)です。

詳細
パラメーター
[in] aEndpoint
接続が失われたTCPエンドポイント。
[in] aReason
接続が失われた理由。

otTcpDisconnectedReason

enum otTcpDisconnectedReason otTcpDisconnectedReason

otTcpEndpoint

struct otTcpEndpoint otTcpEndpoint

otTcpEndpointInitializeArgs

struct otTcpEndpointInitializeArgs otTcpEndpointInitializeArgs

この構造は、引数を含んでotTcpEndpointInitialize()関数。

otTcpEstablished

void(* otTcpEstablished)(otTcpEndpoint *aEndpoint)

このコールバックは、TCP 3ウェイハンドシェイクが完了し、接続が確立されたことをアプリケーションに通知します。

詳細
パラメーター
[in] aEndpoint
接続が確立されたTCPエンドポイント。

otTcpIncomingConnectionAction

enum otTcpIncomingConnectionAction otTcpIncomingConnectionAction

この列挙は、着信接続アクションを定義します。

これはで使用されているotTcpAcceptReady()コールバック。

otTcpListener

struct otTcpListener otTcpListener

otTcpListenerInitializeArgs

struct otTcpListenerInitializeArgs otTcpListenerInitializeArgs

この構造は、引数を含んでotTcpListenerInitialize()関数。

otTcpReceiveAvailable

void(* otTcpReceiveAvailable)(otTcpEndpoint *aEndpoint, size_t aBytesAvailable, bool aEndOfStream, size_t aBytesRemaining)

このコールバックは、受信バッファーからの消費に使用できるバイト数を示します。

これは、バイトが受信バッファーに追加されたとき、およびストリームの終わりに達したときに呼び出されます。ストリームの終わりに達した場合(つまり、接続ピアが書き込みのための接続の彼らの終わりを閉鎖したため、それ以上データが読み取り可能になりません場合)、 aEndOfStream真です。最後に、 aBytesRemaining到着した追加データを保持するための受信バッファに残っているどのくらいの容量を示しています。

詳細
パラメーター
[in] aEndpoint
接続のTCPエンドポイント。
[in] aBytesAvailable
接続の受信バッファのバイト数。
[in] aEndOfStream
接続の受信バッファにすでにあるデータ以外の追加データを受信できるかどうかを示します。
[in] aBytesRemaining
受信バッファがいっぱいになる前に受信できる追加のバイト数。

otTcpSendDone

void(* otTcpSendDone)(otTcpEndpoint *aEndpoint, otLinkedBuffer *aData)

このコールバックは、提供中のデータというアプリケーションに通知aData 、接続ピアによってとことを認めてきたaDataとそれに含まれるデータは、アプリケーションで再利用できるようになります。

aData経由でTCPに渡されたものと同一であることが保証されている)otTcpSendByReference(介して行わ任意の拡張子を含めて、 otTcpSendByExtension() 。

詳細
パラメーター
[in] aEndpoint
接続のTCPエンドポイント。
[in] aData
ポインタotLinkedBuffer再利用することができます。

otTcpSendReady

void(* otTcpSendReady)(otTcpEndpoint *aEndpoint)

このコールバックは、データが送信バッファに追加された場合、ピアがデータをACKすると送信のためにキューに入れられるのではなく、データの一部が遅延なしですぐに送信されることをアプリケーションに通知します。

呼び出した後otTcpSendByReference()またはotTcpSendByExtension() 、 otTcpSendReady()コールバックは(接続がより多くのデータの準備になると)どちらかすぐに(接続がすでに準備ができている場合)、または将来的にいつか、呼び出されることが保証されています。

このコールバックは、正しいTCP操作には必要ありません。遅滞なく送信できるよりも多くのデータが送信バッファに追加された場合、後で送信するためにキューに入れられます。このコールバックは、送信バッファに追加されたデータがすぐに送信されることを保証する必要がある場合にのみ使用する必要があります(たとえば、TCPは、受信者が他のデータをACKするのを待たずに、このデータを送信します)。たとえば、送信バッファにデータのバックログを作成するのではなく、データを削除したい場合は、このコールバックを使用できます。ただし、これが問題にならないほとんどのアプリケーションでは、このコールバックをまったく使用しないことが予想されます。

詳細
パラメーター
[in] aEndpoint
接続のTCPエンドポイント。

関数

otTcpAbort

otError otTcpAbort(
  otTcpEndpoint *aEndpoint
)

このTCPエンドポイントに関連付けられているTCP接続を強制的に終了します。

これは、すぐにアプリケーションが提供するすべてのデータの所有権移転、TCPは、別の接続のために使用するための無料エンドポイントと送信を空にし、受信バッファなります)(otTcpSendByReferenceをバックアプリケーションに呼び出します。 TCPエンドポイントのコールバックと受信バッファのメモリは、TCPエンドポイントに関連付けられたままです。

詳細
パラメーター
[in] aEndpoint
中止するTCPエンドポイントを表すTCPエンドポイント構造へのポインター。
戻り値
OT_ERROR_NONE
TCPエンドポイントの接続を正常に中止しました。
OT_ERROR_FAILED
TCPエンドポイントの接続を中止できませんでした。

otTcpBind

otError otTcpBind(
  otTcpEndpoint *aEndpoint,
  const otSockAddr *aSockName
)

TCPエンドポイントをIPアドレスとポートにバインドします。

詳細
パラメーター
[in] aEndpoint
バインドするTCPエンドポイント構造へのポインター。
[in] aSockName
このTCPエンドポイントをバインドするアドレスとポート。
戻り値
OT_ERROR_NONE
TCPエンドポイントを正常にバインドしました。
OT_ERROR_FAILED
TCPエンドポイントのバインドに失敗しました。

otTcpCommitReceive

otError otTcpCommitReceive(
  otTcpEndpoint *aEndpoint,
  size_t aNumBytes,
  uint32_t aFlags
)

インフォームアプリケーションが終了処理があることTCPスタックaNumBytesバッファとTCPスタックが必要ないものは受信バッファにバイト維持し続けることを受け取るの開始時にデータのバイト。

詳細
パラメーター
[in] aEndpoint
データを受信するTCPエンドポイントを表すTCPエンドポイント構造へのポインター。
[in] aNumBytes
消費されたバイト数。
[in] aFlags
この操作のオプションを指定するフラグ(まだありません)。
戻り値
OT_ERROR_NONE
受信操作が正常に完了しました。
OT_ERROR_FAILED
受信操作を完了できませんでした。

otTcpConnect

otError otTcpConnect(
  otTcpEndpoint *aEndpoint,
  const otSockAddr *aSockName,
  uint32_t aFlags
)

この接続のリモートホストとポートを記録します。

デフォルトでは、TCPファストオープンが使用されます。この関数は単にリモートホストとポートを記録し、TCPコネクション確立ハンドシェイクが唯一の最初の呼び出し時に起こるということをこれは意味otTcpSendByReference() 。 TCP高速を開き、明示的に使用して無効にすることができaFlags TCPコネクション確立ハンドシェイクがすぐに開始される場合には、。

詳細
パラメーター
[in] aEndpoint
接続するTCPエンドポイント構造へのポインター。
[in] aSockName
接続するホストのIPアドレスとポート。
[in] aFlags
この操作のオプションを指定するフラグ(上記の列挙を参照)。
戻り値
OT_ERROR_NONE
操作が正常に完了しました。
OT_ERROR_FAILED
操作を完了できませんでした。

otTcpEndpointDeinitialize

otError otTcpEndpointDeinitialize(
  otTcpEndpoint *aEndpoint
)

このTCPエンドポイントを非初期化します。

これは、OpenThreadがこのTCPエンドポイントを追跡しなくなり、このTCPエンドポイントに内部的に割り当てたすべてのリソースの割り当てを解除することを意味します。アプリケーションは、TCPエンドポイントをサポートするメモリを適切と思われる場合に再利用できます。

それはライブのTCP接続に対応する場合、接続は(のようにあっさり終了される)(otTcpAbort )。アプリケーションがこのTCPのエンドポイント(送信バッファのためのリンクのバッファ、バッファ、受信用メモリのために提供しているすべてのリソースaEndpointなど、構造自体は)すぐにアプリケーションに戻されます。

詳細
パラメーター
[in] aEndpoint
非初期化するTCPエンドポイント構造へのポインター。
戻り値
OT_ERROR_NONE
TCPエンドポイントの初期化が正常に解除されました。
OT_ERROR_FAILED
TCPエンドポイントの非初期化に失敗しました。

otTcpEndpointGetContext

void * otTcpEndpointGetContext(
  otTcpEndpoint *aEndpoint
)

関連付けられたコンテキスト・ポインタ取得aEndpoint初期化時に。

詳細
パラメーター
[in] aEndpoint
コンテキストを取得するTCPエンドポイント。
戻り値
関連付けられたコンテキストポインタaEndpoint

otTcpEndpointGetInstance

otInstance * otTcpEndpointGetInstance(
  otTcpEndpoint *aEndpoint
)

取得に関連していたotInstance aEndpoint初期化時に。

詳細
パラメーター
[in] aEndpoint
インスタンスを取得するTCPエンドポイント。
戻り値
関連付けられているotInstanceポインタaEndpoint

otTcpEndpointInitialize

otError otTcpEndpointInitialize(
  otInstance *aInstance,
  otTcpEndpoint *aEndpoint,
  otTcpEndpointInitializeArgs *aArgs
)

TCPエンドポイントを初期化します。

この関数を呼び出すと、TCPエンドポイントと店を追跡し、内部のTCPデータ取得しOpenThreadの原因となるaEndpoint 。アプリケーションは、直接のフィールドへのアクセスや変更をお控えくださいaEndpoint 。アプリケーションがバックアップメモリ再利用する必要がある場合aEndpoint 、それが呼び出す必要がありotTcpEndpointDeinitializeを() 。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aEndpoint
TCPエンドポイント構造へのポインター。
[in] aArgs
引数の構造へのポインタ。
戻り値
OT_ERROR_NONE
TCPエンドポイントを正常に開きました。
OT_ERROR_FAILED
TCPエンドポイントを開くことができませんでした。

otTcpGetLocalAddress

const otSockAddr * otTcpGetLocalAddress(
  const otTcpEndpoint *aEndpoint
)

TCPエンドポイントのローカルホストとポートへのポインタを取得します。

このソケットが接続状態になく、最後に切断された後にバインドされていない場合、ホストとポートの内容が古くなっている可能性があります。

詳細
パラメーター
[in] aEndpoint
ローカルホストとポートを取得するTCPエンドポイント。
戻り値
ローカルホストとポートaEndpoint

otTcpGetPeerAddress

const otSockAddr * otTcpGetPeerAddress(
  const otTcpEndpoint *aEndpoint
)

TCPエンドポイントのピアのホストとポートへのポインタを取得します。

このソケットが接続状態にない場合、ホストとポートの内容が古くなっている可能性があります。

詳細
パラメーター
[in] aEndpoint
ピアのホストとポートを取得するTCPエンドポイント。
戻り値
接続ピアのホストとポートaEndpoint

otTcpListen

otError otTcpListen(
  otTcpListener *aListener,
  const otSockAddr *aSockName
)

指定されたIPアドレスとポートに一致する着信TCP接続により、このTCPリスナーのコールバックがトリガーされます。

詳細
パラメーター
[in] aListener
リッスンを開始する必要があるTCPリスナー構造へのポインター。
[in] aSockName
着信接続をリッスンするアドレスとポート。
戻り値
OT_ERROR_NONE
TCPリスナーでのリスニングを正常に開始しました。
OT_ERROR_FAILED
TCPリスナーでのリスニングの開始に失敗しました。

otTcpListenerDeinitialize

otError otTcpListenerDeinitialize(
  otTcpListener *aListener
)

このTCPリスナーを非初期化します。

これは、OpenThreadがこのTCPリスナーを追跡しなくなり、このTCPリスナーに内部的に割り当てたすべてのリソースの割り当てを解除することを意味します。アプリケーションは、TCPリスナーをサポートするメモリを適切と思われる場合に再利用できます。

TCPリスナーが現在リッスンしている場合、リッスンを停止します。

詳細
パラメーター
[in] aListener
非初期化するTCPリスナー構造へのポインター。
戻り値
OT_ERROR_NONE
TCPリスナーを正常に非初期化しました。
OT_ERROR_FAILED
TCPリスナーの非初期化に失敗しました。

otTcpListenerGetContext

void * otTcpListenerGetContext(
  otTcpListener *aListener
)

関連付けられたコンテキスト・ポインタ取得aListener初期化時に。

詳細
パラメーター
[in] aListener
コンテキストを取得するTCPリスナー。
戻り値
関連付けられたコンテキストポインタaListener

otTcpListenerGetInstance

otInstance * otTcpListenerGetInstance(
  otTcpListener *aListener
)

取得に関連していたotInstance aListener初期化時に。

詳細
パラメーター
[in] aListener
インスタンスを取得するTCPリスナー。
戻り値
関連付けられているotInstanceポインタaListener

otTcpListenerInitialize

otError otTcpListenerInitialize(
  otInstance *aInstance,
  otTcpListener *aListener,
  otTcpListenerInitializeArgs *aArgs
)

TCPリスナーを初期化します。

この関数を呼び出すと、TCPリスナーと店を追跡し、内部でTCPデータを取得するために、OpenThreadを引き起こしaListener 。アプリケーションは、直接のフィールドへのアクセスや変更をお控えくださいaListener 。アプリケーションがメモリバッキング・再利用する必要がある場合aListener 、それが呼び出す必要がありotTcpListenerDeinitializeを() 。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aListener
TCPリスナー構造へのポインター。
[in] aArgs
引数の構造へのポインタ。
戻り値
OT_ERROR_NONE
TCPリスナーを正常に開きました。
OT_ERROR_FAILED
TCPリスナーを開くことができませんでした。

otTcpReceiveByReference

otError otTcpReceiveByReference(
  const otTcpEndpoint *aEndpoint,
  const otLinkedBuffer **aBuffer
)

現在TCP受信バッファーにあるデータを参照するリンクされたバッファーチェーンをアプリケーションに提供します。

リンクバッファチェーンは、「受信準備完了」コールバックは次呼び出されるまで、または次の呼び出しまで有効ですotTcpReceiveContiguify()または)otTcpCommitReceive( 。

詳細
パラメーター
[in] aEndpoint
データを受信するTCPエンドポイントを表すTCPエンドポイント構造へのポインター。
[out] aBuffer
現在受信バッファにあるデータを参照するリンクされたバッファチェーンへのポインタ。
戻り値
OT_ERROR_NONE
操作が正常に完了しました。
OT_ERROR_FAILED
操作を完了できませんでした。

otTcpReceiveContiguify

otError otTcpReceiveContiguify(
  otTcpEndpoint *aEndpoint
)

受信バッファを再編成して、メモリ内で完全に連続するようにします。

これはオプションです。アプリケーションは、単に呼び出すことによって得られる連結されたバッファチェーン横断できるotTcpReceiveByReference 。一部のアプリケーションは、この関数を呼び出して受信バッファーを連続させてデータ処理を簡素化することを希望する場合がありますが、これには、受信バッファー内のデータを再編成するためのCPU時間が犠牲になります。

詳細
パラメーター
[in] aEndpoint
受信バッファを再編成するTCPエンドポイントへのポインタ。
戻り値
OT_ERROR_NONE
操作が正常に完了しました。
OT_ERROR_FAILED
操作を完了できませんでした。

otTcpSendByExtension

otError otTcpSendByExtension(
  otTcpEndpoint *aEndpoint,
  size_t aNumBytes,
  uint32_t aFlags
)

最終の長さに延びることにより、送信バッファにデータを追加otLinkedBuffer所定量だけ送信バッファです。

送信バッファが空の場合、操作は失敗します。

詳細
パラメーター
[in] aEndpoint
データを送信するTCPエンドポイントを表すTCPエンドポイント構造へのポインター。
[in] aNumBytes
最終的にリンクされたバッファーの長さを拡張するためのバイト数。
[in] aFlags
この操作のオプションを指定するフラグ(上記の列挙を参照)。
戻り値
OT_ERROR_NONE
送信バッファにデータが正常に追加されました。
OT_ERROR_FAILED
送信バッファへのデータの追加に失敗しました。

otTcpSendByReference

otError otTcpSendByReference(
  otTcpEndpoint *aEndpoint,
  otLinkedBuffer *aBuffer,
  uint32_t aFlags
)

リンクバッファが参照する追加データがで指さaBuffer送信バッファへ。

この関数の呼び出しが成功すると、リンクされたバッファーとそれが参照するデータはTCPスタックによって所有されます。 「senddone」コールバックがそれらのオブジェクトの所有権をアプリケーションに返すまで、アプリケーションによって変更されるべきではありません。この関数の前回の呼び出しに対する「senddone」コールバックがまだ実行されていない場合でも、この関数を呼び出して別のリンクされたバッファーを送信キューに追加することは許容されます。

ことに注意してくださいaBuffer連鎖させるべきではありません。そのmNextフィールドはNULLである必要があります。この呼び出しの直後に追加データが追加される場合は、TCP実装のヒントとしてOT_TCP_SEND_MORE_TO_COMEフラグを使用する必要があります。

詳細
パラメーター
[in] aEndpoint
データを送信するTCPエンドポイントを表すTCPエンドポイント構造へのポインター。
[in] aBuffer
送信バッファーに追加するデータを参照するリンクされたバッファーチェーンへのポインター。
[in] aFlags
この操作のオプションを指定するフラグ(上記の列挙を参照)。
戻り値
OT_ERROR_NONE
送信バッファにデータが正常に追加されました。
OT_ERROR_FAILED
送信バッファへのデータの追加に失敗しました。

otTcpSendEndOfStream

otError otTcpSendEndOfStream(
  otTcpEndpoint *aEndpoint
)

このTCPエンドポイントがこれ以上データを送信しないことを接続ピアに通知します。

これは、アプリケーションに接続ピアに送信するデータがなくなった場合に使用する必要があります。この接続の場合、接続ピアでの将来の読み取りは「ストリームの終了」状態になり、この接続エンドポイントでの将来の書き込みは失敗します。

「ストリームの終わり」条件は、送信するためにTCPスタックに以前に提供されたデータが接続ピアによって受信された後にのみ適用されます。

詳細
パラメーター
[in] aEndpoint
シャットダウンするTCPエンドポイントを表すTCPエンドポイント構造へのポインター。
戻り値
OT_ERROR_NONE
送信のために「ストリームの終わり」条件を正常にキューに入れました。
OT_ERROR_FAILED
送信のために「ストリームの終わり」条件をキューに入れることができませんでした。

otTcpStopListening

otError otTcpStopListening(
  otTcpListener *aListener
)

このTCPリスナーに着信接続のリッスンを停止させます。

詳細
パラメーター
[in] aListener
リッスンを停止する必要があるTCPリスナー構造へのポインター。
戻り値
OT_ERROR_NONE
TCPリスナーでのリスニングを正常に停止しました。
OT_ERROR_FAILED
TCPリスナーでのリスニングを停止できませんでした。

マクロ

OT_TCP_RECEIVE_BUFFER_SIZE_FEW_HOPS

 OT_TCP_RECEIVE_BUFFER_SIZE_FEW_HOPS 2599

約3ワイヤレスホップ以下を通過するTCP接続の推奨バッファサイズ。

メモリが特に制約されているプラ​​ットフォームや、高帯域幅が必要ない状況では、手動で小さいバッファサイズを選択することが望ましい場合があります。

OT_TCP_RECEIVE_BUFFER_SIZE_MANY_HOPS

 OT_TCP_RECEIVE_BUFFER_SIZE_MANY_HOPS 4158

多くのワイヤレスホップを通過するTCP接続に推奨されるバッファサイズ。

TCP接続が非常に多数のホップ(6以上)を通過する場合は、手動で大きなバッファーサイズを選択することをお勧めします。