分散トランザクション処理機能 TP1/Connector for .NET Framework 使用の手引

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

1.5.1 バッファプールとメッセージバッファ

<この項の構成>
(1) バッファプール
(2) メッセージバッファ

(1) バッファプール

バッファプーリング機能を使用すると,生成されたバッファは,同じバッファサイズごとにプーリングされます。同じバッファサイズのバッファを管理するプールのことを,バッファプールと呼びます。なお,バッファプーリング機能を使用するとき,TP1ConnectionManagerクラスは,最大サイズ(1048576バイト)のバッファプールを必ず自動的に生成します。ただし,RPC送受信メッセージの最大長拡張機能を使用する場合,最大サイズには<option>要素のmaxMessageSize属性で指定した値(×1048576バイト)が設定されます。

バッファプール管理の構成例を,次の図に示します。

図1-26 バッファプール管理の構成例

[図データ]

(2) メッセージバッファ

RPC要求およびTCP/IP通信にインデクスドレコードを使用するアプリケーションでは,バッファプールから取得したバッファをTP1ConnectionManagerクラスが生成するMessageBufferインスタンス(メッセージバッファ)に保持します。メッセージバッファは,インデクスドレコードのメッセージ用のレコード要素として使用します。

なお,RPC要求にクライアントスタブを使用する場合は,Connector .NETの内部でTP1ConnectionManagerクラスが生成するバッファプールを使用するため,アプリケーションが意識することなくバッファプーリング機能を利用できます。