|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectuka.karmi.rmi.DGC
Base class for distributed garbage collectors. Different distributed garbage collector algorithms can be used in KaRMI. All garbage collectors in KaRMI must implement the DGC interface in order to interact with the rest of the runtime system. DGC algorithms return appropriate DGCMarshalContext/DGCUnmarshalContext objects through the two factory methods.
A DGC object can communicate with DGC objects in other address spaces via a technology and a UTID. Technology.dgcCall() and Technology.asyncDgcCall() are used for this kind of communication. On the remote DGC object doDGCCall or doAsyncDgcCall is called. This mechanism is similar to the normal remote method invocation with the difference that no remote references are allowed in the argument and return value.
| Constructor Summary | |
DGC()
|
|
| Method Summary | |
abstract void |
doAsyncDGCCall(ExportPoint ep,
int customId,
java.lang.Object argument)
Caller does not wait for the end of the call. |
abstract java.lang.Object |
doDGCCall(ExportPoint ep,
int customId,
java.lang.Object argument)
Called from a different address space. |
abstract DGCMarshalContext |
newDGCMarshalContext()
Factory method to create DGCMarshalContext object for this DGC |
abstract DGCUnmarshalContext |
newDGCUnmarshalContext()
Factory method to create DGCUnmarshalContext object for this DGC |
abstract void |
remoteFinalize(ObjectId dgcId,
java.lang.Object dgcInfo)
Called during the finalization of a SingleRemoteClientRef object. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public DGC()
| Method Detail |
public abstract void remoteFinalize(ObjectId dgcId,
java.lang.Object dgcInfo)
SingleRemoteClientRef.finalize()public abstract DGCUnmarshalContext newDGCUnmarshalContext()
public abstract DGCMarshalContext newDGCMarshalContext()
public abstract java.lang.Object doDGCCall(ExportPoint ep,
int customId,
java.lang.Object argument)
throws java.lang.Throwable
java.lang.ThrowableTechnology.dgcCall(UTID utid, int methodId, Object argument)
public abstract void doAsyncDGCCall(ExportPoint ep,
int customId,
java.lang.Object argument)
throws java.lang.Throwable
java.lang.ThrowabledoDGCCall(ExportPoint, int, Object)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||