ネットワークインタフェース

状態遷移

以下の表に、XTI/TLI 関連のすべての状態遷移を示します。最初に、状態とイベントについて説明します。

XTI/TLI 状態

表 3-8 に、XTI/TLI の状態遷移で経過する状態およびサービスタイプを定義します。

表 3-8 XTI/TLI 状態遷移とサービスタイプ

状態 

説明 

サービスタイプ 

T_UNINIT

初期化未完 - インタフェースの初期状態と終了状態 

T_COTST_COTS_ORDT_CLTS

T_UNBND

初期化されているが、バインドされていない 

T_COTST_COTS_ORDT_CLTS

T_IDLE

接続が確立していない 

T_COTST_COTS_ORDT_CLTS

T_OUTCON

クライアントに対する送信接続が保留中 

T_COTS T_COTS_ORD

T_INCON

サーバーに対する受信接続が保留中 

T_COTS T_COTS_ORD

T_DATAXFER

データ転送 

T_COTST_COTS_ORD

T_OUTREL

送信正常型解放 (正常型解放要求待ち) 

T_COTS_ORD

T_INREL

受信正常型解放 (正常型解放要求の送信待ち) 

T_COTS_ORD

送信イベント

表 3-9 に記載する送信イベントは、指定のトランスポートルーチンがトランスポートプロバイダに要求または応答を送信したときに返される状態に対応しています。「accept」など、この表に記載する一部のイベントは、それが発生したコンテキストによって意味が変わります。これらのコンテキストは、次の変数の値に基づきます。

表 3-9 送信イベント

イベント 

説明 

サービスタイプ 

opened

正常に t_open(3NSL) が終了した

T_COTST_COTS_ORDT_CLTS

bind

正常に t_bind(3NSL) が終了した

T_COTST_COTS_ORDT_CLTS

optmgmt

正常に t_optmgmt(3NSL) が終了した

T_COTST_COTS_ORDT_CLTS

unbind

正常に t_unbind(3NSL) が終了した

T_COTST_COTS_ORDT_CLTS

closed

正常に t_close(3NSL) が終了した

T_COTST_COTS_ORDT_CLT

connect1

同期モードの t_connect(3NSL) が正常に終了した

T_COTST_COTS_ORD

connect2

非同期モードの t_connect(3NSL)TNODATA エラーが発生したか、または切断要求がトランスポートエンドポイントに到着したことにより TLOOK エラーが発生した

T_COTST_COTS_ORD

accept1

ocnt == 1fd == resfdt_accept(3NSL) が正常に終了した

T_COTST_COTS_ORD

accept2

ocnt == 1fd != resfdt_accept(3NSL) が正常に終了した

T_COTST_COTS_ORD

accept3

ocnt > 1t_accept(3NSL) が正常に終了した

T_COTST_COTS_ORD

snd

正常に t_snd(3NSL) が終了した

T_COTST_COTS_ORD

snddis1

ocnt <= 1t_snddis(3NSL) が正常に終了した

T_COTST_COTS_ORD

snddis2

ocnt > 1t_snddis(3NSL) が正常に終了した

T_COTST_COTS_ORD

sndrel

正常に t_sndrel(3NSL) が終了した

T_COTS_ORD

sndudata

正常に t_sndudata(3NSL) が終了した

T_CLTS

受信イベント

受信イベントは、指定のルーチンが正常に終了したときに発生します。これらのルーチンは、トランスポートプロバイダからのデータやイベント情報を返します。ルーチンからの戻り値に直接関連付けられていない入力イベントは、pass_conn だけで、接続が他のエンドポイントに移行するときに発生します。エンドポイントで XTI/TLI ルーチンを呼び出さなくても、接続を渡しているエンドポイントではこのイベントが発生します。

表 3-10 に示す rcvdis イベントは、それぞれ ocnt の値が異なります。ocnt とは、エンドポイントでの未処理接続要求の数です。

表 3-10 受信イベント

イベント 

接続 

サービスタイプ 

listen

正常に t_listen(3NSL) が終了した

T_COTST_COTS_ORD

rcvconnect

正常に t_rcvconnect(3NSL) が終了した

T_COTST_COTS_ORD

rcv

正常に t_rcv(3NSL) が終了した

T_COTST_COTS_ORD

rcvdis1

onct <= 0t_rcvdis(3NSL) が正常に終了した

T_COTST_COTS_ORD

rcvdis2

onct == 1t_rcvdis(3NSL) が正常に終了した

T_COTST_COTS_ORD

rcvdis3

onct > 1t_rcvdis(3NSL) が正常に終了した

T_COTST_COTS_ORD

rcvrel

正常に t_rcvrel(3NSL) が終了した

T_COTS_ORD

rcvudata

正常に t_rcvudata(3NSL) が終了した

T_CLTS

rcvuderr

正常に t_rcvuderr(3NSL) が終了した

T_CLTS

pass_conn

渡された接続を受け取った 

T_COTST_COTS_ORD

トランスポートユーザーの動作

次に示す一部の状態遷移は、トランスポートユーザーが行うべき動作の一覧を示しています。各動作は、次の一覧に示す値で表現します。

状態テーブル

状態テーブルは、XTI/TLI の状態遷移を示します。状態テーブルの列には現在の状態を、行には現在のイベントを、行と列の交差する部分では次に発生する状態を示しています。次に発生する状態が空の場合は、状態とイベントの組み合わせが無効であることを意味します。また次に発生する状態には、動作一覧が示されている場合もあります。動作は、指定された順序で実行しなければなりません。

状態テーブルを見る場合は、次の点に注意してください。

表 3-11表 3-12表 3-13 および表 3-14 では、エンドポイントの確立、コネクションレスモードでのデータの転送、コネクションモードでの接続確立/接続解放/データ転送を示します。

表 3-11 接続確立時における状態

イベント/状態 

T_UNINIT 

T_UNBND 

T_IDLE 

opened

T_UNBND 

 

 

bind

 

T_IDLE[1] 

 

optmgmt (TLI のみ)

 

 

T_IDLE 

unbind

 

 

T_UNBND 

closed

 

T_UNINIT 

 

表 3-12 コネクションモードにおける状態 - その 1

イベント/状態 

T_IDLE 

T_OUTCON 

T_INCON 

T_DATAXFER 

connect1

T_DATAXFER 

 

 

 

connect2

T_OUTCON 

 

 

 

rcvconnect

 

T_DATAXFER 

 

 

listen

T_INCON [2] 

 

T_INCON [2] 

 

accept1

 

 

T_DATAXFER [3] 

 

accept2

 

 

T_IDLE [3] [4] 

 

accept3

 

 

T_INCON [3] [4] 

 

snd

 

 

 

T_DATAXFER 

rcv

 

 

 

T_DATAXFER 

snddis1

 

T_IDLE 

T_IDLE [3] 

T_IDLE 

snddis2

 

 

T_INCON [3] 

 

rcvdis1

 

T_IDLE 

 

T_IDLE 

rcvdis2

 

 

T_IDLE [3] 

 

rcvdis3

 

 

T_INCON [3] 

 

sndrel

 

 

 

T_OUTREL 

rcvrel

 

 

 

T_INREL 

pass_conn

T_DATAXFER 

 

 

 

optmgmt

T_IDLE 

T_OUTCON 

T_INCON 

T_DATAXFER 

closed

T_UNINIT 

T_UNINIT 

T_UNINIT 

T_UNINIT 

表 3-13 コネクションモードにおける状態 - その 2

イベント/状態 

T_OUTREL 

T_INREL 

T_UNBND 

connect1

 

 

 

connect2

 

 

 

rcvconnect

 

 

 

listen

 

 

 

accept1

 

 

 

accept2

 

 

 

accept3

 

 

 

snd

 

T_INREL 

 

rcv

T_OUTREL 

 

 

snddis1

T_IDLE 

T_IDLE 

 

snddis2

 

 

 

rcvdis1

T_IDLE 

T_IDLE 

 

rcvdis2

 

 

 

rcvdis3

 

 

 

sndrel

 

T_IDLE 

 

rcvrel

T_IDLE 

 

 

pass_conn

 

 

T_DATAXFER

optmgmt

T_OUTREL 

T_INREL 

T_UNBND 

closed

T_UNINIT 

T_UNINIT 

 

表 3-14 コネクションレスモードにおける状態

イベント/状態 

T_IDLE 

snudata

T_IDLE 

rcvdata

T_IDLE 

rcvuderr

T_IDLE