com.caucho.mpc.stream
Class AbstractMpcStream

java.lang.Object
  extended by com.caucho.mpc.stream.AbstractMpcStream
All Implemented Interfaces:
MpcStream

public class AbstractMpcStream
extends java.lang.Object
implements MpcStream

Primary stream handling all message packets. Actors send packets to the Broker for delivery to other Actors. Messages are divided into two groups:


Constructor Summary
AbstractMpcStream()
           
 
Method Summary
 java.lang.String getAddress()
          Returns the address of the ActorHolder at the end of the stream.
 boolean isClosed()
          Tests if the stream is closed.
 void message(java.lang.String to, java.lang.String from, java.lang.String methodName, java.lang.Object... args)
          Sends a unidirectional message to an ActorHolder, addressed by the Actor's address.
 void messageError(java.lang.String to, java.lang.String from, java.lang.String methodName, java.lang.Object[] args, MpcError error)
          Sends a message error to an ActorHolder, addressed by the Actor's address.
 void query(long id, java.lang.String to, java.lang.String from, java.lang.String methodName, java.lang.Object... args)
          Sends a query/RPCinformation call The receiver of a query acts as a service and the caller acts as a client.
 void queryError(long id, java.lang.String to, java.lang.String from, java.lang.String methodName, java.lang.Object[] args, MpcError error)
          Sends a query error from a failed query.
 void queryResult(long id, java.lang.String to, java.lang.String from, java.lang.String methodName, java.lang.Object result)
          Sends a query response for a query
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractMpcStream

public AbstractMpcStream()
Method Detail

getAddress

public java.lang.String getAddress()
Description copied from interface: MpcStream
Returns the address of the ActorHolder at the end of the stream.

Specified by:
getAddress in interface MpcStream

isClosed

public boolean isClosed()
Description copied from interface: MpcStream
Tests if the stream is closed.

Specified by:
isClosed in interface MpcStream

message

public void message(java.lang.String to,
                    java.lang.String from,
                    java.lang.String methodName,
                    java.lang.Object... args)
Description copied from interface: MpcStream
Sends a unidirectional message to an ActorHolder, addressed by the Actor's address.

Specified by:
message in interface MpcStream
Parameters:
to - the target actor's address
from - the source actor's address

messageError

public void messageError(java.lang.String to,
                         java.lang.String from,
                         java.lang.String methodName,
                         java.lang.Object[] args,
                         MpcError error)
Description copied from interface: MpcStream
Sends a message error to an ActorHolder, addressed by the Actor's address. Actor protocols may choose to send error messages if a message fails for some reason. In general, Actors should not rely on the delivery of error messages. If an error return is required, use an RPC query instead.

Specified by:
messageError in interface MpcStream
Parameters:
to - the target actor's address
from - the source actor's address
error - the message error

query

public void query(long id,
                  java.lang.String to,
                  java.lang.String from,
                  java.lang.String methodName,
                  java.lang.Object... args)
Description copied from interface: MpcStream
Sends a query/RPCinformation call The receiver 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 stream MUST send a queryResult or queryError to the client using the same id, because RPC clients rely on a response.

Specified by:
query in interface MpcStream
Parameters:
id - the query identifier used to match requests with responses
to - the service actor's address
from - the client actor's address

queryError

public void queryError(long id,
                       java.lang.String to,
                       java.lang.String from,
                       java.lang.String methodName,
                       java.lang.Object[] args,
                       MpcError error)
Description copied from interface: MpcStream
Sends a query error from a failed query.

Specified by:
queryError in interface MpcStream
Parameters:
id - the query identifier used to match requests with responses
to - the client actor's address
from - the service actor's address
methodName - the name of the called method
error - additional error information

queryResult

public void queryResult(long id,
                        java.lang.String to,
                        java.lang.String from,
                        java.lang.String methodName,
                        java.lang.Object result)
Description copied from interface: MpcStream
Sends a query response for a query

Specified by:
queryResult in interface MpcStream
Parameters:
id - the query identifier used to match requests with responses
to - the client actor's address
from - the service actor's address