uka.karmi.nodgc
Class NoDGC

java.lang.Object
  extended byuka.karmi.rmi.DGC
      extended byuka.karmi.nodgc.NoDGC

public final class NoDGC
extends DGC

The NoDGC is a dummy garbage collector that does nothing. It can not be used with JDK 1.2 and higher, because remote objects would die even if they are still referenced. As real garbage collection does not work with JDK 1.1 it can be uses there to save some processing time.

Author:
Christian Nester, Bernhard Haumacher

Nested Class Summary
(package private)  class NoDGC.MarshalContext
          The MarshalContext for NoDGC does nothing.
(package private)  class NoDGC.UnmarshalContext
          The UnmarshalContext for NoDGC does nothing.
 
Constructor Summary
NoDGC()
           
 
Method Summary
 void doAsyncDGCCall(ExportPoint ep, int customId, java.lang.Object argument)
          Caller does not wait for the end of the call.
 java.lang.Object doDGCCall(ExportPoint ep, int customId, java.lang.Object argument)
          Called from a different address space.
 DGCMarshalContext newDGCMarshalContext()
          Factory method to create DGCMarshalContext object for this DGC
 DGCUnmarshalContext newDGCUnmarshalContext()
          Factory method to create DGCUnmarshalContext object for this DGC
 void remoteFinalize(ObjectId dgcId, java.lang.Object dgcInfo)
          Called during the finalization of a SingleRemoteClientRef object.
(package private)  void remoteRegister(ObjectId dgcId)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NoDGC

public NoDGC()
Method Detail

remoteFinalize

public void remoteFinalize(ObjectId dgcId,
                           java.lang.Object dgcInfo)
Description copied from class: DGC
Called during the finalization of a SingleRemoteClientRef object.

Specified by:
remoteFinalize in class DGC
See Also:
SingleRemoteClientRef.finalize()

newDGCMarshalContext

public DGCMarshalContext newDGCMarshalContext()
Description copied from class: DGC
Factory method to create DGCMarshalContext object for this DGC

Specified by:
newDGCMarshalContext in class DGC

newDGCUnmarshalContext

public DGCUnmarshalContext newDGCUnmarshalContext()
Description copied from class: DGC
Factory method to create DGCUnmarshalContext object for this DGC

Specified by:
newDGCUnmarshalContext in class DGC

remoteRegister

void remoteRegister(ObjectId dgcId)

doDGCCall

public java.lang.Object doDGCCall(ExportPoint ep,
                                  int customId,
                                  java.lang.Object argument)
                           throws java.lang.Throwable
Description copied from class: DGC
Called from a different address space. Remote references are not allowed neither in the argument object nor in the result!

Specified by:
doDGCCall in class DGC
Throws:
java.lang.Throwable
See Also:
Technology.dgcCall(UTID utid, int methodId, Object argument)

doAsyncDGCCall

public void doAsyncDGCCall(ExportPoint ep,
                           int customId,
                           java.lang.Object argument)
                    throws java.lang.Throwable
Description copied from class: DGC
Caller does not wait for the end of the call.

Specified by:
doAsyncDGCCall in class DGC
Throws:
java.lang.Throwable
See Also:
DGC.doDGCCall(ExportPoint, int, Object)