13.17 リスナー・クラス
Listenerクラスは、指定のキューで登録済AgentとしてMessageをリスニングする機能をカプセル化します。
表13-23 Listenerメソッドの概要
| メソッド | 概要 |
|---|---|
|
|
|
|
|
|
|
コールのタイムアウトを取り出します。 |
|
|
|
|
|
|
|
|
listen()のコールのタイムアウトを指定します。 |
13.17.1 Listener()
Listenerクラスのコンストラクタです。
| 構文 | 説明 |
|---|---|
Listener( const Connection* conn); |
|
Listener( const Connection* conn vector<Agent> &aglist, int waitTime=0); |
|
| パラメータ | 説明 |
|---|---|
conn |
新規 |
aglist |
|
waitTime |
クライアントにとって重要なメッセージをキューで待機する秒数を指定します。 |
13.17.4 listen()
前のsetTimeOutForListen()のコールで指定された時間だけ、指定されたAgentとしてMessageをリスニングします。MessageがあるAgentを戻します。
これはブロック化コールです。このコールの前に、次のステップを実行してください。
-
setAgentList()をコールして各エージェントのリスナーを登録します。
-
リスト上の
Agentの1つにMessageが届いたときに戻されるsetTimeOutForListen()に対してブロック化コールを行います。待機時間が経過する前にMessageが届かない場合、コールはエラーを返します。
構文
Agent listen();
13.17.5 setAgentList()
Listenerがサービスを提供するAgentのリストを指定します。
構文
void setAgentList( vector<Agent>& agList);
| パラメータ | 説明 |
|---|---|
agList |
|
13.17.6 setTimeOutForListen()
listen()のコールのタイムアウトを指定します。
構文
void setTimeOutForListen( int waitTime);
| パラメータ | 説明 |
|---|---|
waitTime |
指定のキューで |