com.caucho.bam.query
Interface QuerySender

All Known Subinterfaces:
ActorSender, RemoteActorSender
All Known Implementing Classes:
AbstractActorSender, HmtpClient, HmuxClient, LocalActorSender, SimpleActorSender

public interface QuerySender

QuerySender is a convenience API for an Actor to send and manage queries.


Method Summary
 java.lang.String getAddress()
          Returns the Actor's address used for all "from" parameters.
 Broker getBroker()
          The underlying broker.
 QueryManager getQueryManager()
           
 void message(java.lang.String to, java.io.Serializable payload)
          Sends a unidirectional message to an ActorHolder, addressed by the Actor's address.
 java.io.Serializable query(java.lang.String to, java.io.Serializable payload)
          Sends a query information call (get) to an actor, blocking until the actor responds with a result or an error.
 java.io.Serializable query(java.lang.String to, java.io.Serializable payload, long timeout)
          Sends a query information call to an actor, blocking until the actor responds with a result or an error.
 void query(java.lang.String to, java.io.Serializable payload, QueryCallback callback)
          Sends a query information call (get) to an actor, providing a callback to receive the result or error.
 

Method Detail

getAddress

java.lang.String getAddress()
Returns the Actor's address used for all "from" parameters.


getBroker

Broker getBroker()
The underlying broker.


message

void message(java.lang.String to,
             java.io.Serializable payload)
Sends a unidirectional message to an ActorHolder, addressed by the Actor's address.

Parameters:
to - the target actor's address
payload - the message payload

getQueryManager

QueryManager getQueryManager()

query

java.io.Serializable query(java.lang.String to,
                           java.io.Serializable payload)
Sends a query information call (get) to an actor, blocking until the actor responds with a result or an error. The target actor of a queryGet acts as a service and the caller acts as a client. Because BAM Actors are symmetrical, all Actors can act as services and clients for different RPC calls. The target actor MUST send a queryResult or queryError to the client using the same id, because RPC clients rely on a response.

Parameters:
to - the target actor's address
payload - the query payload

query

java.io.Serializable query(java.lang.String to,
                           java.io.Serializable payload,
                           long timeout)
Sends a query information call to an actor, blocking until the actor responds with a result or an error. The target actor of a query acts as a service and the caller acts as a client. Because BAM Actors are symmetrical, all Actors can act as services and clients for different RPC calls. The target actor MUST send a queryResult or queryError to the client using the same id, because RPC clients rely on a response.

Parameters:
to - the target actor's address
payload - the query payload
timeout - time spent waiting for the query to return

query

void query(java.lang.String to,
           java.io.Serializable payload,
           QueryCallback callback)
Sends a query information call (get) to an actor, providing a callback to receive the result or error. The target actor of a queryGet acts as a service and the caller acts as a client. Because BAM Actors are symmetrical, all Actors can act as services and clients for different RPC calls. The target actor MUST send a queryResult or queryError to the client using the same id, because RPC clients rely on a response.

Parameters:
to - the target actor's address
payload - the query payload
callback - the application's callback for the result