public final class ActorContextImpl extends AmpActorContext implements AmpActor, AlarmListener
Constructor and Description |
---|
ActorContextImpl(java.lang.String address,
AmpActor actorStream,
AmpMailboxFactory mailboxFactory) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Registers a callback future.
|
void |
error(AmpActorRef to,
AmpActorRef from,
AmpEncoder encoder,
AmpError error)
Sends a message error to an
ActorHolder ,
addressed by the Actor's address. |
AmpActorRef |
getActorRef() |
java.lang.String |
getAddress() |
AmpMailbox |
getMailbox() |
AmpMethodRef |
getMethod(java.lang.String methodName,
AmpEncoder encoder) |
long |
getQueryTimeout() |
AmpStream |
getStream() |
void |
handleAlarm(Alarm alarm)
Handles a callback from an alarm.
|
void |
query(AmpMethodRef methodRef,
java.lang.Object[] args,
AmpQueryCallback cb,
long timeout) |
void |
query(long id,
AmpActorRef to,
AmpActorRef from,
AmpEncoder encoder,
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,
AmpActorRef to,
AmpActorRef from,
AmpEncoder encoder,
AmpError error)
Sends a query error from a failed query.
|
void |
queryResult(long id,
AmpActorRef to,
AmpActorRef from,
AmpEncoder encoder,
java.lang.Object result)
Sends a query response for a query
|
void |
send(AmpActorRef to,
AmpActorRef from,
AmpEncoder encoder,
java.lang.String methodName,
java.lang.Object... args)
Sends a unidirectional message to an
ActorHolder ,
addressed by the Actor's address. |
void |
setQueryTimeout(long timeout) |
java.lang.String |
toString() |
beginCurrentActor, endCurrentActor, getCurrent, getCurrent, send
public ActorContextImpl(java.lang.String address, AmpActor actorStream, AmpMailboxFactory mailboxFactory)
public java.lang.String getAddress()
getAddress
in class AmpActorContext
public AmpMailbox getMailbox()
getMailbox
in class AmpActorContext
public AmpActorRef getActorRef()
getActorRef
in class AmpActorContext
public AmpStream getStream()
getStream
in class AmpActorContext
public AmpMethodRef getMethod(java.lang.String methodName, AmpEncoder encoder)
getMethod
in interface AmpActor
getMethod
in class AmpActorContext
public long getQueryTimeout()
public void setQueryTimeout(long timeout)
public final void send(AmpActorRef to, AmpActorRef from, AmpEncoder encoder, java.lang.String methodName, java.lang.Object... args)
AmpStream
ActorHolder
,
addressed by the Actor's address.public void error(AmpActorRef to, AmpActorRef from, AmpEncoder encoder, AmpError error)
AmpStream
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.public void query(long id, AmpActorRef to, AmpActorRef from, AmpEncoder encoder, java.lang.String methodName, java.lang.Object... args)
AmpStream
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.public void queryResult(long id, AmpActorRef to, AmpActorRef from, AmpEncoder encoder, java.lang.Object result)
AmpStream
queryResult
in interface AmpStream
id
- the query identifier used to match requests with responsesto
- the client actor's addressfrom
- the service actor's addresspublic void queryError(long id, AmpActorRef to, AmpActorRef from, AmpEncoder encoder, AmpError error)
AmpStream
queryError
in interface AmpStream
id
- the query identifier used to match requests with responsesto
- the client actor's addressfrom
- the service actor's addresserror
- additional error informationpublic void query(AmpMethodRef methodRef, java.lang.Object[] args, AmpQueryCallback cb, long timeout)
query
in class AmpActorContext
public void close()
public java.lang.String toString()
toString
in class java.lang.Object
public void handleAlarm(Alarm alarm)
AlarmListener
handleAlarm
in interface AlarmListener