uka.karmi.nodgc
Class NoDGC.MarshalContext

java.lang.Object
  extended byuka.karmi.rmi.DGCMarshalContext
      extended byuka.karmi.nodgc.NoDGC.MarshalContext
Enclosing class:
NoDGC

final class NoDGC.MarshalContext
extends DGCMarshalContext

The MarshalContext for NoDGC does nothing.

Author:
Christian Nester, Bernhard Haumacher

Constructor Summary
(package private) NoDGC.MarshalContext(NoDGC dgc)
           
 
Method Summary
 boolean done()
          Called when all objects of a call are marshaled to the stream.
 java.lang.Object localReferenceMarshaled(SingleRemoteClientRef ref, RemoteServerRef dgcObject)
          Called by a remote reference while it is serialized to a marshal stream and the dgc object for the resulting object is a local DGC.
 boolean proxyRequired(SingleRemoteClientRef ref)
          Decides whether a proxy is required for DGC purpose only.
 java.lang.Object remoteReferenceMarshaled(SingleRemoteClientRef ref)
          Called by a remote reference while it is serialized and the dgc object for the resulting object is no local DGC.
 void reset()
          Reset context for reuse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NoDGC.MarshalContext

NoDGC.MarshalContext(NoDGC dgc)
Method Detail

localReferenceMarshaled

public java.lang.Object localReferenceMarshaled(SingleRemoteClientRef ref,
                                                RemoteServerRef dgcObject)
Description copied from class: DGCMarshalContext
Called by a remote reference while it is serialized to a marshal stream and the dgc object for the resulting object is a local DGC.

Specified by:
localReferenceMarshaled in class DGCMarshalContext
Returns:
a new dgcInfo object

remoteReferenceMarshaled

public java.lang.Object remoteReferenceMarshaled(SingleRemoteClientRef ref)
Description copied from class: DGCMarshalContext
Called by a remote reference while it is serialized and the dgc object for the resulting object is no local DGC.

Specified by:
remoteReferenceMarshaled in class DGCMarshalContext
Returns:
a new dgcInfo object

done

public boolean done()
Description copied from class: DGCMarshalContext
Called when all objects of a call are marshaled to the stream.

Specified by:
done in class DGCMarshalContext
Returns:
whether the DGC algorithm needs a notification about the successful arrival of the remote reference at the remote address space. A reference has arrived successfully, if it has connected to the garbage collector on the remote side.

reset

public void reset()
Description copied from class: DGCMarshalContext
Reset context for reuse

Specified by:
reset in class DGCMarshalContext

proxyRequired

public boolean proxyRequired(SingleRemoteClientRef ref)
Description copied from class: DGCMarshalContext
Decides whether a proxy is required for DGC purpose only. If a remote reference is marshaled to another VM, and the server implementation is proven to be accessible from that VM, the DGC can still request to build a proxy.

Specified by:
proxyRequired in class DGCMarshalContext
See Also:
SingleRemoteClientRef.writeExternal(java.io.ObjectOutput)