edu.vub.at.actors.natives
Class NATLocalFarRef

java.lang.Object
  extended byedu.vub.at.objects.natives.NATNil
      extended byedu.vub.at.objects.natives.NATByCopy
          extended byedu.vub.at.actors.natives.NATFarReference
              extended byedu.vub.at.actors.natives.NATLocalFarRef
All Implemented Interfaces:
ATAbstractGrammar, ATConversions, ATExpression, ATFarReference, ATNil, ATObject, ATStatement, java.io.Serializable

public class NATLocalFarRef
extends NATFarReference

Instances of NATLocalFarRef denote far references to objects 'local' to this address space. That is, the far object is hosted by a local actor and hence message transmission is not subject to network routing or partial failure and messages may be immediately scheduled in the inbox of the recipient object's host actor.

Author:
tvcutsem
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class edu.vub.at.actors.natives.NATFarReference
NATFarReference.NATDisconnectionSubscription, NATFarReference.NATReconnectionSubscription
 
Field Summary
private  ELActor farObjectHost_
          when serializing a far reference, the event loop stays home
 
Fields inherited from class edu.vub.at.actors.natives.NATFarReference
 
Fields inherited from class edu.vub.at.objects.natives.NATNil
_INSTANCE_
 
Constructor Summary
NATLocalFarRef(ELActor farObjectHost, ATObjectID objectId, ATStripe[] stripes)
           
 
Method Summary
 ELActor getFarHost()
           
 ATTable meta_retractUnsentMessages()
          The 'outbox' of a far reference to a local actor is always empty.
protected  ATObject transmit(ATAsyncMessage passedMessage)
           
 
Methods inherited from class edu.vub.at.actors.natives.NATFarReference
asNativeFarReference, base_asFarReference, base_isFarReference, getObjectId, meta_addField, meta_addMethod, meta_assignField, meta_assignVariable, meta_clone, meta_defineField, meta_doesNotUnderstand, meta_extend, meta_getDynamicParent, meta_getLexicalParent, meta_getStripes, meta_grabField, meta_grabMethod, meta_invoke, meta_isCloneOf, meta_isRelatedTo, meta_listFields, meta_listMethods, meta_lookup, meta_newInstance, meta_print, meta_receive, meta_resolve, meta_respondsTo, meta_select, meta_share
 
Methods inherited from class edu.vub.at.objects.natives.NATByCopy
meta_pass
 
Methods inherited from class edu.vub.at.objects.natives.NATNil
asAmbientTalkObject, asJavaClassUnderSymbiosis, asJavaObjectUnderSymbiosis, asNativeBoolean, asNativeException, asNativeFraction, asNativeNumber, asNativeNumeric, asNativeTable, asNativeText, base__opeql__opeql_, base_asActorMirror, base_asAsyncMessage, base_asBegin, base_asBoolean, base_asClosure, base_asDefinition, base_asExpression, 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_init, base_isBoolean, base_isCallFrame, base_isClosure, base_isMessageCreation, base_isMethod, base_isMirror, base_isSplice, base_isStripe, base_isSymbol, base_isTable, base_isUnquoteSplice, base_isVariableAssignment, base_new, createChild, equals, isAmbientTalkObject, isJavaObjectUnderSymbiosis, isNativeBoolean, isNativeField, isNativeText, meta_eval, meta_isStripedWith, meta_quote, meta_send, readResolve, toString, writeReplace
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.vub.at.objects.ATObject
base__opeql__opeql_, base_init, base_new, meta_eval, meta_isStripedWith, meta_pass, meta_quote, meta_send
 
Methods inherited from interface edu.vub.at.objects.coercion.ATConversions
asAmbientTalkObject, asJavaClassUnderSymbiosis, asJavaObjectUnderSymbiosis, asNativeBoolean, asNativeException, asNativeFraction, asNativeNumber, asNativeNumeric, asNativeTable, asNativeText, base_asActorMirror, base_asAsyncMessage, base_asBegin, base_asBoolean, base_asClosure, base_asDefinition, base_asExpression, 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_isMessageCreation, base_isMethod, base_isMirror, base_isSplice, base_isStripe, base_isSymbol, base_isTable, base_isUnquoteSplice, base_isVariableAssignment, isAmbientTalkObject, isJavaObjectUnderSymbiosis, isNativeBoolean, isNativeField, isNativeText
 

Field Detail

farObjectHost_

private final transient ELActor farObjectHost_
when serializing a far reference, the event loop stays home

Constructor Detail

NATLocalFarRef

public NATLocalFarRef(ELActor farObjectHost,
                      ATObjectID objectId,
                      ATStripe[] stripes)
Method Detail

transmit

protected ATObject transmit(ATAsyncMessage passedMessage)
                     throws InterpreterException
Specified by:
transmit in class NATFarReference
Throws:
InterpreterException

meta_retractUnsentMessages

public ATTable meta_retractUnsentMessages()
                                   throws InterpreterException
The 'outbox' of a far reference to a local actor is always empty.

Throws:
InterpreterException

getFarHost

public ELActor getFarHost()