Listener Class

The Listener class encapsulates the ability to listen for Messages, on behalf of registered Agents, at specified queues.

Table 13-23 Summary of Listener Methods

Method Summary

Listener()

Listener class constructor.

getAgentList()

Retrieves the list of Agents for which the Listener provides its services.

getTimeOutForListen()

Retrieves the time out for a call.

listen()

Listens for Messages and returns the name of the Agent for whom a Message is intended.

setAgentList()

Specifies the list of Agents for which the Listener provides its services.

setTimeOutForListen()

Specifies the time out for a listen() call.



Listener()

Listener class constructor.

Syntax Description
Listener(
   const Connection* conn);
Creates a Listener object.
Listener(
   const Connection* conn
   vector<Agent> &aglist,
   int waitTime=0);
Creates a Listener object and sets the list of Agents on behalf of which it listens on queues. Also sets the waiting time; default: no waiting.

Parameter Description
conn
The connection of the new Listener object.
aglist
The list of agents on behalf of which the Listener object waits on queues; clients of this Listener.
waitTime
The time to wait on queues for messages of interest for the clients; in seconds.


getAgentList()

Retrieves the list of Agents for which the Listener provides its services.

Syntax

vector<Agent> getAgentList() const;

getTimeOutForListen()

Retrieves the time out for a call.

Syntax

int getTimeOutForListen() const;

listen()

Listens for Messages on behalf of specified Agents for the amount of time specified by a previous setTimeOutForListen() call. Returns the Agent for which there is a Message.

Note that this is a blocking call. Before this call, complete the following steps:

  • Registers each Agent listener through a setAgentList() call.

  • Make a blocking call to setTimeOutForListen() that returns when a Message for one of the Agents on the list arrives. If no Messages arrive before the wait time expires, the call returns an error.

Syntax

Agent listen();

setAgentList()

Specifies the list of Agents for which the Listener provides its services.

Syntax

void setAgentList(
   vector<Agent>& agList);
Parameter Description
agList
The list of Agents.


setTimeOutForListen()

Specifies the time out for a listen() call.

Syntax

void setTimeOutForListen(
   int waitTime);
Parameter Description
waitTime
The time interval, in seconds, during which the Listener is waiting for Messages at specified queues.