summaryrefslogtreecommitdiff
path: root/libjava/classpath/gnu/java/rmi/dgc
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2016-09-30 16:24:48 +0000
committerAndrew Haley <aph@gcc.gnu.org>2016-09-30 16:24:48 +0000
commit07b78716af6a9d7c9fd1e94d9baf94a52c873947 (patch)
tree3f22b3241c513ad168c8353805614ae1249410f4 /libjava/classpath/gnu/java/rmi/dgc
parenteae993948bae8b788c53772bcb9217c063716f93 (diff)
Makefile.def: Remove libjava.
2016-09-30 Andrew Haley <aph@redhat.com> * Makefile.def: Remove libjava. * Makefile.tpl: Likewise. * Makefile.in: Regenerate. * configure.ac: Likewise. * configure: Likewise. * gcc/java: Remove. * libjava: Likewise. From-SVN: r240662
Diffstat (limited to 'libjava/classpath/gnu/java/rmi/dgc')
-rw-r--r--libjava/classpath/gnu/java/rmi/dgc/DGCImpl.java182
-rw-r--r--libjava/classpath/gnu/java/rmi/dgc/DGCImpl_Skel.java144
-rw-r--r--libjava/classpath/gnu/java/rmi/dgc/DGCImpl_Stub.java158
-rw-r--r--libjava/classpath/gnu/java/rmi/dgc/LeaseRenewingTask.java234
-rw-r--r--libjava/classpath/gnu/java/rmi/dgc/package.html46
5 files changed, 0 insertions, 764 deletions
diff --git a/libjava/classpath/gnu/java/rmi/dgc/DGCImpl.java b/libjava/classpath/gnu/java/rmi/dgc/DGCImpl.java
deleted file mode 100644
index 5efbf279636..00000000000
--- a/libjava/classpath/gnu/java/rmi/dgc/DGCImpl.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/* DGCImpl.java --
- Copyright (c) 1996, 1997, 1998, 1999, 2002, 2005
- Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-package gnu.java.rmi.dgc;
-
-import gnu.java.rmi.server.UnicastServer;
-import gnu.java.rmi.server.UnicastServerRef;
-
-import java.rmi.RemoteException;
-import java.rmi.dgc.DGC;
-import java.rmi.dgc.Lease;
-import java.rmi.dgc.VMID;
-import java.rmi.server.ObjID;
-import java.rmi.server.RMISocketFactory;
-import java.util.Collection;
-import java.util.TimerTask;
-
-/**
- * The DGC implementation is used for the server side during the distributed
- * garbage collection. This interface contains the two methods: dirty and clean.
- * A dirty call is made when a remote reference is unmarshaled in a client. A
- * corresponding clean call is made by client it no longer uses that remote
- * reference. A reference to a remote object is also automatically released
- * after so called lease period that starts after the dirty call is received. It
- * is the client's responsibility to renew the leases, by making additional
- * dirty calls before such leases expire.
- */
-public class DGCImpl
- extends UnicastServerRef
- implements DGC
-{
- /*
- * The DGCImpl extends UnicastServerRef and not UnicastRemoteObject, because
- * UnicastRemoteObject must exportObject automatically.
- */
-
- /**
- * Use the serial version UID for interoperability.
- */
- private static final long serialVersionUID = 1;
-
- /**
- * Protects the array of object Id's for the scheduled period of time
- * (lease). After the time expires, the protector is automatically discarded,
- * making the references unprotected and hence applicable for the garbage
- * collection.
- */
- class RefProtector extends TimerTask
- {
- /**
- * The corresponding server references to protect. Each Id may contain
- * multiple references that are stored to collection.
- */
- Collection[] references;
-
- /**
- * Create the new instance of the reference protector that protects the
- * given array of ids and exists for the given period of time.
- *
- * @param ids the ids to protect.
- */
- RefProtector(ObjID[] ids, long timeToLive)
- {
- references = new Collection[ids.length];
- for (int i = 0; i < ids.length; i++)
- {
- references[i] = UnicastServer.getExported(ids[i]);
- }
-
- // Schedule the existence.
- LeaseRenewingTask.timer.schedule(this, timeToLive);
- }
-
- /**
- * Break all links, ensuring easy collection of the references by the gc.
- */
- public void run()
- {
- for (int i = 0; i < references.length; i++)
- {
- references[i].clear();
- references[i] = null;
- }
- }
- }
-
- /**
- * This defauld lease value is used if the lease value, passed to the
- * {@link #dirty} is equal to zero.
- */
- static final long LEASE_VALUE = 600000L;
-
- /**
- * Create the new DGC implementation.
- *
- * @throws RemoteException if the super constructor throws or the
- * socket factory fails.
- */
- public DGCImpl() throws RemoteException
- {
- super(new ObjID(ObjID.DGC_ID), 0, RMISocketFactory.getSocketFactory());
- }
-
- /**
- * Mark the given objects referecnes as used on the client side.
- *
- * @param ids the ids of the used objects.
- * @param sequenceNum the number of the call (used to detect and discard late
- * calls).
- * @param lease the requested lease
- * @return the granted lease
- */
- public Lease dirty(ObjID[] ids, long sequenceNum, Lease lease)
- throws RemoteException
- {
- // We do not fill in VMID because in this implementation it is not used.
- long leaseValue = lease.getValue();
-
- // Grant the maximal default lease time if the passed value is zero.
- if (leaseValue <= 0)
- leaseValue = LEASE_VALUE;
-
- // Create (and shedule of the given existence) the new reference
- // protector.
- new RefProtector(ids, leaseValue);
-
- lease = new Lease(lease.getVMID(), leaseValue);
- return lease;
- }
-
- /**
- * Mark the given objects as no longer used on the client side.
- *
- * @param ids the ids of the objects that are no longer used.
- * @param sequenceNum the number of the call (used to detect and discard late
- * calls)
- * @param vmid the VMID of the client.
- * @param strong make the "strong" clean call.
- */
- public void clean(ObjID[] ids, long sequenceNum, VMID vmid, boolean strong)
- throws RemoteException
- {
- // Not implemented
- // TODO implement
- }
-
-} // End of DGCImpl
diff --git a/libjava/classpath/gnu/java/rmi/dgc/DGCImpl_Skel.java b/libjava/classpath/gnu/java/rmi/dgc/DGCImpl_Skel.java
deleted file mode 100644
index a40b48ca049..00000000000
--- a/libjava/classpath/gnu/java/rmi/dgc/DGCImpl_Skel.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/* DGCImpl_Skel.java
- Copyright (C) 2002 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-// Skel class generated by rmic - DO NOT EDIT!
-
-package gnu.java.rmi.dgc;
-
-public final class DGCImpl_Skel
- implements java.rmi.server.Skeleton
-{
- private static final long interfaceHash = -669196253586618813L;
-
- private static final java.rmi.server.Operation[] operations = {
- new java.rmi.server.Operation("void clean(java.rmi.server.ObjID[], long, java.rmi.dgc.VMID, boolean"),
- new java.rmi.server.Operation("java.rmi.dgc.Lease dirty(java.rmi.server.ObjID[], long, java.rmi.dgc.Lease")
- };
-
- public java.rmi.server.Operation[] getOperations() {
- return ((java.rmi.server.Operation[]) operations.clone());
- }
-
- public void dispatch(java.rmi.Remote obj, java.rmi.server.RemoteCall call, int opnum, long hash) throws java.lang.Exception {
- if (opnum < 0) {
- if (hash == -5803803475088455571L) {
- opnum = 0;
- }
- else if (hash == -8139341527526761862L) {
- opnum = 1;
- }
- else {
- throw new java.rmi.server.SkeletonMismatchException("interface hash mismatch");
- }
- }
- else if (hash != interfaceHash) {
- throw new java.rmi.server.SkeletonMismatchException("interface hash mismatch");
- }
-
- gnu.java.rmi.dgc.DGCImpl server = (gnu.java.rmi.dgc.DGCImpl)obj;
- switch (opnum) {
- case 0:
- {
- java.rmi.server.ObjID[] $param_0;
- long $param_1;
- java.rmi.dgc.VMID $param_2;
- boolean $param_3;
- try {
- java.io.ObjectInput in = call.getInputStream();
- $param_0 = (java.rmi.server.ObjID[])in.readObject();
- $param_1 = (long)in.readLong();
- $param_2 = (java.rmi.dgc.VMID)in.readObject();
- $param_3 = (boolean)in.readBoolean();
-
- }
- catch (java.io.IOException e) {
- throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
- }
- catch (java.lang.ClassCastException e) {
- throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
- }
- finally {
- call.releaseInputStream();
- }
- server.clean($param_0, $param_1, $param_2, $param_3);
- try {
- java.io.ObjectOutput out = call.getResultStream(true);
- }
- catch (java.io.IOException e) {
- throw new java.rmi.MarshalException("error marshalling return", e);
- }
- break;
- }
-
- case 1:
- {
- java.rmi.server.ObjID[] $param_0;
- long $param_1;
- java.rmi.dgc.Lease $param_2;
- try {
- java.io.ObjectInput in = call.getInputStream();
- $param_0 = (java.rmi.server.ObjID[])in.readObject();
- $param_1 = (long)in.readLong();
- $param_2 = (java.rmi.dgc.Lease)in.readObject();
-
- }
- catch (java.io.IOException e) {
- throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
- }
- catch (java.lang.ClassCastException e) {
- throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
- }
- finally {
- call.releaseInputStream();
- }
- java.rmi.dgc.Lease $result = server.dirty($param_0, $param_1, $param_2);
- try {
- java.io.ObjectOutput out = call.getResultStream(true);
- out.writeObject($result);
- }
- catch (java.io.IOException e) {
- throw new java.rmi.MarshalException("error marshalling return", e);
- }
- break;
- }
-
- default:
- throw new java.rmi.UnmarshalException("invalid method number");
- }
- }
-}
diff --git a/libjava/classpath/gnu/java/rmi/dgc/DGCImpl_Stub.java b/libjava/classpath/gnu/java/rmi/dgc/DGCImpl_Stub.java
deleted file mode 100644
index dac8b6f4cad..00000000000
--- a/libjava/classpath/gnu/java/rmi/dgc/DGCImpl_Stub.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/* DGCImpl_Stub.java
- Copyright (C) 2002 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-// Stub class generated by rmic - DO NOT EDIT!
-
-package gnu.java.rmi.dgc;
-
-public final class DGCImpl_Stub
- extends java.rmi.server.RemoteStub
- implements java.rmi.dgc.DGC
-{
- private static final long serialVersionUID = 2L;
-
- private static final long interfaceHash = -669196253586618813L;
-
- private static boolean useNewInvoke;
-
- private static final java.rmi.server.Operation[] operations = {
- new java.rmi.server.Operation("void clean(java.rmi.server.ObjID[], long, java.rmi.dgc.VMID, boolean)"),
- new java.rmi.server.Operation("java.rmi.dgc.Lease dirty(java.rmi.server.ObjID[], long, java.rmi.dgc.Lease)")
- };
-
- private static java.lang.reflect.Method $method_clean_0;
- private static java.lang.reflect.Method $method_dirty_1;
-
- static {
- try {
- java.rmi.server.RemoteRef.class.getMethod("invoke", new java.lang.Class[] { java.rmi.Remote.class, java.lang.reflect.Method.class, java.lang.Object[].class, long.class });
- useNewInvoke = true;
- $method_clean_0 = gnu.java.rmi.dgc.DGCImpl.class.getMethod("clean", new java.lang.Class[] {java.rmi.server.ObjID[].class, long.class, java.rmi.dgc.VMID.class, boolean.class});
- $method_dirty_1 = gnu.java.rmi.dgc.DGCImpl.class.getMethod("dirty", new java.lang.Class[] {java.rmi.server.ObjID[].class, long.class, java.rmi.dgc.Lease.class});
-
- }
- catch (java.lang.NoSuchMethodException e) {
- useNewInvoke = false;
- }
- }
-
- public DGCImpl_Stub() {
- super();
- }
- public DGCImpl_Stub(java.rmi.server.RemoteRef ref) {
- super(ref);
- }
-
- public void clean(java.rmi.server.ObjID[] $param_0, long $param_1, java.rmi.dgc.VMID $param_2, boolean $param_3) throws java.rmi.RemoteException {
- try {
- if (useNewInvoke) {
- ref.invoke(this, $method_clean_0, new java.lang.Object[] {$param_0, new java.lang.Long($param_1), $param_2, Boolean.valueOf($param_3)}, -5803803475088455571L);
- }
- else {
- java.rmi.server.RemoteCall call = ref.newCall((java.rmi.server.RemoteObject)this, operations, 0, interfaceHash);
- try {
- java.io.ObjectOutput out = call.getOutputStream();
- out.writeObject($param_0);
- out.writeLong($param_1);
- out.writeObject($param_2);
- out.writeBoolean($param_3);
- }
- catch (java.io.IOException e) {
- throw new java.rmi.MarshalException("error marshalling arguments", e);
- }
- ref.invoke(call);
- try {
- java.io.ObjectInput in = call.getInputStream();
- }
- catch (java.io.IOException e) {
- throw new java.rmi.UnmarshalException("error unmarshalling return", e);
- }
- finally {
- ref.done(call);
- }
- }
- }
- catch (java.rmi.RemoteException e) {
- throw e;
- }
- catch (java.lang.Exception e) {
- throw new java.rmi.UnexpectedException("undeclared checked exception", e);
- }
- }
-
- public java.rmi.dgc.Lease dirty(java.rmi.server.ObjID[] $param_0, long $param_1, java.rmi.dgc.Lease $param_2) throws java.rmi.RemoteException {
- try {
- if (useNewInvoke) {
- java.lang.Object $result = ref.invoke(this, $method_dirty_1, new java.lang.Object[] {$param_0, new java.lang.Long($param_1), $param_2}, -8139341527526761862L);
- return ((java.rmi.dgc.Lease)$result);
- }
- else {
- java.rmi.server.RemoteCall call = ref.newCall((java.rmi.server.RemoteObject)this, operations, 1, interfaceHash);
- try {
- java.io.ObjectOutput out = call.getOutputStream();
- out.writeObject($param_0);
- out.writeLong($param_1);
- out.writeObject($param_2);
- }
- catch (java.io.IOException e) {
- throw new java.rmi.MarshalException("error marshalling arguments", e);
- }
- ref.invoke(call);
- java.rmi.dgc.Lease $result;
- try {
- java.io.ObjectInput in = call.getInputStream();
- $result = (java.rmi.dgc.Lease)in.readObject();
- return ($result);
- }
- catch (java.io.IOException e) {
- throw new java.rmi.UnmarshalException("error unmarshalling return", e);
- }
- finally {
- ref.done(call);
- }
- }
- }
- catch (java.rmi.RemoteException e) {
- throw e;
- }
- catch (java.lang.Exception e) {
- throw new java.rmi.UnexpectedException("undeclared checked exception", e);
- }
- }
-
-}
diff --git a/libjava/classpath/gnu/java/rmi/dgc/LeaseRenewingTask.java b/libjava/classpath/gnu/java/rmi/dgc/LeaseRenewingTask.java
deleted file mode 100644
index 7995af744d5..00000000000
--- a/libjava/classpath/gnu/java/rmi/dgc/LeaseRenewingTask.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/* LeaseRenewingTask.java -- The task to renew the lease.
- Copyright (C) 2006 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package gnu.java.rmi.dgc;
-
-import gnu.java.rmi.server.UnicastRef;
-
-import java.lang.ref.WeakReference;
-import java.rmi.dgc.Lease;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Timer;
-import java.util.TimerTask;
-import java.util.WeakHashMap;
-
-/**
- * The task to renew the lease to some object reference. The UnicastRef
- * being renewed is stored as a weak reference. So the presence of the
- * sheduled task does not prevent it from being garbage collected. If the
- * reference has not been garbage collected, the task is resheduled after
- * the lease is renewed.
- *
- * @author Audrius Meskauskas (Audriusa@Bioinformatics.org)
- */
-public class LeaseRenewingTask
-{
- /**
- * The sheduled timer task to call the renew() method.
- */
- class LeaseTimerTask extends TimerTask
- {
- public void run()
- {
- renew();
- }
- }
-
- /**
- * The default requested lease duration time (one minute by default).
- */
- public static long REQUEST_LEASE_DURATION = 60000;
-
- /**
- * The reference to the UnicastRef that must renew its lease until not
- * garbage collected. The different members of this list may point to the
- * different instances of the UnicastRef's, but these references are
- * pointing to the same remote object (they .equals() returns
- * true when comparing with each other). Using LinkedList to make
- * frequent deletions from the middle easy.
- */
- LinkedList ref = new LinkedList();
-
- /**
- * The granted (or supposed) lease.
- */
- Lease lease = new Lease(null, REQUEST_LEASE_DURATION);
-
- /**
- * The timer, shared by all lease renewing tasks. The same instance is also
- * used for the reference protector discarding in DGCImpl.
- */
- static Timer timer = new Timer(true);
-
- /**
- * Maps the UnicastRef to its renewing task.
- */
- static WeakHashMap existingTasks = new WeakHashMap();
-
- /**
- * Creates the lease renewing task that renews the lease of the given
- * UnicastRef until it is not collected. This constructor requests the lease
- * value from the server and schedules the lease renewal action.
- *
- * @param renewIt the reference that must be renewed.
- */
- public LeaseRenewingTask(UnicastRef renewIt)
- {
- lease = notifyDGC(renewIt);
- if (lease != null)
- {
- schedule(lease);
- ref.add(new WeakReference(renewIt));
- }
- }
-
- /**
- * Schedule periodic leases for the given UnicastRef reference.
- *
- * @param renewIt the reference, for that the leases must be scheduled.
- */
- public static void scheduleLeases(UnicastRef renewIt)
- {
- // No need to schedule leases for null.
- if (renewIt == null)
- return;
- try {
- synchronized (existingTasks)
- {
- // Check maybe the task for refreshing this remote object already
- // exists.
- LeaseRenewingTask task = (LeaseRenewingTask) existingTasks.get(renewIt);
-
- if (task != null)
- {
- // Extend the reference list only. The scheduling must be
- // alredy done with the previous lease.
- synchronized (task.ref)
- {
- task.ref.add(new WeakReference(renewIt));
- }
- }
- else
- existingTasks.put(renewIt, new LeaseRenewingTask(renewIt));
- }
- }
- catch (Exception ex)
- {
- InternalError ierr = new InternalError("Lease for "+renewIt);
- ierr.initCause(ex);
- throw ierr;
- }
- }
-
- /**
- * Shedule the renewing call, taking into consideration that the following
- * lease was granted.
- *
- * @param lease the lease that was granted.
- */
- public void schedule(Lease lease)
- {
- long value = lease.getValue();
-
- // Shedule a 10 % earlier because some time is needed for the message
- // to reach the server.
- long reduced = (value * 90)/100;
- if (reduced == 0)
- reduced = value;
-
- timer.schedule(new LeaseTimerTask(), reduced);
- }
-
- /**
- * Renew the lease.
- */
- public void renew()
- {
- Object renewIt = null;
- // Iterate throw the list of associated references. If all are
- // discarded, there is no need to renew.
- synchronized (ref)
- {
- Iterator iter = ref.iterator();
- WeakReference w;
- while (iter.hasNext() && renewIt == null)
- {
- w = (WeakReference) iter.next();
- renewIt = w.get();
- if (renewIt == null)
- // Discard the weak reference if its target has been garbage
- // collected.
- iter.remove();
- }
- }
-
- if (renewIt!=null)
- {
- Lease lease = notifyDGC( (UnicastRef) renewIt);
-
- // Schedule the next renewing session.
- if (lease!=null)
- schedule(lease);
- }
- {
- // All references collected - discard this entry.
- }
- }
-
- /**
- * Notify DGC that we still hold this reference.
- *
- * @param renewIt the reference we still have (must not be null).
- */
- public Lease notifyDGC(UnicastRef renewIt)
- {
- try
- {
- return renewIt.notifyDGC(lease);
- }
- catch (Exception e)
- {
- // Failed to notify.
- // TODO Take some relevant action in the case if we failed
- // to notify the remote object owner.
- return null;
- }
- }
-
-}
diff --git a/libjava/classpath/gnu/java/rmi/dgc/package.html b/libjava/classpath/gnu/java/rmi/dgc/package.html
deleted file mode 100644
index 3ed81cfdddb..00000000000
--- a/libjava/classpath/gnu/java/rmi/dgc/package.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<!-- package.html - describes classes in gnu.java.rmi.dgc package.
- Copyright (C) 2005 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. -->
-
-<html>
-<head><title>GNU Classpath - gnu.java.rmi.dgc</title></head>
-
-<body>
-<p></p>
-
-</body>
-</html>