Imported GNU Classpath 0.90

Imported GNU Classpath 0.90
       * scripts/makemake.tcl: Set gnu/java/awt/peer/swing to ignore.
       * gnu/classpath/jdwp/VMFrame.java (SIZE): New constant.
       * java/lang/VMCompiler.java: Use gnu.java.security.hash.MD5.
       * java/lang/Math.java: New override file.
       * java/lang/Character.java: Merged from Classpath.
       (start, end): Now 'int's.
       (canonicalName): New field.
       (CANONICAL_NAME, NO_SPACES_NAME, CONSTANT_NAME): New constants.
       (UnicodeBlock): Added argument.
       (of): New overload.
       (forName): New method.
       Updated unicode blocks.
       (sets): Updated.
       * sources.am: Regenerated.
       * Makefile.in: Likewise.

From-SVN: r111942
This commit is contained in:
Mark Wielaard
2006-03-10 21:46:48 +00:00
parent 27079765d0
commit 8aa540d2f7
1367 changed files with 188789 additions and 22762 deletions
+34 -5
View File
@@ -41,11 +41,40 @@ import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.server.ObjID;
public interface DGC extends Remote
/**
* 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 interface DGC
extends Remote
{
Lease dirty (ObjID[] ids, long sequenceNum, Lease lease)
throws RemoteException;
/**
* 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
*/
Lease dirty(ObjID[] ids, long sequenceNum, Lease lease)
throws RemoteException;
void clean (ObjID[] ids, long sequenceNum, VMID vmid, boolean strong)
throws RemoteException;
/**
* 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
* @param vmid the VMID of the client.
* @param strong make the "strong" clean call ("strong" calls are scheduled
* after the failed dirty calls).
*/
void clean(ObjID[] ids, long sequenceNum, VMID vmid, boolean strong)
throws RemoteException;
}
+51 -18
View File
@@ -1,5 +1,6 @@
/* Lease.java
Copyright (c) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -7,7 +8,7 @@ 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
@@ -39,29 +40,61 @@ package java.rmi.dgc;
import java.io.Serializable;
/**
* A lease object is used to request and grant leases for the remote objects. It
* contains the lease duration and the unique VM indentifier.
*/
public final class Lease
implements Serializable {
implements Serializable
{
static final long serialVersionUID = -5713411624328831948L;
static final long serialVersionUID = - 5713411624328831948L;
private VMID vmid;
private long value;
private VMID vmid;
public Lease(VMID id, long duration) {
vmid = id;
value = duration;
}
private long value;
public VMID getVMID() {
return (vmid);
}
/**
* Create the new lease with the given id and duration
*
* @param id the lease id
* @param duration the lease duration
*/
public Lease(VMID id, long duration)
{
vmid = id;
value = duration;
}
public long getValue() {
return (value);
}
/**
* Get the lease id.
*
* @return the lease id
*/
public VMID getVMID()
{
return (vmid);
}
public String toString() {
return ("[" + vmid.toString() + ", " + Long.toString(value) + "]");
}
/**
* Get the lease duration
*
* @return the lease duration
*/
public long getValue()
{
return (value);
}
/**
* Get the string representation of this lease
*
* @return the string represenation (lease id, followed by the lease
* duration).
*/
public String toString()
{
return ("[" + vmid.toString() + ", " + Long.toString(value) + "]");
}
}