public class OutboundMessageStream extends java.lang.Object implements MessageStream
Constructor and Description |
---|
OutboundMessageStream(LinkConnectionFactory linkFactory,
Broker inboundBroker) |
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 |
toString() |
public OutboundMessageStream(LinkConnectionFactory linkFactory, Broker inboundBroker)
public java.lang.String getAddress()
MessageStream
ActorHolder
at the end
of the stream.getAddress
in interface MessageStream
public Broker getBroker()
MessageStream
getBroker
in interface MessageStream
public boolean isClosed()
MessageStream
isClosed
in interface MessageStream
public void message(java.lang.String to, java.lang.String from, java.io.Serializable payload)
MessageStream
ActorHolder
,
addressed by the Actor's address.message
in interface MessageStream
to
- the target actor's addressfrom
- the source actor's addresspayload
- the message payloadpublic void messageError(java.lang.String to, java.lang.String from, java.io.Serializable payload, BamError error)
MessageStream
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.messageError
in interface MessageStream
to
- the target actor's addressfrom
- the source actor's addresspayload
- the message payloaderror
- the message errorpublic void query(long id, java.lang.String to, java.lang.String from, java.io.Serializable payload)
MessageStream
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.query
in interface MessageStream
id
- the query identifier used to match requests with responsesto
- the service actor's addressfrom
- the client actor's addresspayload
- the query payloadpublic void queryResult(long id, java.lang.String to, java.lang.String from, java.io.Serializable payload)
MessageStream
queryResult
in interface MessageStream
id
- the query identifier used to match requests with responsesto
- the client actor's addressfrom
- the service actor's addresspayload
- the result payloadpublic void queryError(long id, java.lang.String to, java.lang.String from, java.io.Serializable payload, BamError error)
MessageStream
queryError
in interface MessageStream
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 informationpublic java.lang.String toString()
toString
in class java.lang.Object