分散トランザクション処理機能 TP1/Connector for .NET Framework 使用の手引
TP1ConnectionManagerクラスは,GetMessageBufferメソッドのパラメタに指定されたメッセージ長を保持できるメッセージバッファを生成します。
バッファ取得時のバッファプールの構造を,次の図に示します。
図1-27 バッファ取得時のバッファプールの構造
メッセージバッファは,TP1ConnectionManagerクラスがプール管理するバッファを内部に取得します。取得するバッファは,GetMessageBufferメソッドのパラメタに指定されたメッセージ長を保持できる,最も小さいサイズのバッファです。
指定されたメッセージ長を保持できる,最も小さいサイズのバッファがバッファプール内に存在しない場合は,バッファを新規生成してメッセージバッファを生成します。この場合,バッファプールのバッファが解放されるまでは,GetMessageBufferメソッドが呼び出されるたびにバッファを新規生成し,メッセージバッファを生成します。
バッファ解放時のバッファプールの構造を,次の図に示します。
図1-28 バッファ解放時のバッファプールの構造
バッファを解放するときは,MessageBufferクラスのReleaseMessageBufferメソッドを呼び出します。バッファを格納するバッファプールに空きがあれば,バッファはバッファプールに戻ります。バッファプールが満杯のときは,バッファはプーリングされないで破棄されます。
All Rights Reserved. Copyright (C) 2006, 2009, Hitachi, Ltd.