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