public interface MessageStream
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getAddress()
Returns the address of the
ActorHolder at the end
of the stream. |
Broker |
getBroker()
Returns the owning broker
|
boolean |
isClosed()
Tests if the stream is closed.
|
void |
message(java.lang.String to,
java.lang.String from,
java.io.Serializable payload)
Sends a unidirectional message to an
ActorHolder,
addressed by the Actor's address. |
void |
messageError(java.lang.String to,
java.lang.String from,
java.io.Serializable payload,
BamError 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.io.Serializable payload)
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.io.Serializable payload,
BamError error)
Sends a query error from a failed query.
|
void |
queryResult(long id,
java.lang.String to,
java.lang.String from,
java.io.Serializable payload)
Sends a query response for a query
|
java.lang.String getAddress()
ActorHolder at the end
of the stream.boolean isClosed()
Broker getBroker()
void message(java.lang.String to,
java.lang.String from,
java.io.Serializable payload)
ActorHolder,
addressed by the Actor's address.to - the target actor's addressfrom - the source actor's addresspayload - the message payloadvoid messageError(java.lang.String to,
java.lang.String from,
java.io.Serializable payload,
BamError error)
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.to - the target actor's addressfrom - the source actor's addresspayload - the message payloaderror - the message errorvoid query(long id,
java.lang.String to,
java.lang.String from,
java.io.Serializable payload)
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.id - the query identifier used to match requests with responsesto - the service actor's addressfrom - the client actor's addresspayload - the query payloadvoid queryResult(long id,
java.lang.String to,
java.lang.String from,
java.io.Serializable payload)
id - the query identifier used to match requests with responsesto - the client actor's addressfrom - the service actor's addresspayload - the result payloadvoid queryError(long id,
java.lang.String to,
java.lang.String from,
java.io.Serializable payload,
BamError error)
id - the query identifier used to match requests with responsesto - the client actor's addressfrom - the service actor's addresspayload - the query payloaderror - additional error information