edu.vub.at.actors
Interface ATAsyncMessage

All Superinterfaces:
ATConversions, ATMessage, ATObject
All Known Implementing Classes:
NATAsyncMessage

public interface ATAsyncMessage
extends ATMessage

Instances of the class ATAsyncMessage represent first-class asynchronous message sends. They encapsulate a receiver object, a selector symbol and a table of arguments. Additionally, a message -- being a first-class object, may be extended with extra fields and behaviour (attachments).

Author:
tvc

Method Summary
 ATObject base_getReceiver()
          Messages also have an explicitly named receiver, which may either be a local object, or a representative of an object inside another actor.
 ATObject base_getSender()
          Signifies the object on behalf of which this asynchronous message is sent.
 ATObject base_process(ATActorMirror inActor)
          This method is responsible for processing the message in a certain actor.
 
Methods inherited from interface edu.vub.at.objects.ATMessage
base_getArguments, base_getSelector, base_sendTo, base_setArguments
 
Methods inherited from interface edu.vub.at.objects.ATObject
base__opeql__opeql_, base_init, base_new, meta_addField, meta_addMethod, meta_assignField, meta_assignVariable, meta_clone, meta_defineField, meta_doesNotUnderstand, meta_eval, meta_extend, meta_getDynamicParent, meta_getLexicalParent, meta_getStripes, meta_grabField, meta_grabMethod, meta_invoke, meta_isCloneOf, meta_isRelatedTo, meta_isStripedWith, meta_listFields, meta_listMethods, meta_lookup, meta_newInstance, meta_pass, meta_print, meta_quote, meta_receive, meta_resolve, meta_respondsTo, meta_select, meta_send, meta_share
 
Methods inherited from interface edu.vub.at.objects.coercion.ATConversions
asAmbientTalkObject, asJavaClassUnderSymbiosis, asJavaObjectUnderSymbiosis, asNativeBoolean, asNativeException, asNativeFarReference, asNativeFraction, asNativeNumber, asNativeNumeric, asNativeTable, asNativeText, base_asActorMirror, base_asAsyncMessage, base_asBegin, base_asBoolean, base_asClosure, base_asDefinition, base_asExpression, base_asFarReference, base_asField, base_asHandler, base_asMessage, base_asMessageCreation, base_asMethod, base_asMirror, base_asNumber, base_asSplice, base_asStatement, base_asStripe, base_asSymbol, base_asTable, base_asUnquoteSplice, base_asVariableAssignment, base_isBoolean, base_isCallFrame, base_isClosure, base_isFarReference, base_isMessageCreation, base_isMethod, base_isMirror, base_isSplice, base_isStripe, base_isSymbol, base_isTable, base_isUnquoteSplice, base_isVariableAssignment, isAmbientTalkObject, isJavaObjectUnderSymbiosis, isNativeBoolean, isNativeField, isNativeText
 

Method Detail

base_getSender

public ATObject base_getSender()
                        throws InterpreterException
Signifies the object on behalf of which this asynchronous message is sent. For a 'normal' message send, it is bound to the active 'self' object that executed obj<-m().

Throws:
InterpreterException

base_getReceiver

public ATObject base_getReceiver()
                          throws InterpreterException
Messages also have an explicitly named receiver, which may either be a local object, or a representative of an object inside another actor.

Returns:
the receiver of the message
Throws:
InterpreterException

base_process

public ATObject base_process(ATActorMirror inActor)
                      throws InterpreterException
This method is responsible for processing the message in a certain actor. By default, process dispatches to the actor by means of receive. In pseudo-code: def process(act) { (reflect: act).receive(self) }

Throws:
InterpreterException