forked from I2P_Developers/i2p.i2p
2005-10-20 jrandom
* Workaround a bug in GCJ's Calendar implementation * Propery throw an exception in the streaming lib if we try to write to a closed stream. This will hopefully help clear some I2Phex bugs (thanks GregorK!)
This commit is contained in:
@@ -77,6 +77,7 @@ public class MessageOutputStream extends OutputStream {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void write(byte b[], int off, int len) throws IOException {
|
public void write(byte b[], int off, int len) throws IOException {
|
||||||
|
if (_closed) throw new IOException("Already closed");
|
||||||
if (_log.shouldLog(Log.DEBUG))
|
if (_log.shouldLog(Log.DEBUG))
|
||||||
_log.debug("write(b[], " + off + ", " + len + ") ");
|
_log.debug("write(b[], " + off + ", " + len + ") ");
|
||||||
int cur = off;
|
int cur = off;
|
||||||
|
@@ -71,14 +71,18 @@ public class RoutingKeyGenerator {
|
|||||||
*/
|
*/
|
||||||
public void generateDateBasedModData() {
|
public void generateDateBasedModData() {
|
||||||
Date today = null;
|
Date today = null;
|
||||||
|
long now = _context.clock().now();
|
||||||
synchronized (_cal) {
|
synchronized (_cal) {
|
||||||
_cal.setTime(new Date(_context.clock().now()));
|
_cal.setTime(new Date(now));
|
||||||
|
_cal.set(Calendar.YEAR, _cal.get(Calendar.YEAR)); // gcj <= 4.0 workaround
|
||||||
|
_cal.set(Calendar.DAY_OF_YEAR, _cal.get(Calendar.DAY_OF_YEAR)); // gcj <= 4.0 workaround
|
||||||
_cal.set(Calendar.HOUR_OF_DAY, 0);
|
_cal.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
_cal.set(Calendar.MINUTE, 0);
|
_cal.set(Calendar.MINUTE, 0);
|
||||||
_cal.set(Calendar.SECOND, 0);
|
_cal.set(Calendar.SECOND, 0);
|
||||||
_cal.set(Calendar.MILLISECOND, 0);
|
_cal.set(Calendar.MILLISECOND, 0);
|
||||||
today = _cal.getTime();
|
today = _cal.getTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
byte mod[] = null;
|
byte mod[] = null;
|
||||||
String modVal = null;
|
String modVal = null;
|
||||||
synchronized (_fmt) {
|
synchronized (_fmt) {
|
||||||
@@ -91,7 +95,7 @@ public class RoutingKeyGenerator {
|
|||||||
_log.info("Routing modifier generated: " + modVal);
|
_log.info("Routing modifier generated: " + modVal);
|
||||||
setModData(mod);
|
setModData(mod);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate a modified (yet consistent) hash from the origKey by generating the
|
* Generate a modified (yet consistent) hash from the origKey by generating the
|
||||||
* SHA256 of the targetKey with the current modData appended to it, *then*
|
* SHA256 of the targetKey with the current modData appended to it, *then*
|
||||||
|
@@ -1,4 +1,10 @@
|
|||||||
$Id: history.txt,v 1.301 2005/10/19 00:15:15 jrandom Exp $
|
$Id: history.txt,v 1.302 2005/10/19 17:38:46 jrandom Exp $
|
||||||
|
|
||||||
|
2005-10-20 jrandom
|
||||||
|
* Workaround a bug in GCJ's Calendar implementation
|
||||||
|
* Propery throw an exception in the streaming lib if we try to write to a
|
||||||
|
closed stream. This will hopefully help clear some I2Phex bugs (thanks
|
||||||
|
GregorK!)
|
||||||
|
|
||||||
2005-10-19 jrandom
|
2005-10-19 jrandom
|
||||||
* Ported the snark bittorrent client to I2P such that it is compatible
|
* Ported the snark bittorrent client to I2P such that it is compatible
|
||||||
|
@@ -460,6 +460,8 @@ public class Router {
|
|||||||
private long getTimeTillMidnight() {
|
private long getTimeTillMidnight() {
|
||||||
long now = Router.this._context.clock().now();
|
long now = Router.this._context.clock().now();
|
||||||
_cal.setTime(new Date(now));
|
_cal.setTime(new Date(now));
|
||||||
|
_cal.set(Calendar.YEAR, _cal.get(Calendar.YEAR)); // gcj <= 4.0 workaround
|
||||||
|
_cal.set(Calendar.DAY_OF_YEAR, _cal.get(Calendar.DAY_OF_YEAR)); // gcj <= 4.0 workaround
|
||||||
_cal.add(Calendar.DATE, 1);
|
_cal.add(Calendar.DATE, 1);
|
||||||
_cal.set(Calendar.HOUR_OF_DAY, 0);
|
_cal.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
_cal.set(Calendar.MINUTE, 0);
|
_cal.set(Calendar.MINUTE, 0);
|
||||||
@@ -468,7 +470,7 @@ public class Router {
|
|||||||
long then = _cal.getTime().getTime();
|
long then = _cal.getTime().getTime();
|
||||||
long howLong = then - now;
|
long howLong = then - now;
|
||||||
if (howLong < 0) // hi kaffe
|
if (howLong < 0) // hi kaffe
|
||||||
howLong = 24*60*60*1000 + howLong;
|
howLong = 24*60*60*1000l + howLong;
|
||||||
if (_log.shouldLog(Log.DEBUG))
|
if (_log.shouldLog(Log.DEBUG))
|
||||||
_log.debug("Time till midnight: " + howLong + "ms");
|
_log.debug("Time till midnight: " + howLong + "ms");
|
||||||
return howLong;
|
return howLong;
|
||||||
|
@@ -15,9 +15,9 @@ import net.i2p.CoreVersion;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class RouterVersion {
|
public class RouterVersion {
|
||||||
public final static String ID = "$Revision: 1.272 $ $Date: 2005/10/19 00:15:15 $";
|
public final static String ID = "$Revision: 1.273 $ $Date: 2005/10/19 17:38:45 $";
|
||||||
public final static String VERSION = "0.6.1.3";
|
public final static String VERSION = "0.6.1.3";
|
||||||
public final static long BUILD = 3;
|
public final static long BUILD = 4;
|
||||||
public static void main(String args[]) {
|
public static void main(String args[]) {
|
||||||
System.out.println("I2P Router version: " + VERSION + "-" + BUILD);
|
System.out.println("I2P Router version: " + VERSION + "-" + BUILD);
|
||||||
System.out.println("Router ID: " + RouterVersion.ID);
|
System.out.println("Router ID: " + RouterVersion.ID);
|
||||||
|
Reference in New Issue
Block a user