|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ActorMirror
The class ATActorMirror prescribes the minimal set of methods to be provided by the default implementation of an actor mirror. Since new actor mirrors can be installed dynamically, ATActorMirror defines the dependencies of the lexically scoped objects on the dynamic 'actor context' to perform their duties. The hooks defined in this class relate to:
Field Summary | |
---|---|
ActorMirror |
getExplicitActorMirror
def aM := implicitActorMirror.getExplicitActorMirror() This method serves as the 'mirror factory' for explicit actor mirrors. |
Method Summary | |
---|---|
Object |
becomeMirroredBy:(ActorMirror protocol)
def oldprotocol := actor.becomeMirroredBy: newprotocol Installs a new meta-object protocol into this actor. |
Object |
behaviour()
Provides access to this actor's "behaviour" object. |
AsyncMessage |
createMessage(Symbol selector,
Table arguments,
Table types)
Creates a first-class message in the language. |
Object |
createMirror(Object onObject)
Creates a mirror on the given object. |
Object |
createReference(Object toObject)
Create a far reference to a local object. |
Table |
listIncomingLetters()
This method provides access to a snapshot of the inbox of an actor. |
Table |
listPublications()
This method provides access to a snapshot of the current published services of an actor. |
Table |
listSubscriptions()
This method provides access to a snapshot of the current subscriptions of an actor. |
Object |
provide(TypeTag topic,
Object service)
This mechanism is the most basic mechanism to provide a service. |
Object |
receive(Object receiver,
AsyncMessage message)
When an actor receives an asynchronous message for a given receiver, it will delegate this to the meta-level 'receive' operation of the designated object. |
Object |
require(TypeTag topic,
Closure handler,
Boolean bool)
This mechanism is the most basic mechanism to require a service. |
Object |
schedule(Object receiver,
AsyncMessage message)
This mechanism allows for changing the scheduling semantics of the actor's inbox. |
Object |
send(Object receiver,
AsyncMessage message)
This method implements the default asynchronous message sending semantics for this particular actor. |
Object |
serve()
This method fetches and processes the next letter from the inbox. |
Methods inherited from interface edu.vub.at.objects.Object |
---|
super |
Field Detail |
---|
ActorMirror getExplicitActorMirror
Method Detail |
---|
AsyncMessage createMessage(Symbol selector, Table arguments, Table types)
selector
- the name of the method to trigger remotelyarguments
- the actual arguments of the messagetypes
- the types with which the message will be bornObject createMirror(Object onObject)
Object send(Object receiver, AsyncMessage message)
edu.vub.at.exceptions.InterpreterException
Object receive(Object receiver, AsyncMessage message)
Table listIncomingLetters()
Object schedule(Object receiver, AsyncMessage message)
Object serve()
Table listPublications()
Table listSubscriptions()
Object provide(TypeTag topic, Object service)
Object require(TypeTag topic, Closure handler, Boolean bool)
bool
- - if true, the subscription is permanent, if false, once the subscription
has been satisfied, it is automatically cancelled.Object createReference(Object toObject)
toObject
- a **near** reference to the object to export
edu.vub.at.exceptions.XIllegalOperation
- if the passed object is a far reference, i.e. non-localObject becomeMirroredBy:(ActorMirror protocol)
protocol
- meta-level code that overrides an actor's MOP methods
Object behaviour()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |