cm.bound
クラス RequestQueue

java.lang.Object
  拡張cm.bound.RequestQueue

public class RequestQueue
extends java.lang.Object

$Rev: 59 $
$Date: 2005-03-02 19:58:40 +0900 (Wed, 02 Mar 2005) $
$Author: C.M $

受け付けたリクエストを溜めるキューを表すクラス。 内部にリクエストキューとチャネルスレッドのプールを保持する。


コンストラクタの概要
RequestQueue(int maxQueueLen, int initChannelCount, int maxChannelCount, int gainChannelCount)
          指定した maxQueueLen 長のリクエストキューと指定した channelCount 数の cm.bound.Channel のオブジェクトのスレッドプールを保持する RequestQueue を作成する。
 
メソッドの概要
 Request pullRequest()
          リクエストキューの最後尾からリクエストオブジェクトを取り出す。
 void putRequest(Request request)
          指定したリクエスト request をリクエストキューの先頭に置く。
 boolean removeChannel(Channel c)
          チャネルスレッドのごみ箱から指定したチャネルスレッドを削除する。
 void startChannels()
          チャネルスレッドプール内のスレッドを全て起動する。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

RequestQueue

public RequestQueue(int maxQueueLen,
                    int initChannelCount,
                    int maxChannelCount,
                    int gainChannelCount)
指定した maxQueueLen 長のリクエストキューと指定した channelCount 数の cm.bound.Channel のオブジェクトのスレッドプールを保持する RequestQueue を作成する。

パラメータ:
maxQueueLen - リクエストキューの最大長
initChannelCount - チャネルスレッドの数の初期値
maxChannelCount - チャネルスレッドの数の最大値
gainChannelCount - チャネルスレッドの数の増加量
関連項目:
Channel
メソッドの詳細

startChannels

public void startChannels()
チャネルスレッドプール内のスレッドを全て起動する。

関連項目:
Channel

removeChannel

public boolean removeChannel(Channel c)
チャネルスレッドのごみ箱から指定したチャネルスレッドを削除する。

パラメータ:
c - ごみ箱から削除するチャネルスレッド。
戻り値:
削除された場合は true、削除されなかった場合は false。
関連項目:
Channel

putRequest

public void putRequest(Request request)
                throws RejectRequestException
指定したリクエスト request をリクエストキューの先頭に置く。

パラメータ:
request - リクエストキューに置く Request オブジェクト。
例外:
リクエストキューが既にいっぱいだった場合。
RejectRequestException
関連項目:
Request

pullRequest

public Request pullRequest()
リクエストキューの最後尾からリクエストオブジェクトを取り出す。

戻り値:
リクエストキューから取り出した Request オブジェクト。
関連項目:
Request