Author: j16sdiz
Date: 2009-04-08 00:54:33 +0000 (Wed, 08 Apr 2009)
New Revision: 26630
Modified:
trunk/freenet/src/freenet/node/Location.java
trunk/freenet/src/freenet/node/Node.java
trunk/freenet/src/freenet/node/PeerNode.java
Log:
Don't throw FSParseException, return -1.0
Exception is slower
Modified: trunk/freenet/src/freenet/node/Location.java
===================================================================
--- trunk/freenet/src/freenet/node/Location.java 2009-04-08 00:23:47 UTC (rev 26629)
+++ trunk/freenet/src/freenet/node/Location.java 2009-04-08 00:54:33 UTC (rev 26630)
@@ -13,14 +13,14 @@
*/
public class Location {
- public static double getLocation(String init) throws FSParseException {
+ public static double getLocation(String init) {
try {
- if(init == null) throw new FSParseException("Null location");
+ if(init == null) return -1;
double d = Double.parseDouble(init);
- if(d < 0.0 || d > 1.0) throw new FSParseException("Invalid location "+d);
+ if(d < 0.0 || d > 1.0) return -1;
return d;
} catch (NumberFormatException e) {
- throw new FSParseException(e);
+ return -1;
}
}
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2009-04-08 00:23:47 UTC (rev 26629)
+++ trunk/freenet/src/freenet/node/Node.java 2009-04-08 00:54:33 UTC (rev 26630)
@@ -572,13 +572,10 @@
swapIdentifier = Fields.bytesToLong(darknetCrypto.identityHashHash);
String loc = fs.get("location");
- try {
- lm.setLocation(Location.getLocation(loc));
- } catch (FSParseException e) {
- IOException e1 = new IOException();
- e1.initCause(e);
- throw e1;
- }
+ double locD = Location.getLocation(loc);
+ if (locD == -1.0)
+ throw new IOException("Invalid location: " + loc);
+ lm.setLocation(locD);
myName = fs.get("myName");
if(myName == null) {
myName = newName();
Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java 2009-04-08 00:23:47 UTC (rev 26629)
+++ trunk/freenet/src/freenet/node/PeerNode.java 2009-04-08 00:54:33 UTC (rev 26630)
@@ -402,7 +402,7 @@
}
String locationString = fs.get("location");
String[] peerLocationsString = fs.getAll("peersLocation");
- try {
+
currentLocation = Location.getLocation(locationString);
if(peerLocationsString != null) {
double[] peerLocations = new double[peerLocationsString.length];
@@ -411,10 +411,6 @@
currentPeersLocation = peerLocations;
}
locSetTime = System.currentTimeMillis();
- } catch(FSParseException e) {
- // Wait for them to send us an FNPLocChangeNotification
- currentLocation = -1.0;
- }
disableRouting = disableRoutingHasBeenSetLocally = false;
disableRoutingHasBeenSetRemotely = false; // Assume so
@@ -2409,18 +2405,17 @@
String locationString = fs.get("location");
if(locationString != null) {
- try {
double newLoc = Location.getLocation(locationString);
+ if (newLoc == -1) {
+ if(logMINOR)
+ Logger.minor(this, "Invalid or null location, waiting for FNPLocChangeNotification: locationString=" + locationString);
+ } else {
if(!Location.equals(newLoc, currentLocation)) {
changedAnything = true;
currentLocation = newLoc;
locSetTime = System.currentTimeMillis();
}
- } catch(FSParseException e) {
- // Location is optional, we will wait for FNPLocChangeNotification. Until then we will use the last known location (or -1 if we have never known).
- if(logMINOR)
- Logger.minor(this, "Invalid or null location, waiting for FNPLocChangeNotification: " + e);
- }
+ }
}
try {
String physical[] = fs.getAll("physical.udp");
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.