分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/User Datagram Protocol編

[目次][用語][索引][前へ][次へ]

mcftalcle論理端末定義の開始

形式

 
mcftalcle  -l  論理端末名称
           -p  udp
           -t  any
         〔-i  auto|manual〕
         〔-v  アプリケーション名〕
           -g  "sndbuf=メッセージ送信用バッファグループ番号
                rcvbuf=メッセージ受信用バッファグループ番号"
         〔-e  "〔msgbuf=メッセージ編集用バッファグループ番号〕
                〔count=メッセージ編集用バッファ数〕"〕
         〔-s  "〔syssndsize=システムのメッセージ送信バッファ長〕
                〔sysrcvsize=システムのメッセージ受信バッファ長〕"〕
           -r  "〔ipaddr=自システムのIPアドレス〕
                〔hostname=自システムのホスト名〕
                  portno=自システムのポート番号
                〔reuse=yes|no〕"
         〔-m  "〔multicast=yes|no〕
                〔hostgroupname=参加するホストグループのホスト名〕
                〔hostgroupaddr=参加するホストグループのIPアドレス〕
                〔ripaddr=自システムのIPアドレス〕
                〔rhostname=自システムのホスト名〕"〕
                〔multicastttl=送信するマルチキャストパケットの生存期間(TTL)"〕
                〔mmsgcnt=メモリ出力メッセージ最大格納数〕
                〔dmsgcnt=ディスク出力メッセージ最大格納数〕"〕
         〔-k  "〔quekindmemory|disk〕
                〔quegrpid=キューグループID〕"〕
         〔-o  "〔ajyes|no〕"〕
 

機能

論理端末に関する環境を定義します。

オプション

●-l 論理端末名称  〜<1〜8文字の識別子

OpenTP1システム内で,一意となる論理端末名称を指定します。

●-p udp

プロトコルの種別を指定します。

udp
UDPプロトコル(TP1/NET/UDP)

●-t any

この論理端末の端末タイプを指定します。

any
任意型論理端末

●-i auto|manual  〜《manual》

OpenTP1システム開始時および再開始時に論理端末を自動的に閉塞解除するかどうかを指定します。

auto
OpenTP1システム開始時および再開始時に論理端末を自動的に閉塞解除します。

manual
MCF起動後,運用コマンド(mcftactle)を入力して閉塞解除します。

●-v アプリケーション名  〜<1〜8文字の識別子>

入力メッセージを受信した場合に起動するアプリケーション名称(MHP)を指定します。MCFアプリケーション属性定義(mcfaalcap -nオプションのnameオペランド)で定義した名称を指定してください。MCFアプリケーション属性定義の詳細については,マニュアル「OpenTP1 システム定義」を参照してください。

このオプションを省略した場合,入力メッセージ編集UOCで指定した値,またはメッセージの先頭から空白の手前までの8バイト以内の値がアプリケーション名として仮定されます。アプリケーション名決定の優先順位については,「2.2.5 アプリケーション名の決定」を参照してください。

●-g

(オペランド)

sndbufメッセージ送信用バッファグループ番号  〜<符号なし整数>((1〜512))
メッセージ送信用のバッファグループ番号を指定します。
mcftbufコマンドの-gオプションgroupnoオペランドに指定したバッファグループ番号を指定してください。

rcvbufメッセージ受信用バッファグループ番号  〜<符号なし整数>((1〜512))
メッセージ受信用のバッファグループ番号を指定します。
mcftbufコマンドの-gオプションgroupnoオペランドに指定したバッファグループ番号を指定してください。

●-e

(オペランド)

msgbufメッセージ編集用バッファグループ番号  〜<符号なし整数>((1〜512))
入力,および出力メッセージ編集UOCで,メッセージ編集用として使用するバッファグループ番号を指定します。このオペランドを省略した場合,メッセージ編集用バッファは確保されません。
mcftbufコマンドの-gオプションのgroupnoオペランドに指定したバッファグループ番号を指定してください。

countメッセージ編集用バッファ数  〜<符号なし整数>((1〜131070))
入力,および出力メッセージ編集UOCで,メッセージ編集用として使用するバッファの数を指定します。
メッセージ編集用バッファグループ番号(msgbufオペランドで指定)に対応するmcftbufコマンドで指定するバッファ数(-gオプションのcountオペランドおよびextendオペランド)の中から,メッセージ編集用に使用するバッファ数を指定してください。2以上の値を指定しても,入力,および出力メッセージ編集UOCで使用できる編集バッファ数は一つだけです。
また,このcountオペランドで指定するメッセージ編集用バッファ数は,mcftbufコマンドで指定するバッファ数(-gオプションのcountオペランドおよびextendオペランド)の合計値を超える指定はできません。
msgbufオペランドを省略した場合,このオペランドの指定は無効です。

●-s

(オペランド)

syssndsizeシステムのメッセージ送信バッファ長  〜<符号なし整数>((1〜2147483647))
OSが提供するソケットオプション「SO_SNDBUF」(システムのメッセージ送信バッファ長)を指定します。

sysrcvsizeシステムのメッセージ受信バッファ長  〜<符号なし整数>((1〜2147483647))
OSが提供するソケットオプション「SO_RCVBUF」(システムのメッセージ受信バッファ長)を指定します。

syssndsizeオペランドおよびsysrcvsizeオペランドで指定できるバッファ長の範囲はOSに依存します。指定を省略すると,OSのデフォルト値が仮定されます。詳しくは,ご使用のOSのマニュアルで,UDPプロトコルについて説明している個所を参照してください。

なお,syssndsizeオペランドおよびsysrcvsizeオペランドの指定値を決定する際には,「2.1.4 AP間通信の注意事項」のメッセージ長に関する項目を参照してください。

●-r

(オペランド)

ipaddr自システムのIPアドレス  〜(nnn.nnn.nnn.nnn)<符号なし整数>((0〜255))
自システムがホットスタンバイ構成である場合,または複数のLANアダプタを持つ場合に,メッセージの送信に使用するLANアダプタのIPアドレスを指定します。
ipaddrオペランドまたはhostnameオペランドのどちらか一方を指定してください。両方を指定した場合は,定義オブジェクトの生成時にエラーとなります。どちらも省略した場合は,OSが使用するLANアダプタが仮定されます。
メッセージ受信に使用する論理端末の場合,ipaddrオペランドを指定してはいけません。

hostname自システムのホスト名  〜<1〜255文字のホスト名>
自システムがホットスタンバイ構成である場合,または複数のLANアダプタを持つ場合に,メッセージの送信に使用するLANアダプタのホスト名を指定します。
hostnameオペランドまたはipaddrオペランドのどちらか一方を指定してください。両方を指定した場合は,定義オブジェクトの生成時にエラーとなります。どちらも省略した場合は,OSが使用するLANアダプタが仮定されます。
メッセージ受信に使用する論理端末の場合,hostnameオペランドを指定してはいけません。

portno自システムのポート番号  〜<符号なし整数>((1〜65535))
メッセージ送受信に使用する,自システムのポート番号を指定します。
portnoオペランドで指定するポート番号は,重複を避けるため次のポート番号とは異なる値を指定してください。
  • ほかのmcftalcleコマンドの-rオプションで指定するポート番号
  • OSが任意に割り当てるポート番号(動的ポートまたは短命ポートと呼ばれるポート番号)
    OSが任意に割り当てる番号は,OSの種別やバージョンによって異なります。詳細については,ご使用のOSのマニュアルを参照してください。

reuse=yes|no  〜《no》
OSが提供するソケットオプション「SO_REUSEPORT」または「SO_REUSEADDR」を使用して,複数のMCF通信プロセスで同一のポート番号を共用するかどうかを指定します。
yes
複数のMCF通信プロセスでポート番号を共用します。
no
複数のMCF通信プロセスでポート番号を共用しません。

●-m

(オペランド)

multicast=yes|no  〜《no》
マルチキャストを使用したメッセージの送受信の有無を指定します。
yes
マルチキャストを使用したメッセージの送受信を行います。
no
マルチキャストを使用したメッセージの送受信を行いません。

hostgroupname参加するホストグループのホスト名  〜<1〜255文字のホスト名>
マルチキャストメッセージを受信する場合,参加するホストグループのホスト名を指定します。
hostgroupnameオペランドまたはhostgroupaddrオペランドのどちらか一方を必ず指定してください。両方を指定した場合は,定義オブジェクトの生成時にエラーとなります。
また,multicastオペランドにnoを指定した場合にhostgroupnameオペランドを指定すると,定義オブジェクトの生成時にエラーとなります。

hostgroupaddr参加するホストグループのIPアドレス  〜(nnn.nnn.nnn.nnn)<符号なし整数>((0〜255))
マルチキャストメッセージを受信する場合,参加するホストグループのIPアドレスを指定します。
hostgroupaddrオペランドまたはhostgroupnameオペランドのどちらか一方を必ず指定してください。両方を指定した場合は,定義オブジェクトの生成時にエラーとなります。
また,multicastオペランドにnoを指定した場合にhostgroupnameオペランドを指定すると,定義オブジェクトの生成時にエラーとなります。

ripaddr自システムのIPアドレス  〜(nnn.nnn.nnn.nnn)<符号なし整数>((0〜255))
自システムがホットスタンバイ構成である場合,または複数のLANアダプタを持つ場合に,マルチキャストメッセージの受信に使用するLANアダプタのIPアドレスを指定します。
ripaddrオペランドまたはrhostnameオペランドのどちらか一方を指定してください。両方を指定した場合は,定義オブジェクトの生成時にエラーとなります。どちらも省略した場合は,OSが使用するLANアダプタが仮定されます。
また,multicastオペランドにnoを指定した場合にripaddrオペランドを指定すると,定義オブジェクトの生成時にエラーとなります。

rhostname自システムのホスト名  〜<1〜255文字のホスト名>
自システムがホットスタンバイ構成である場合,または複数のLANアダプタを持つ場合に,マルチキャストメッセージの受信に使用するLANアダプタのホスト名を指定します。
rhostnameオペランドまたはripaddrオペランドのどちらか一方を指定してください。両方を指定した場合は,定義オブジェクトの生成時にエラーとなります。どちらも省略した場合は,OSが使用するLANアダプタが仮定されます。
また,multicastオペランドにnoを指定した場合にrhostnameオペランドを指定すると,定義オブジェクトの生成時にエラーとなります。

multicastttl送信するマルチキャストパケットの生存期間TTL)  〜<符号なし整数>((0〜255))
OSが提供するソケットオプション「IP_MULTICAST_TTL」を使用して,マルチキャストメッセージ送信時のマルチキャストパケットの生存期間(TTL)を指定します。このオペランドを省略した場合,TTLはOSが設定します。TTLのデフォルト値については,ご使用のOSのマニュアルを参照してください。
multicastオペランドにnoを指定した場合にmulticastttlオペランドを指定すると,定義オブジェクトの生成時にエラーとなります。

mmsgcnt=メモリ出力メッセージ最大格納数  〜<符号なし整数>((0〜65535))《0》
メモリキューで待ち合わせる出力メッセージの最大格納数を指定します。
出力メッセージの待ち合わせ数が指定した最大数になると,それ以後UAPからの一方送信メッセージの送信要求(dc_mcf_send関数またはSEND文)はエラーリターン(リターン値DCMCFRTN_71003またはステータスコード71003)となります。
0を指定した場合,メモリキューで待ち合わせる出力メッセージの数は無制限になります。ただし,実際に待ち合わせできる出力メッセージ数は動的共用メモリの容量に依存します。

dmsgcnt=ディスク出力メッセージ最大格納数  〜<符号なし整数>((0〜65535))《0》
ディスクキューで待ち合わせる出力メッセージの最大格納数を指定します。
出力メッセージの待ち合わせ数が指定した最大数になると,それ以後UAPからの一方送信メッセージの送信要求(dc_mcf_send関数またはSEND文)はエラーリターン(リターン値DCMCFRTN_71003またはステータスコード71003)となります。
0を指定した場合,ディスクキューで待ち合わせする出力メッセージの数は無制限になります。ただし,実際に待ち合わせできる出力メッセージ数はメッセージキューファイルの容量に依存します。

●-k

(オペランド)

quekind=memory|disk  〜《memory》
出力メッセージの割り当て先(メモリキューまたはディスクキュー)を指定します。
memory
メモリキューだけに割り当てます。
disk
ディスクキューおよびメモリキューに割り当てます。
diskを指定した場合,必ずquegrpidオペランドを指定してください。

quegrpid=キューグループID  〜<1〜8文字の識別子>
ディスクキューで待ち合わせする出力メッセージに使用するキューグループIDを指定します。
MCFマネジャ定義のmcfmqgidコマンドで指定するキューグループID(キュー種別はotq)のどれかを指定してください。
このオペランドは,quekindオペランドでdiskを指定した場合だけ指定します。

●-o

(オペランド)

aj=yes|no  〜《yes》
メッセージ送信が完了した場合に,メッセージ送信完了ジャーナル(AJ)を取得するかどうかを指定します。ただし,sendsync関数で送信したメッセージは,このオペランドの指定内容に関係なく,メッセージ送信完了ジャーナルを取得しません。
yes
メッセージ送信完了ジャーナルを取得します。
no
メッセージ送信完了ジャーナルを取得しません。

注意事項

-gオプション,および-eオプションで指定するバッファグループ番号は,バッファグループ定義のmcftbufコマンドに対応しています。mcftbufコマンドでは,1論理端末単位に次の表に示す資源が必要です。バッファグループ定義については,マニュアル「OpenTP1 システム定義」を参照してください。

バッファ種別 lengthオペランド countオペランド
sndbuf 最大送信長+TP1/NET/UDP制御ヘッダ長(24バイト)以上 1以上
rcvbuf 最大受信メッセージ長以上 相手システムから連続して送られてくるメッセージ数
msgbuf sndbufとrcvbufのどちらか大きい方の値 sndbufと同じ

注※
受信バッファの面積は,システムのトラフィック量に応じて,受信バッファ不足が発生しないよう見積もってください。