| Modifier and Type | Class and Description |
|---|---|
| private static class |
| Modifier and Type | Field and Description |
|---|---|
| private Future | checker
checks for lease expiration |
| private static DGCImpl | dgc
remote implementation of DGC interface for this VM |
| private static final String | DGC_FILTER_PROPNAME
Property name of the DGC serial filter to augment the built-in list of allowed types. |
| private static int | DGC_MAX_ARRAY_SIZE
Registry maximum array size in remote invocations. |
| private static int | DGC_MAX_DEPTH
Registry max depth of remote invocations. |
| private static final ObjectInputFilter | dgcFilter
The dgcFilter created from the value of the |
| pack-priv static final Log | |
| private static final long | leaseCheckInterval
lease check interval; default is half of lease grant duration |
| private Map | leaseTable
table that maps VMID to LeaseInfo |
| private static final long | leaseValue
lease duration to grant to clients |
| private static final ScheduledExecutorService | scheduler
thread pool for scheduling delayed tasks |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| private static ObjectInputFilter. | Returns: ObjectInputFilter. if allowed,
ObjectInputFilter. if rejected,
otherwise ObjectInputFilter.access to class, arrayLength, etc. filterInfoObjectInputFilter to filter DGC input objects. |
| private void | Returns: if true, there are leases outstanding; otherwise leases no longer need to be checkedCheck if leases have expired. |
| public void | clean(ObjID[] ids, long sequenceNum, VMID vmid, boolean strong)
Implements java. The clean call removes the VMID from the set of clients that hold references to the object associated with the LiveRef ref. |
| public Lease | dirty(ObjID[] ids, long sequenceNum, Lease lease)
Implements java. The dirty call adds the VMID "vmid" to the set of clients that hold references to the object associated with the ObjID id. The long "sequenceNum" is used to detect late dirty calls. |
| private static void | |
| pack-priv static DGCImpl | |
| private static ObjectInputFilter | Returns: an ObjectInputFilter, or nullInitialize the dgcFilter from the security properties or system property; if any |
| pack-priv void | registerTarget(VMID vmid, Target target)
Register interest in receiving a callback when this VMID becomes inaccessible. |
| pack-priv void |
| checker | back to summary |
|---|---|
| private Future<?> checker checks for lease expiration | |
| dgc | back to summary |
|---|---|
| private static DGCImpl dgc remote implementation of DGC interface for this VM | |
| DGC_FILTER_PROPNAME | back to summary |
|---|---|
| private static final String DGC_FILTER_PROPNAME Property name of the DGC serial filter to augment
the built-in list of allowed types.
Setting the property in the | |
| DGC_MAX_ARRAY_SIZE | back to summary |
|---|---|
| private static int DGC_MAX_ARRAY_SIZE Registry maximum array size in remote invocations. | |
| DGC_MAX_DEPTH | back to summary |
|---|---|
| private static int DGC_MAX_DEPTH Registry max depth of remote invocations. | |
| dgcFilter | back to summary |
|---|---|
| private static final ObjectInputFilter dgcFilter The dgcFilter created from the value of the | |
| dgcLog | back to summary |
|---|---|
| pack-priv static final Log dgcLog | |
| leaseCheckInterval | back to summary |
|---|---|
| private static final long leaseCheckInterval lease check interval; default is half of lease grant duration | |
| leaseTable | back to summary |
|---|---|
| private Map<VMID, DGCImpl. table that maps VMID to LeaseInfo | |
| leaseValue | back to summary |
|---|---|
| private static final long leaseValue lease duration to grant to clients | |
| scheduler | back to summary |
|---|---|
| private static final ScheduledExecutorService scheduler thread pool for scheduling delayed tasks | |
| DGCImpl | back to summary |
|---|---|
| private DGCImpl() Construct a new server-side remote object collector at a particular port. Disallow construction from outside. | |
| checkInput | back to summary |
|---|---|
| private static ObjectInputFilter. ObjectInputFilter to filter DGC input objects. The list of acceptable classes is very short and explicit. The depth and array sizes are limited.
| |
| checkLeases | back to summary |
|---|---|
| private void checkLeases() Check if leases have expired. If a lease has expired, remove it from the table and notify all interested parties that the VMID is essentially "dead".
| |
| clean | back to summary |
|---|---|
| public void clean(ObjID[] ids, long sequenceNum, VMID vmid, boolean strong) Implements java. The clean call removes the VMID from the set of clients that hold references to the object associated with the LiveRef ref. The sequence number is used to detect late clean calls. If the argument "strong" is true, then the clean call is a result of a failed "dirty" call, thus the sequence number for the VMID needs to be remembered until the client goes away. | |
| dirty | back to summary |
|---|---|
| public Lease dirty(ObjID[] ids, long sequenceNum, Lease lease) Implements java. The dirty call adds the VMID "vmid" to the set of clients that hold references to the object associated with the ObjID id. The long "sequenceNum" is used to detect late dirty calls. If the VMID "vmid" is null, a VMID will be generated on the server (for use by the client in subsequent calls) and returned. The client must call the "dirty" method to renew the lease before the "lease" time expires or all references to remote objects in this VM that the client holds are considered "unreferenced". | |
| exportSingleton | back to summary |
|---|---|
| private static void exportSingleton() | |
| getDGCImpl | back to summary |
|---|---|
| pack-priv static DGCImpl getDGCImpl() Return the remote implementation of the DGC interface for this VM. | |
| initDgcFilter | back to summary |
|---|---|
| private static ObjectInputFilter initDgcFilter() Initialize the dgcFilter from the security properties or system property; if any
| |
| registerTarget | back to summary |
|---|---|
| pack-priv void registerTarget(VMID vmid, Target target) Register interest in receiving a callback when this VMID becomes inaccessible. | |
| unregisterTarget | back to summary |
|---|---|
| pack-priv void unregisterTarget(VMID vmid, Target target) Remove notification request. | |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv long | |
| pack-priv Set | |
| pack-priv VMID |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv boolean | |
| pack-priv synchronized void |
| expiration | back to summary |
|---|---|
| pack-priv long expiration | |
| notifySet | back to summary |
|---|---|
| pack-priv Set<Target> notifySet | |
| vmid | back to summary |
|---|---|
| pack-priv VMID vmid | |
| LeaseInfo | back to summary |
|---|---|
| pack-priv LeaseInfo(VMID vmid, long lease) | |
| expired | back to summary |
|---|---|
| pack-priv boolean expired(long time) | |
| renew | back to summary |
|---|---|
| pack-priv synchronized void renew(long lease) | |