2.5.1 バッファプールとメッセージバッファ
- 〈この項の構成〉
(1) バッファプール
バッファプーリング機能を使用すると,生成されたバッファは,同じバッファサイズごとにプーリングされます。同じバッファサイズのバッファを管理するプールのことを,バッファプールと呼びます。なお,バッファプーリング機能を使用するとき,TP1ConnectionManagerクラスは,最大サイズ(1048576バイト)のバッファプールを必ず自動的に生成します。ただし,RPC送受信メッセージの最大長拡張機能を使用する場合,最大サイズには<option>要素のmaxMessageSize属性で指定した値(×1048576バイト)が設定されます。
バッファプール管理の構成例を,次の図に示します。
|
(2) メッセージバッファ
RPC要求およびTCP/IP通信にインデクスドレコードを使用するアプリケーションでは,バッファプールから取得したバッファをTP1ConnectionManagerクラスが生成するMessageBufferインスタンス(メッセージバッファ)に保持します。メッセージバッファは,インデクスドレコードのメッセージ用のレコード要素として使用します。
なお,RPC要求にクライアントスタブを使用する場合は,Connector .NETの内部でTP1ConnectionManagerクラスが生成するバッファプールを使用するため,アプリケーションが意識することなくバッファプーリング機能を利用できます。