edu.vub.at.actors.natives
Class NATRemoteFarRef

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.NATRemoteFarRef
All Implemented Interfaces:
ATAbstractGrammar, ATConversions, ATExpression, ATFarReference, ATNil, ATObject, ATStatement, java.io.Serializable

public class NATRemoteFarRef
extends NATFarReference

Instances of NATRemoteFarRef represent far references to physically remote actors. By 'physically remote', we mean in a separate address space.

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
(package private)  ELFarReference sendLoop_
          When a remote far reference is passed on to another virtual machine, the event loop is not taken with it.
 
Fields inherited from class edu.vub.at.actors.natives.NATFarReference
 
Fields inherited from class edu.vub.at.objects.natives.NATNil
_INSTANCE_
 
Constructor Summary
NATRemoteFarRef(ATObjectID objectId, ELActor hostActor, ATStripe[] stripes)
           
 
Method Summary
 ATTable meta_retractUnsentMessages()
          Retracts all of the outgoing messages buffered in this far object reference by passing them in a table.
 void onDisconnection(ATClosure listener)
           
 void onReconnection(ATClosure listener)
           
protected  ATObject transmit(ATAsyncMessage message)
           
 
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

sendLoop_

final transient ELFarReference sendLoop_
When a remote far reference is passed on to another virtual machine, the event loop is not taken with it. At the remote end, a new far reference will be created with the appropriate event loop.

Constructor Detail

NATRemoteFarRef

public NATRemoteFarRef(ATObjectID objectId,
                       ELActor hostActor,
                       ATStripe[] stripes)
Method Detail

transmit

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

meta_retractUnsentMessages

public ATTable meta_retractUnsentMessages()
                                   throws InterpreterException
Description copied from interface: ATFarReference
Retracts all of the outgoing messages buffered in this far object reference by passing them in a table. After this method has been invoked, the outgoing message queue of this far reference will be empty.

Throws:
InterpreterException

onDisconnection

public void onDisconnection(ATClosure listener)
                     throws InterpreterException
Throws:
InterpreterException

onReconnection

public void onReconnection(ATClosure listener)
                    throws InterpreterException
Throws:
InterpreterException