Address

cc.otavia.core.address.Address
trait Address[-M <: Call] extends EventableAddress

Address is the facade of an actor. Actors cannot call each other directly, only send messages to the actor via its address.

Type parameters

M

the message type that this actor can receive.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class PhysicalAddress[M]
class ActorAddress[M]
trait ProxyAddress[M]
class RobinAddress[M]

Members list

Value members

Abstract methods

def ask[A <: M & Ask[_ <: Reply]](ask: A, future: MessageFuture[ReplyOf[A]])(using sender: AbstractActor[_]): MessageFuture[ReplyOf[A]]

send ask message to this address

send ask message to this address

Type parameters

A

the type of ask message

Value parameters

ask

ask message to send

future

reply message future for this ask message

sender

who send this ask message

Attributes

def ask[A <: M & Ask[_ <: Reply]](ask: A, f: MessageFuture[ReplyOf[A]], timeout: Long)(using sender: AbstractActor[_]): MessageFuture[ReplyOf[A]]

send ask message to this address, and set timeout milliseconds to get the respect Reply, otherwise the MessageFuture will set scala.concurrent.TimeoutException.

send ask message to this address, and set timeout milliseconds to get the respect Reply, otherwise the MessageFuture will set scala.concurrent.TimeoutException.

Type parameters

A

the type of ask message

Value parameters

ask

ask message to send

f

reply message future for this ask message

sender

who send this ask message

timeout

max time to wait for the Reply message.

Attributes

def askUnsafe(ask: Ask[_], f: MessageFuture[_])(using sender: AbstractActor[_]): MessageFuture[_]
def notice(notice: M & Notice): Unit

send notice message to this address

send notice message to this address

Value parameters

notice

notice message to send

Attributes

Concrete methods

final def ask[A <: M & Ask[_ <: Reply], R <: ReplyOf[A]](ask: A)(using sender: AbstractActor[_]): FutureState[R]