uka.karmi.dgc
Class HierarchicalDGC.UnmarshalContext

java.lang.Object
  extended byuka.karmi.rmi.DGCUnmarshalContext
      extended byuka.karmi.dgc.HierarchicalDGC.UnmarshalContext
Enclosing class:
HierarchicalDGC

final class HierarchicalDGC.UnmarshalContext
extends DGCUnmarshalContext

UnmarshalContext for hierarchical DGC implementation. This DGC implementation only counts references at the time they are marshaled. Therefore this context does nothing.

Author:
Bernhard Haumacher, Christian Nester

Constructor Summary
(package private) HierarchicalDGC.UnmarshalContext()
           
 
Method Summary
 void localReferenceUnmarshaled(SingleRemoteClientRef ref)
          Called by a SingleRemoteClientRef object if it is deserialized and the dgc object is local.
 void remoteReferenceUnmarshaled(SingleRemoteClientRef ref)
          Called by a SingleRemoteClientRef object if it is deserialized and the dgc object is not local.
 boolean reset()
          Reset method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HierarchicalDGC.UnmarshalContext

HierarchicalDGC.UnmarshalContext()
Method Detail

remoteReferenceUnmarshaled

public void remoteReferenceUnmarshaled(SingleRemoteClientRef ref)
Description copied from class: DGCUnmarshalContext
Called by a SingleRemoteClientRef object if it is deserialized and the dgc object is not local.

Specified by:
remoteReferenceUnmarshaled in class DGCUnmarshalContext

localReferenceUnmarshaled

public void localReferenceUnmarshaled(SingleRemoteClientRef ref)
Description copied from class: DGCUnmarshalContext
Called by a SingleRemoteClientRef object if it is deserialized and the dgc object is local.

Specified by:
localReferenceUnmarshaled in class DGCUnmarshalContext

reset

public boolean reset()
Description copied from class: DGCUnmarshalContext
Reset method. When the reset() method returns all received remote references are registered with the DGC algorithm. It returns true if an ACK Message must be sent to the sender. The reset() method and the corresponding done() method on the sending side must return the same value. That means that sender and receiver must always agree if an ACK message is required or not. This method also resets the context so that it can be reused.

Specified by:
reset in class DGCUnmarshalContext
Returns:
true, if an acknowledgement must be sent