|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectuka.karmi.rmi.DGC
uka.karmi.dgc.HierarchicalDGC
A DGC that counts the references to a server object. A reference is counted whenever it marshaled to another address space.
This algorithm does not need any registration messages when a reference reaches a VM. For reference counting purpose this implementation uses a hierarchical structure of references to other references.
HierarchicalDGC.MarshalContext.proxyRequired(SingleRemoteClientRef)| Nested Class Summary | |
(package private) class |
HierarchicalDGC.Counter
Counts remote references and prevents the local server implementation form being garbage collected by keeping a local reference to it. |
(package private) class |
HierarchicalDGC.MarshalContext
Marshaling context for a hierarchical DGC implementation. |
(package private) class |
HierarchicalDGC.UnmarshalContext
UnmarshalContext for hierarchical DGC implementation. |
| Field Summary | |
private static int |
FINAL
|
(package private) java.util.Hashtable |
objTable
|
| Constructor Summary | |
HierarchicalDGC()
|
|
| 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 for a new DGCMarshalContext. |
DGCUnmarshalContext |
newDGCUnmarshalContext()
Factory method for a new DGCUnmarshalContext. |
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 |
| Field Detail |
private static final int FINAL
java.util.Hashtable objTable
| Constructor Detail |
public HierarchicalDGC()
| Method Detail |
public void remoteFinalize(ObjectId dgcId,
java.lang.Object dgcInfo)
remoteFinalize in class DGCSingleRemoteClientRef.finalize()public DGCMarshalContext newDGCMarshalContext()
newDGCMarshalContext in class DGCpublic DGCUnmarshalContext newDGCUnmarshalContext()
newDGCUnmarshalContext in class DGC
public java.lang.Object doDGCCall(ExportPoint ep,
int customId,
java.lang.Object argument)
throws java.lang.Throwable
DGC
doDGCCall in class DGCjava.lang.ThrowableTechnology.dgcCall(UTID utid, int methodId, Object argument)
public void doAsyncDGCCall(ExportPoint ep,
int customId,
java.lang.Object argument)
throws java.lang.Throwable
DGC
doAsyncDGCCall in class DGCjava.lang.ThrowableDGC.doDGCCall(ExportPoint, int, Object)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||