クライアントからサーバーへ(またはその逆へ)データを送信するためにスタブなしの RPC コールに必要なバッファサイズ(バイト単位)を計算できます。 サイズがわかっていると、EntireX Broker 使用時の Broker 属性ファイルなど、ミドルウェア層を構成する際に役立ちます。 スタブサブプログラムの生成時にすでにサイズが計算されている場合でも、必要があれば、スタブサブプログラムのサイズ計算を実行できます。
サイズ計算は、Stub Mass Calculation 機能またはダイレクトコマンド SYSRPC CSMASS
を使用して実行しますが、ダイレクトコマンドはオンラインモードでもバッチモードでも使用できます。 どちらの方法でもウィンドウが表示され、指定したサブプログラムで必要とされる送信長/受信長が通知されます。
このセクションでは、次の内容について説明します。
このセクションでは、Stub Mass Calculation 機能を使用してサイズ要件を計算する手順について説明します。
Stub Mass Calculation を実行するには
[SYSRPC - Remote Procedure Call]ウィンドウで、[Tools]メニューの[Stub Mass Calculation]を選択します。
または:
[SYSRPC - Remote Procedure Call]ウィンドウで、Ctrl キーを押したまま F5 キーを押します。
次のような[SYSRPC - Input for Stub Mass Calculation]ダイアログボックスが表示されます。
[Name]テキストボックスに、サイズを計算するサブプログラムの名前を入力するか、名前の範囲を指定します。 このテキストボックスは、すべてのサブプログラムのためのアスタリスク(*)が事前設定されています。 有効な名前の詳細については、「名前の指定と圧縮」の「名前」を参照してください。
必要に応じて、[Source Library]テキストボックスに、指定したサブプログラムを含むライブラリの名前を入力します。 このテキストボックスは、現在のライブラリの名前で事前設定されています。
[Target Library]テキストボックスは、一括計算の機能には適用されません。
[DBID, FNR]は読み取り専用のテキストボックスであり、データベース ID(DBID)、ファイル番号(FNR)、および入力したソースライブラリとターゲットライブラリの Natural ファイルのタイプ(FNAT
はシステム、FUSER
はユーザー)が表示されます。
[Compression]ドロップダウンリストボックスから、圧縮タイプ 0、1、または 2(デフォルトは 1)を選択します。『Natural リモートプロシージャコール(RPC)』ドキュメントの「Natural RPC 環境の運用」にある「圧縮の使用」の記載を参照してください。
指定したライブラリ(ここでは SAGTEST)について、タブ付きページ[Summary]および[Details]で校正される[SYSRPC - Calculation of Buffer Sizes for Stubless RPC in Library]ウィンドウが表示されます。
次の例に示すように、[Summary]ページには、選択されたサブプログラム(オブジェクト)の送信長/受信長の要件を示すレポートが表示されます。
このレポートは 2 つのセクションで構成されており、それぞれに次の情報が表示されます。
Calculation Criteria:
計算を実行したときに適用された条件。単一のオブジェクト名か名前の範囲(ここでは RPC*
)と、圧縮タイプ(ここでは 1
)が表示されます。
Calculation Results:
サイズ計算対象として選択されたオブジェクト数。 クライアントとの間でデータの送受信を行うために、選択されたすべてのオブジェクトで必要となる最大バッファサイズ。
サイズ計算が失敗すると、ページ下部のメッセージによってエラーが示されます。
次に示すように、[Details]ページには、計算対象として選択されたすべてのオブジェクトのリストが表示されます。
このリストはオブジェクト名([名前]列)のアルファベット順にソートされます。リストには次の情報が表示されます。
[Type]列に、計算に使用されるオブジェクトのタイプ(ここではサブプログラムタイプの N
)。
クライアントとの間でデータの送信([Send Length])や受信([Receive Length])を行うために各オブジェクトが必要とするバッファサイズ。
[Message]列に、各オブジェクト計算に関する可能性があるコメント。
サイズ計算が失敗した場合、影響を受けたオブジェクトの横にエラーメッセージが表示されます。ここでは RPCCALL2
が該当します。
サイズ要件をオンラインで計算するためのコマンド行に SYSRPC CSMASS
コマンドを入力できます。
コマンドによって生成されるレポートは、Stub Mass Calculation 機能について記述されるレポートに対応します。
次の構文図に、SYSRPC CSMASS
コマンドに適用される構文を示します。
SYSRPC CSMASS [name] [compression]
|
構文項目の name および compression については、「名前の指定と圧縮」セクションで説明します。
サイズ計算用に選択するオブジェクト(サブプログラム)および使用する圧縮のタイプを指定できます。
オブジェクト名または名前の範囲を指定できます。 名前または名前の範囲を指定しない場合、現在のライブラリに含まれるすべてのサブプログラムのサイズが計算されます。
以下は、有効な名前の指定について説明したものです。ここで value は、任意の組み合わせによる 1 文字以上の英数字を表します。
入力 | 選択されるオブジェクト |
---|---|
* |
すべてのサブプログラムまたは 。 これはデフォルト設定です。 |
value | value と同じ名前を持つサブプログラムまたは 。 |
value* | value で始まる名前を持つすべてのサブプログラムまたは 。 |
value< | value 以前の名前を持つすべてのサブプログラム。 |
value> | value 以降の名前を持つすべてのサブプログラムまたは 。 |
0
、1
、2
のいずれかの圧縮タイプを選択できます。 圧縮の指定は任意です。 スタブ生成に使用するデフォルトタイプは 1
です。
『Natural リモートプロシージャコール(RPC)』ドキュメントの「Natural RPC 環境の運用」にある「圧縮の使用」の記載も参照してください。