Author: toad
Date: 2007-02-09 20:54:57 +0000 (Fri, 09 Feb 2007)
New Revision: 11718
Modified:
trunk/freenet/src/freenet/client/FailureCodeTracker.java
trunk/freenet/src/freenet/client/async/SingleFileInserter.java
trunk/freenet/src/freenet/client/async/SplitFileInserter.java
trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java
trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java
trunk/freenet/src/freenet/config/FilePersistentConfig.java
trunk/freenet/src/freenet/config/SubConfig.java
trunk/freenet/src/freenet/crypt/DSAGroup.java
trunk/freenet/src/freenet/crypt/DSAPrivateKey.java
trunk/freenet/src/freenet/crypt/DSAPublicKey.java
trunk/freenet/src/freenet/node/Node.java
trunk/freenet/src/freenet/node/NodeStarter.java
trunk/freenet/src/freenet/node/PeerManager.java
trunk/freenet/src/freenet/node/PeerNode.java
trunk/freenet/src/freenet/node/TextModeClientInterface.java
trunk/freenet/src/freenet/node/ThrottleWindowManager.java
trunk/freenet/src/freenet/node/fcp/AddPeer.java
trunk/freenet/src/freenet/node/fcp/AllDataMessage.java
trunk/freenet/src/freenet/node/fcp/ClientGet.java
trunk/freenet/src/freenet/node/fcp/ClientGetMessage.java
trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java
trunk/freenet/src/freenet/node/fcp/ClientPut.java
trunk/freenet/src/freenet/node/fcp/ClientPutBase.java
trunk/freenet/src/freenet/node/fcp/ClientPutDir.java
trunk/freenet/src/freenet/node/fcp/ClientPutDirMessage.java
trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java
trunk/freenet/src/freenet/node/fcp/ClientRequest.java
trunk/freenet/src/freenet/node/fcp/DataFoundMessage.java
trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java
trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
trunk/freenet/src/freenet/node/fcp/FinishedCompressionMessage.java
trunk/freenet/src/freenet/node/fcp/GetFailedMessage.java
trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
trunk/freenet/src/freenet/node/fcp/IdentifierCollisionMessage.java
trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java
trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java
trunk/freenet/src/freenet/node/fcp/PeerNote.java
trunk/freenet/src/freenet/node/fcp/PeerRemoved.java
trunk/freenet/src/freenet/node/fcp/PersistentGet.java
trunk/freenet/src/freenet/node/fcp/PersistentPut.java
trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java
trunk/freenet/src/freenet/node/fcp/PersistentRequestRemovedMessage.java
trunk/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java
trunk/freenet/src/freenet/node/fcp/PutFailedMessage.java
trunk/freenet/src/freenet/node/fcp/PutFetchableMessage.java
trunk/freenet/src/freenet/node/fcp/PutSuccessfulMessage.java
trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
trunk/freenet/src/freenet/node/fcp/SSKKeypairMessage.java
trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
trunk/freenet/src/freenet/node/fcp/StartedCompressionMessage.java
trunk/freenet/src/freenet/node/fcp/SubscribeUSKMessage.java
trunk/freenet/src/freenet/node/fcp/SubscribedUSKUpdate.java
trunk/freenet/src/freenet/node/fcp/URIGeneratedMessage.java
trunk/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java
trunk/freenet/src/freenet/node/fcp/WatchGlobal.java
trunk/freenet/src/freenet/support/SimpleFieldSet.java
trunk/freenet/src/freenet/support/io/DelayedFreeBucket.java
trunk/freenet/src/freenet/support/io/FileBucket.java
trunk/freenet/src/freenet/support/io/NullBucket.java
trunk/freenet/src/freenet/support/io/PaddedEphemerallyEncryptedBucket.java
trunk/freenet/src/freenet/support/io/RandomAccessFileBucket.java
trunk/freenet/src/freenet/support/io/ReadOnlyFileSliceBucket.java
trunk/freenet/src/freenet/support/io/TempFileBucket.java
trunk/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java
trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java
trunk/freenet/src/freenet/tools/AddRef.java
Log:
SimpleFieldSet: APIs must be as simple as possible AND NO SIMPLER.
Also some minor code cleanups.
Modified: trunk/freenet/src/freenet/client/FailureCodeTracker.java
===================================================================
--- trunk/freenet/src/freenet/client/FailureCodeTracker.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/client/FailureCodeTracker.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -117,7 +117,8 @@
}
/** Copy verbosely to a SimpleFieldSet */
- public synchronized void copyToFieldSet(SimpleFieldSet sfs, String
prefix, boolean verbose) {
+ public synchronized SimpleFieldSet toFieldSet(boolean verbose) {
+ SimpleFieldSet sfs = new SimpleFieldSet();
Iterator keys = map.keySet().iterator();
while(keys.hasNext()) {
Integer k = (Integer) keys.next();
@@ -126,10 +127,11 @@
// prefix.num.Description=<code description>
// prefix.num.Count=<count>
if(verbose)
-
sfs.put(prefix+Integer.toString(code)+".Description",
+
sfs.putSingle(Integer.toString(code)+".Description",
insert ?
InserterException.getMessage(code) : FetchException.getMessage(code));
- sfs.put(prefix+Integer.toString(code)+".Count",
Integer.toString(item.x));
+ sfs.putSingle(Integer.toString(code)+".Count",
Integer.toString(item.x));
}
+ return sfs;
}
public synchronized boolean isOneCodeOnly() {
Modified: trunk/freenet/src/freenet/client/async/SingleFileInserter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SingleFileInserter.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/client/async/SingleFileInserter.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -582,7 +582,7 @@
curMetadataPutter = metadataPutter;
}
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Type", "SplitHandler");
+ fs.putSingle("Type", "SplitHandler");
if(curSFI != null)
fs.put("SplitFileInserter",
curSFI.getProgressFieldset());
if(curMetadataPutter != null)
Modified: trunk/freenet/src/freenet/client/async/SplitFileInserter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileInserter.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/client/async/SplitFileInserter.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -48,18 +48,18 @@
SimpleFieldSet fs = new SimpleFieldSet();
// don't save basic infrastructure such as ctx and parent
// only save details of the request
- fs.put("Type", "SplitFileInserter");
- fs.put("DataLength", Long.toString(dataLength));
- fs.put("CompressionCodec", Short.toString(compressionCodec));
- fs.put("SplitfileCodec", Short.toString(splitfileAlgorithm));
- fs.put("Finished", Boolean.toString(finished));
- fs.put("SegmentSize", Integer.toString(segmentSize));
- fs.put("CheckSegmentSize", Integer.toString(checkSegmentSize));
+ fs.putSingle("Type", "SplitFileInserter");
+ fs.putSingle("DataLength", Long.toString(dataLength));
+ fs.putSingle("CompressionCodec",
Short.toString(compressionCodec));
+ fs.putSingle("SplitfileCodec",
Short.toString(splitfileAlgorithm));
+ fs.putSingle("Finished", Boolean.toString(finished));
+ fs.putSingle("SegmentSize", Integer.toString(segmentSize));
+ fs.putSingle("CheckSegmentSize",
Integer.toString(checkSegmentSize));
SimpleFieldSet segs = new SimpleFieldSet();
for(int i=0;i<segments.length;i++) {
segs.put(Integer.toString(i),
segments[i].getProgressFieldset());
}
- segs.put("Count", Integer.toString(segments.length));
+ segs.putSingle("Count", Integer.toString(segments.length));
fs.put("Segments", segs);
return fs;
}
Modified: trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -230,19 +230,19 @@
public synchronized SimpleFieldSet getProgressFieldset() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Type", "SplitFileInserterSegment");
- fs.put("Finished", Boolean.toString(finished));
+ fs.putSingle("Type", "SplitFileInserterSegment");
+ fs.putSingle("Finished", Boolean.toString(finished));
// If true, check blocks which are null are finished
- fs.put("Encoded", Boolean.toString(encoded));
+ fs.putSingle("Encoded", Boolean.toString(encoded));
// If true, data blocks which are null are finished
- fs.put("Started", Boolean.toString(started));
- errors.copyToFieldSet(fs, "Errors.", false);
+ fs.putSingle("Started", Boolean.toString(started));
+ fs.put("Errors", errors.toFieldSet(false));
SimpleFieldSet dataFS = new SimpleFieldSet();
- dataFS.put("Count", Integer.toString(dataBlocks.length));
+ dataFS.putSingle("Count", Integer.toString(dataBlocks.length));
for(int i=0;i<dataBlocks.length;i++) {
SimpleFieldSet block = new SimpleFieldSet();
if(dataURIs[i] != null)
- block.put("URI", dataURIs[i].toString());
+ block.putSingle("URI", dataURIs[i].toString());
SingleBlockInserter sbi =
dataBlockInserters[i];
// If started, then sbi = null => block finished.
@@ -270,11 +270,11 @@
}
fs.put("DataBlocks", dataFS);
SimpleFieldSet checkFS = new SimpleFieldSet();
- checkFS.put("Count", Integer.toString(checkBlocks.length));
+ checkFS.putSingle("Count",
Integer.toString(checkBlocks.length));
for(int i=0;i<checkBlocks.length;i++) {
SimpleFieldSet block = new SimpleFieldSet();
if(checkURIs[i] != null)
- block.put("URI", checkURIs[i].toString());
+ block.putSingle("URI", checkURIs[i].toString());
SingleBlockInserter sbi =
checkBlockInserters[i];
// If encoded, then sbi == null => block finished
Modified: trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -669,7 +669,7 @@
SimpleFieldSet fs;
try {
- fs = new SimpleFieldSet(ref.toString());
+ fs = new SimpleFieldSet(ref.toString(), false);
fs.setEndMarker("End"); // It's always End ;
the regex above doesn't always grok this
} catch (IOException e) {
this.sendErrorPage(ctx, 200, "Failed To Add
Node", "Unable to parse the given text as a node reference ("+e+"). Please try
again.");
Modified: trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -133,12 +133,12 @@
try {
long now =
System.currentTimeMillis();
SimpleFieldSet fs = new
SimpleFieldSet();
- fs.put("type",
Integer.toString(Node.N2N_TEXT_MESSAGE_TYPE_USERALERT));
- fs.put("source_nodename",
Base64.encode(node.getMyName().getBytes()));
- fs.put("target_nodename",
Base64.encode(pn.getName().getBytes()));
- fs.put("text",
Base64.encode(message.getBytes()));
- fs.put("composedTime",
Long.toString(now));
- fs.put("sentTime",
Long.toString(now));
+ fs.putSingle("type",
Integer.toString(Node.N2N_TEXT_MESSAGE_TYPE_USERALERT));
+ fs.putSingle("source_nodename",
Base64.encode(node.getMyName().getBytes()));
+ fs.putSingle("target_nodename",
Base64.encode(pn.getName().getBytes()));
+ fs.putSingle("text",
Base64.encode(message.getBytes()));
+ fs.putSingle("composedTime",
Long.toString(now));
+ fs.putSingle("sentTime",
Long.toString(now));
Message n2ntm;
if(Version.buildNumber() <
1000) { // FIXME/TODO: This test shouldn't be needed eventually
n2ntm =
DMT.createNodeToNodeTextMessage(Node.N2N_TEXT_MESSAGE_TYPE_USERALERT,
node.getMyName(), pn.getName(), message);
Modified: trunk/freenet/src/freenet/config/FilePersistentConfig.java
===================================================================
--- trunk/freenet/src/freenet/config/FilePersistentConfig.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/config/FilePersistentConfig.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -96,7 +96,7 @@
try {
LineReadingInputStream lis = new
LineReadingInputStream(bis);
// Config file is UTF-8 too!
- return new SimpleFieldSet(lis, 32768, 128, true, true);
+ return new SimpleFieldSet(lis, 32768, 128, true, true,
true); // FIXME? advanced users may edit the config file, hence true?
} finally {
try {
fis.close();
Modified: trunk/freenet/src/freenet/config/SubConfig.java
===================================================================
--- trunk/freenet/src/freenet/config/SubConfig.java 2007-02-09 19:47:51 UTC
(rev 11717)
+++ trunk/freenet/src/freenet/config/SubConfig.java 2007-02-09 20:54:57 UTC
(rev 11718)
@@ -210,7 +210,7 @@
Logger.minor(this, "Skipping "+key+" -
"+o.isDefault());
continue;
}
- fs.put(key, o.getValueString());
+ fs.putSingle(key, o.getValueString());
if(logMINOR)
Logger.minor(this, "Key="+prefix+'.'+key+"
value="+o.getValueString());
}
Modified: trunk/freenet/src/freenet/crypt/DSAGroup.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DSAGroup.java 2007-02-09 19:47:51 UTC
(rev 11717)
+++ trunk/freenet/src/freenet/crypt/DSAGroup.java 2007-02-09 20:54:57 UTC
(rev 11718)
@@ -342,9 +342,9 @@
public SimpleFieldSet asFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("p", Base64.encode(p.toByteArray()));
- fs.put("q", Base64.encode(q.toByteArray()));
- fs.put("g", Base64.encode(g.toByteArray()));
+ fs.putSingle("p", Base64.encode(p.toByteArray()));
+ fs.putSingle("q", Base64.encode(q.toByteArray()));
+ fs.putSingle("g", Base64.encode(g.toByteArray()));
return fs;
}
Modified: trunk/freenet/src/freenet/crypt/DSAPrivateKey.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DSAPrivateKey.java 2007-02-09 19:47:51 UTC
(rev 11717)
+++ trunk/freenet/src/freenet/crypt/DSAPrivateKey.java 2007-02-09 20:54:57 UTC
(rev 11718)
@@ -71,7 +71,7 @@
public SimpleFieldSet asFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("x", Base64.encode(x.toByteArray()));
+ fs.putSingle("x", Base64.encode(x.toByteArray()));
return fs;
}
Modified: trunk/freenet/src/freenet/crypt/DSAPublicKey.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DSAPublicKey.java 2007-02-09 19:47:51 UTC
(rev 11717)
+++ trunk/freenet/src/freenet/crypt/DSAPublicKey.java 2007-02-09 20:54:57 UTC
(rev 11718)
@@ -188,7 +188,7 @@
public SimpleFieldSet asFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("y", Base64.encode(y.toByteArray()));
+ fs.putSingle("y", Base64.encode(y.toByteArray()));
return fs;
}
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2007-02-09 19:47:51 UTC (rev
11717)
+++ trunk/freenet/src/freenet/node/Node.java 2007-02-09 20:54:57 UTC (rev
11718)
@@ -526,7 +526,7 @@
FileInputStream fis = new FileInputStream(filename);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
- SimpleFieldSet fs = new SimpleFieldSet(br);
+ SimpleFieldSet fs = new SimpleFieldSet(br, false);
br.close();
// Read contents
String[] udp = fs.getAll("physical.udp");
@@ -642,8 +642,14 @@
myARKNumber = 0;
} else {
ark = null;
- s = fs.get("old-ark.number");
- privARK = fs.get("old-ark.privURI");
+ // FIXME remove in a few versions; back compat support
for 1012 only
+ // and not very important; remove in 1014??
+ // Note that "old-ark" doesn't work because it is
stripped by the manually
+ // posted references filter.
+ s = fs.get("oldark.number");
+ if(s == null) s = fs.get("old-ark.number");
+ privARK = fs.get("oldark.privURI");
+ if(privARK == null) privARK = fs.get("old-ark.privURI");
try {
if(privARK != null) {
FreenetURI uri = new
FreenetURI(privARK);
@@ -1347,10 +1353,10 @@
SimpleFieldSet throttleFS = null;
try {
- throttleFS = SimpleFieldSet.readFrom(persistTarget);
+ throttleFS = SimpleFieldSet.readFrom(persistTarget,
false);
} catch (IOException e) {
try {
- throttleFS =
SimpleFieldSet.readFrom(persistTemp);
+ throttleFS =
SimpleFieldSet.readFrom(persistTemp, false);
} catch (FileNotFoundException e1) {
// Ignore
} catch (IOException e1) {
@@ -1734,9 +1740,9 @@
public SimpleFieldSet exportPrivateFieldSet() {
SimpleFieldSet fs = exportPublicFieldSet(false);
fs.put("dsaPrivKey", myPrivKey.asFieldSet());
- fs.put("ark.privURI", this.myARK.getInsertURI().toString(false,
false));
+ fs.putSingle("ark.privURI",
this.myARK.getInsertURI().toString(false, false));
if(myOldARK != null) {
- fs.put("old-ark.privURI",
this.myOldARK.getInsertURI().toString(false, false));
+ fs.putSingle("oldark.privURI",
this.myOldARK.getInsertURI().toString(false, false));
}
return fs;
}
@@ -1761,34 +1767,40 @@
Peer[] ips = ipDetector.getPrimaryIPAddress();
if(ips != null) {
for(int i=0;i<ips.length;i++)
- fs.put("physical.udp", ips[i].toString()); //
Keep; important that node know all our IPs
+ fs.putAppend("physical.udp",
ips[i].toString()); // Keep; important that node know all our IPs
}
- fs.put("identity", Base64.encode(myIdentity)); // FIXME
!forSetup after 11104 is mandatory
- fs.put("location",
Double.toString(lm.getLocation().getValue())); // FIXME maybe !forSetup; see
#943
- fs.put("version", Version.getVersionString()); // Keep, vital
that peer know our version. For example, some types may be sent in different
formats to different node versions (e.g. Peer).
- fs.put("testnet", Boolean.toString(testnetEnabled)); // Vital
that peer know this!
- fs.put("lastGoodVersion", Version.getLastGoodVersionString());
// Also vital
+ fs.putSingle("identity", Base64.encode(myIdentity)); // FIXME
!forSetup after 11104 is mandatory
+ fs.putSingle("location",
Double.toString(lm.getLocation().getValue())); // FIXME maybe !forSetup; see
#943
+ fs.putSingle("version", Version.getVersionString()); // Keep,
vital that peer know our version. For example, some types may be sent in
different formats to different node versions (e.g. Peer).
+ fs.putSingle("testnet", Boolean.toString(testnetEnabled)); //
Vital that peer know this!
+ fs.putSingle("lastGoodVersion",
Version.getLastGoodVersionString()); // Also vital
if(testnetEnabled)
- fs.put("testnetPort",
Integer.toString(testnetHandler.getPort())); // Useful, saves a lot of
complexity
- fs.put("myName", myName); // FIXME see #942
+ fs.putSingle("testnetPort",
Integer.toString(testnetHandler.getPort())); // Useful, saves a lot of
complexity
+ fs.putSingle("myName", myName); // FIXME see #942
if(!forSetup) {
// These are invariant. They cannot change on
connection setup. They can safely be excluded.
fs.put("dsaGroup", myCryptoGroup.asFieldSet());
fs.put("dsaPubKey", myPubKey.asFieldSet());
}
- fs.put("ark.number", Long.toString(this.myARKNumber)); // Can
be changed on setup
- fs.put("ark.pubURI", this.myARK.getURI().toString(false,
false)); // Can be changed on setup
+ fs.putSingle("ark.number", Long.toString(this.myARKNumber)); //
Can be changed on setup
+ fs.putSingle("ark.pubURI", this.myARK.getURI().toString(false,
false)); // Can be changed on setup
if(myOldARK != null) {
- fs.put("old-ark.number",
Long.toString(this.myOldARKNumber));
- fs.put("old-ark.pubURI",
this.myOldARK.getURI().toString(false, false));
+ fs.putSingle("oldark.number",
Long.toString(this.myOldARKNumber));
+ fs.putSingle("oldark.pubURI",
this.myOldARK.getURI().toString(false, false));
}
synchronized (referenceSync) {
if(myReferenceSignature == null || mySignedReference ==
null || !mySignedReference.equals(fs.toOrderedString())){
- mySignedReference = fs.toOrderedString();
+ mySignedReference = fs.toOrderedString();
+ if(logMINOR) Logger.minor(this, "Signing
reference:\n"+mySignedReference);
try{
- myReferenceSignature =
DSA.sign(myCryptoGroup, myPrivKey, new BigInteger(1,
SHA256.digest(mySignedReference.getBytes("UTF-8"))), random);
+ byte[] ref =
mySignedReference.getBytes("UTF-8");
+ BigInteger m = new BigInteger(1,
SHA256.digest(ref));
+ if(logMINOR) Logger.minor(this, "m =
"+m.toString(16));
+ myReferenceSignature =
DSA.sign(myCryptoGroup, myPrivKey, m, random);
+ if(!DSA.verify(myPubKey,
myReferenceSignature, m))
+ Logger.normal(this, "Signature
failed!");
} catch(UnsupportedEncodingException e){
//duh ?
Logger.error(this, "Error while signing
the node identity!"+e);
@@ -1797,10 +1809,10 @@
exit(EXIT_CRAPPY_JVM);
}
}
- fs.put("sig", myReferenceSignature.toString());
+ fs.putSingle("sig", myReferenceSignature.toString());
}
- if(logMINOR) Logger.minor(this, "My reference: "+fs);
+ if(logMINOR) Logger.minor(this, "My reference:
"+fs.toOrderedString());
return fs;
}
@@ -1810,24 +1822,24 @@
public SimpleFieldSet exportVolatileFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
long now = System.currentTimeMillis();
- fs.put("isUsingWrapper", Boolean.toString(isUsingWrapper()));
+ fs.putSingle("isUsingWrapper",
Boolean.toString(isUsingWrapper()));
long nodeUptimeSeconds = 0;
synchronized(this) {
- fs.put("startupTime", Long.toString(startupTime));
+ fs.putSingle("startupTime", Long.toString(startupTime));
nodeUptimeSeconds = (now - startupTime) / 1000;
- fs.put("uptimeSeconds",
Long.toString(nodeUptimeSeconds));
+ fs.putSingle("uptimeSeconds",
Long.toString(nodeUptimeSeconds));
}
- fs.put("averagePingTime",
Double.toString(getNodeAveragePingTime()));
- fs.put("bwlimitDelayTime",
Double.toString(getBwlimitDelayTime()));
- fs.put("networkSizeEstimateSession",
Integer.toString(getNetworkSizeEstimate(-1)));
+ fs.putSingle("averagePingTime",
Double.toString(getNodeAveragePingTime()));
+ fs.putSingle("bwlimitDelayTime",
Double.toString(getBwlimitDelayTime()));
+ fs.putSingle("networkSizeEstimateSession",
Integer.toString(getNetworkSizeEstimate(-1)));
int networkSizeEstimate24hourRecent =
getNetworkSizeEstimate(now - (24*60*60*1000)); // 24 hours
- fs.put("networkSizeEstimate24hourRecent",
Integer.toString(networkSizeEstimate24hourRecent));
+ fs.putSingle("networkSizeEstimate24hourRecent",
Integer.toString(networkSizeEstimate24hourRecent));
int networkSizeEstimate48hourRecent =
getNetworkSizeEstimate(now - (48*60*60*1000)); // 48 hours
- fs.put("networkSizeEstimate48hourRecent",
Integer.toString(networkSizeEstimate48hourRecent));
- fs.put("routingMissDistance",
Double.toString(routingMissDistance.currentValue()));
- fs.put("backedOffPercent",
Double.toString(backedOffPercent.currentValue()));
- fs.put("pInstantReject",
Double.toString(pRejectIncomingInstantly()));
- fs.put("unclaimedFIFOSize",
Integer.toString(usm.getUnclaimedFIFOSize()));
+ fs.putSingle("networkSizeEstimate48hourRecent",
Integer.toString(networkSizeEstimate48hourRecent));
+ fs.putSingle("routingMissDistance",
Double.toString(routingMissDistance.currentValue()));
+ fs.putSingle("backedOffPercent",
Double.toString(backedOffPercent.currentValue()));
+ fs.putSingle("pInstantReject",
Double.toString(pRejectIncomingInstantly()));
+ fs.putSingle("unclaimedFIFOSize",
Integer.toString(usm.getUnclaimedFIFOSize()));
/* gather connection statistics */
PeerNodeStatus[] peerNodeStatuses = getPeerNodeStatuses();
@@ -1857,24 +1869,24 @@
int numberOfSimpleConnected = numberOfConnected +
numberOfRoutingBackedOff;
int numberOfNotConnected = numberOfTooNew + numberOfTooOld +
numberOfDisconnected + numberOfNeverConnected + numberOfDisabled +
numberOfBursting + numberOfListening + numberOfListenOnly;
- fs.put("numberOfConnected",
Integer.toString(numberOfConnected));
- fs.put("numberOfRoutingBackedOff",
Integer.toString(numberOfRoutingBackedOff));
- fs.put("numberOfTooNew", Integer.toString(numberOfTooNew));
- fs.put("numberOfTooOld", Integer.toString(numberOfTooOld));
- fs.put("numberOfDisconnected",
Integer.toString(numberOfDisconnected));
- fs.put("numberOfNeverConnected",
Integer.toString(numberOfNeverConnected));
- fs.put("numberOfDisabled", Integer.toString(numberOfDisabled));
- fs.put("numberOfBursting", Integer.toString(numberOfBursting));
- fs.put("numberOfListening",
Integer.toString(numberOfListening));
- fs.put("numberOfListenOnly",
Integer.toString(numberOfListenOnly));
+ fs.putSingle("numberOfConnected",
Integer.toString(numberOfConnected));
+ fs.putSingle("numberOfRoutingBackedOff",
Integer.toString(numberOfRoutingBackedOff));
+ fs.putSingle("numberOfTooNew",
Integer.toString(numberOfTooNew));
+ fs.putSingle("numberOfTooOld",
Integer.toString(numberOfTooOld));
+ fs.putSingle("numberOfDisconnected",
Integer.toString(numberOfDisconnected));
+ fs.putSingle("numberOfNeverConnected",
Integer.toString(numberOfNeverConnected));
+ fs.putSingle("numberOfDisabled",
Integer.toString(numberOfDisabled));
+ fs.putSingle("numberOfBursting",
Integer.toString(numberOfBursting));
+ fs.putSingle("numberOfListening",
Integer.toString(numberOfListening));
+ fs.putSingle("numberOfListenOnly",
Integer.toString(numberOfListenOnly));
- fs.put("numberOfSimpleConnected",
Integer.toString(numberOfSimpleConnected));
- fs.put("numberOfNotConnected",
Integer.toString(numberOfNotConnected));
+ fs.putSingle("numberOfSimpleConnected",
Integer.toString(numberOfSimpleConnected));
+ fs.putSingle("numberOfNotConnected",
Integer.toString(numberOfNotConnected));
- fs.put("numberOfInserts", Integer.toString(getNumInserts()));
- fs.put("numberOfRequests", Integer.toString(getNumRequests()));
- fs.put("numberOfTransferringRequests",
Integer.toString(getNumTransferringRequests()));
- fs.put("numberOfARKFetchers",
Integer.toString(getNumARKFetchers()));
+ fs.putSingle("numberOfInserts",
Integer.toString(getNumInserts()));
+ fs.putSingle("numberOfRequests",
Integer.toString(getNumRequests()));
+ fs.putSingle("numberOfTransferringRequests",
Integer.toString(getNumTransferringRequests()));
+ fs.putSingle("numberOfARKFetchers",
Integer.toString(getNumARKFetchers()));
long[] total = IOStatisticCollector.getTotalIO();
long total_output_rate = (total[0]) / nodeUptimeSeconds;
@@ -1882,19 +1894,19 @@
long totalPayloadOutput = getTotalPayloadSent();
long total_payload_output_rate = totalPayloadOutput /
nodeUptimeSeconds;
int total_payload_output_percent = (int) (100 *
totalPayloadOutput / total[0]);
- fs.put("totalOutputBytes", Long.toString(total[0]));
- fs.put("totalOutputRate", Long.toString(total_output_rate));
- fs.put("totalPayloadOutputBytes",
Long.toString(totalPayloadOutput));
- fs.put("totalPayloadOutputRate",
Long.toString(total_payload_output_rate));
- fs.put("totalPayloadOutputPercent",
Integer.toString(total_payload_output_percent));
- fs.put("totalInputBytes", Long.toString(total[1]));
- fs.put("totalInputRate", Long.toString(total_input_rate));
+ fs.putSingle("totalOutputBytes", Long.toString(total[0]));
+ fs.putSingle("totalOutputRate",
Long.toString(total_output_rate));
+ fs.putSingle("totalPayloadOutputBytes",
Long.toString(totalPayloadOutput));
+ fs.putSingle("totalPayloadOutputRate",
Long.toString(total_payload_output_rate));
+ fs.putSingle("totalPayloadOutputPercent",
Integer.toString(total_payload_output_percent));
+ fs.putSingle("totalInputBytes", Long.toString(total[1]));
+ fs.putSingle("totalInputRate", Long.toString(total_input_rate));
long[] rate = getNodeIOStats();
long delta = (rate[5] - rate[2]) / 1000;
long recent_output_rate = (rate[3] - rate[0]) / delta;
long recent_input_rate = (rate[4] - rate[1]) / delta;
- fs.put("recentOutputRate", Long.toString(recent_output_rate));
- fs.put("recentInputRate", Long.toString(recent_input_rate));
+ fs.putSingle("recentOutputRate",
Long.toString(recent_output_rate));
+ fs.putSingle("recentInputRate",
Long.toString(recent_input_rate));
String [] routingBackoffReasons =
getPeerNodeRoutingBackoffReasons();
if(routingBackoffReasons.length != 0) {
@@ -1906,12 +1918,12 @@
double swaps = (double)getSwaps();
double noSwaps = (double)getNoSwaps();
double numberOfRemotePeerLocationsSeenInSwaps =
(double)getNumberOfRemotePeerLocationsSeenInSwaps();
- fs.put("numberOfRemotePeerLocationsSeenInSwaps",
Double.toString(numberOfRemotePeerLocationsSeenInSwaps));
+ fs.putSingle("numberOfRemotePeerLocationsSeenInSwaps",
Double.toString(numberOfRemotePeerLocationsSeenInSwaps));
double avgConnectedPeersPerNode = 0.0;
if ((numberOfRemotePeerLocationsSeenInSwaps > 0.0) && ((swaps >
0.0) || (noSwaps > 0.0))) {
avgConnectedPeersPerNode =
numberOfRemotePeerLocationsSeenInSwaps/(swaps+noSwaps);
}
- fs.put("avgConnectedPeersPerNode",
Double.toString(avgConnectedPeersPerNode));
+ fs.putSingle("avgConnectedPeersPerNode",
Double.toString(avgConnectedPeersPerNode));
int startedSwaps = getStartedSwaps();
int swapsRejectedAlreadyLocked =
getSwapsRejectedAlreadyLocked();
@@ -1940,20 +1952,20 @@
if ((swaps > 0.0) && (noSwaps > 0.0)) {
swapsPerNoSwaps = swaps/noSwaps;
}
- fs.put("locationChangePerSession",
Double.toString(locationChangePerSession));
- fs.put("locationChangePerSwap",
Double.toString(locationChangePerSwap));
- fs.put("locationChangePerMinute",
Double.toString(locationChangePerMinute));
- fs.put("swapsPerMinute", Double.toString(swapsPerMinute));
- fs.put("noSwapsPerMinute", Double.toString(noSwapsPerMinute));
- fs.put("swapsPerNoSwaps", Double.toString(swapsPerNoSwaps));
- fs.put("swaps", Double.toString(swaps));
- fs.put("noSwaps", Double.toString(noSwaps));
- fs.put("startedSwaps", Integer.toString(startedSwaps));
- fs.put("swapsRejectedAlreadyLocked",
Integer.toString(swapsRejectedAlreadyLocked));
- fs.put("swapsRejectedNowhereToGo",
Integer.toString(swapsRejectedNowhereToGo));
- fs.put("swapsRejectedRateLimit",
Integer.toString(swapsRejectedRateLimit));
- fs.put("swapsRejectedLoop",
Integer.toString(swapsRejectedLoop));
- fs.put("swapsRejectedRecognizedID",
Integer.toString(swapsRejectedRecognizedID));
+ fs.putSingle("locationChangePerSession",
Double.toString(locationChangePerSession));
+ fs.putSingle("locationChangePerSwap",
Double.toString(locationChangePerSwap));
+ fs.putSingle("locationChangePerMinute",
Double.toString(locationChangePerMinute));
+ fs.putSingle("swapsPerMinute", Double.toString(swapsPerMinute));
+ fs.putSingle("noSwapsPerMinute",
Double.toString(noSwapsPerMinute));
+ fs.putSingle("swapsPerNoSwaps",
Double.toString(swapsPerNoSwaps));
+ fs.putSingle("swaps", Double.toString(swaps));
+ fs.putSingle("noSwaps", Double.toString(noSwaps));
+ fs.putSingle("startedSwaps", Integer.toString(startedSwaps));
+ fs.putSingle("swapsRejectedAlreadyLocked",
Integer.toString(swapsRejectedAlreadyLocked));
+ fs.putSingle("swapsRejectedNowhereToGo",
Integer.toString(swapsRejectedNowhereToGo));
+ fs.putSingle("swapsRejectedRateLimit",
Integer.toString(swapsRejectedRateLimit));
+ fs.putSingle("swapsRejectedLoop",
Integer.toString(swapsRejectedLoop));
+ fs.putSingle("swapsRejectedRecognizedID",
Integer.toString(swapsRejectedRecognizedID));
long fix32kb = 32 * 1024;
long cachedKeys = getChkDatacache().keyCount();
@@ -1979,25 +1991,25 @@
long overallAccesses = storeAccesses + cacheAccesses;
double avgStoreAccessRate =
(double)overallAccesses/(double)nodeUptimeSeconds;
- fs.put("cachedKeys", Long.toString(cachedKeys));
- fs.put("cachedSize", Long.toString(cachedSize));
- fs.put("storeKeys", Long.toString(storeKeys));
- fs.put("storeSize", Long.toString(storeSize));
- fs.put("overallKeys", Long.toString(overallKeys));
- fs.put("overallSize", Long.toString(overallSize));
- fs.put("maxOverallKeys", Long.toString(maxOverallKeys));
- fs.put("maxOverallSize", Long.toString(maxOverallSize));
- fs.put("percentOverallKeysOfMax",
Double.toString(percentOverallKeysOfMax));
- fs.put("cachedStoreHits", Long.toString(cachedStoreHits));
- fs.put("cachedStoreMisses", Long.toString(cachedStoreMisses));
- fs.put("cacheAccesses", Long.toString(cacheAccesses));
- fs.put("percentCachedStoreHitsOfAccesses",
Double.toString(percentCachedStoreHitsOfAccesses));
- fs.put("storeHits", Long.toString(storeHits));
- fs.put("storeMisses", Long.toString(storeMisses));
- fs.put("storeAccesses", Long.toString(storeAccesses));
- fs.put("percentStoreHitsOfAccesses",
Double.toString(percentStoreHitsOfAccesses));
- fs.put("overallAccesses", Long.toString(overallAccesses));
- fs.put("avgStoreAccessRate",
Double.toString(avgStoreAccessRate));
+ fs.putSingle("cachedKeys", Long.toString(cachedKeys));
+ fs.putSingle("cachedSize", Long.toString(cachedSize));
+ fs.putSingle("storeKeys", Long.toString(storeKeys));
+ fs.putSingle("storeSize", Long.toString(storeSize));
+ fs.putSingle("overallKeys", Long.toString(overallKeys));
+ fs.putSingle("overallSize", Long.toString(overallSize));
+ fs.putSingle("maxOverallKeys", Long.toString(maxOverallKeys));
+ fs.putSingle("maxOverallSize", Long.toString(maxOverallSize));
+ fs.putSingle("percentOverallKeysOfMax",
Double.toString(percentOverallKeysOfMax));
+ fs.putSingle("cachedStoreHits", Long.toString(cachedStoreHits));
+ fs.putSingle("cachedStoreMisses",
Long.toString(cachedStoreMisses));
+ fs.putSingle("cacheAccesses", Long.toString(cacheAccesses));
+ fs.putSingle("percentCachedStoreHitsOfAccesses",
Double.toString(percentCachedStoreHitsOfAccesses));
+ fs.putSingle("storeHits", Long.toString(storeHits));
+ fs.putSingle("storeMisses", Long.toString(storeMisses));
+ fs.putSingle("storeAccesses", Long.toString(storeAccesses));
+ fs.putSingle("percentStoreHitsOfAccesses",
Double.toString(percentStoreHitsOfAccesses));
+ fs.putSingle("overallAccesses", Long.toString(overallAccesses));
+ fs.putSingle("avgStoreAccessRate",
Double.toString(avgStoreAccessRate));
Runtime rt = Runtime.getRuntime();
float freeMemory = (float) rt.freeMemory();
@@ -2010,12 +2022,12 @@
int threadCount = Thread.activeCount();
int availableCpus = rt.availableProcessors();
- fs.put("freeJavaMemory", Long.toString((long)freeMemory));
- fs.put("usedJavaMemory", Long.toString(usedJavaMem));
- fs.put("allocatedJavaMemory", Long.toString(allocatedJavaMem));
- fs.put("maximumJavaMemory", Long.toString(maxJavaMem));
- fs.put("availableCPUs", Integer.toString(availableCpus));
- fs.put("runningThreadCount", Integer.toString(threadCount));
+ fs.putSingle("freeJavaMemory", Long.toString((long)freeMemory));
+ fs.putSingle("usedJavaMemory", Long.toString(usedJavaMem));
+ fs.putSingle("allocatedJavaMemory",
Long.toString(allocatedJavaMem));
+ fs.putSingle("maximumJavaMemory", Long.toString(maxJavaMem));
+ fs.putSingle("availableCPUs", Integer.toString(availableCpus));
+ fs.putSingle("runningThreadCount",
Integer.toString(threadCount));
return fs;
}
@@ -2957,7 +2969,7 @@
Logger.normal(this, "Received N2NM from
'"+source.getPeer()+"'");
SimpleFieldSet fs = null;
try {
- fs = new SimpleFieldSet(new
String(messageData.getData(), "UTF-8"));
+ fs = new SimpleFieldSet(new
String(messageData.getData(), "UTF-8"), false);
} catch (IOException e) {
Logger.error(this, "IOException while parsing node to
node message data", e);
return;
@@ -2965,15 +2977,15 @@
if(fs.get("type") != null) {
fs.removeValue("type");
}
- fs.put("type", Integer.toString(type));
+ fs.putOverwrite("type", Integer.toString(type));
if(fs.get("receivedTime") != null) {
fs.removeValue("receivedTime");
}
- fs.put("receivedTime",
Long.toString(System.currentTimeMillis()));
+ fs.putOverwrite("receivedTime",
Long.toString(System.currentTimeMillis()));
if(fs.get("receivedAs") != null) {
fs.removeValue("receivedAs");
}
- fs.put("receivedAs", "nodeToNodeMessage");
+ fs.putOverwrite("receivedAs", "nodeToNodeMessage");
int fileNumber = source.writeNewExtraPeerDataFile( fs,
EXTRA_PEER_DATA_TYPE_N2NTM);
if( fileNumber == -1 ) {
Logger.error( this, "Failed to write N2NTM to extra
peer data file for peer "+source.getPeer());
@@ -3002,12 +3014,12 @@
String text = (String)
m.getObject(DMT.NODE_TO_NODE_MESSAGE_TEXT);
Logger.normal(this, "Received N2NTM from '"+source_nodename+"'
to '"+target_nodename+"': "+text);
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("type", Integer.toString(type));
- fs.put("source_nodename",
Base64.encode(source_nodename.getBytes()));
- fs.put("target_nodename",
Base64.encode(target_nodename.getBytes()));
- fs.put("text", Base64.encode(text.getBytes()));
- fs.put("receivedTime",
Long.toString(System.currentTimeMillis()));
- fs.put("receivedAs", "nodeToNodeTextMessage");
+ fs.putSingle("type", Integer.toString(type));
+ fs.putSingle("source_nodename",
Base64.encode(source_nodename.getBytes()));
+ fs.putSingle("target_nodename",
Base64.encode(target_nodename.getBytes()));
+ fs.putSingle("text", Base64.encode(text.getBytes()));
+ fs.putSingle("receivedTime",
Long.toString(System.currentTimeMillis()));
+ fs.putSingle("receivedAs", "nodeToNodeTextMessage");
int fileNumber = source.writeNewExtraPeerDataFile( fs,
EXTRA_PEER_DATA_TYPE_N2NTM);
if( fileNumber == -1 ) {
Logger.error( this, "Failed to write N2NTM to extra
peer data file for peer "+source.getPeer());
Modified: trunk/freenet/src/freenet/node/NodeStarter.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStarter.java 2007-02-09 19:47:51 UTC
(rev 11717)
+++ trunk/freenet/src/freenet/node/NodeStarter.java 2007-02-09 20:54:57 UTC
(rev 11718)
@@ -341,13 +341,13 @@
configFS.put("fproxy.enabled", false);
configFS.put("fcp.enabled", false);
configFS.put("console.enabled", false);
- configFS.put("pluginmanager.loadplugin", "");
+ configFS.putSingle("pluginmanager.loadplugin", "");
configFS.put("node.updater.enabled", false);
- configFS.put("node.tempDir", new File(portDir,
"temp").toString());
- configFS.put("node.storeDir", new File(portDir,
"store").toString());
- configFS.put("node.persistentTempDir", new File(portDir,
"persistent").toString());
- configFS.put("node.throttleFile", new File(portDir,
"throttle.dat").toString());
- configFS.put("node.nodeDir", portDir.toString());
+ configFS.putSingle("node.tempDir", new File(portDir,
"temp").toString());
+ configFS.putSingle("node.storeDir", new File(portDir,
"store").toString());
+ configFS.putSingle("node.persistentTempDir", new File(portDir,
"persistent").toString());
+ configFS.putSingle("node.throttleFile", new File(portDir,
"throttle.dat").toString());
+ configFS.putSingle("node.nodeDir", portDir.toString());
configFS.put("node.maxHTL", maxHTL);
configFS.put("node.testingDropPacketsEvery", dropProb);
configFS.put("node.swapRequestSendInterval", swapInterval);
Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java 2007-02-09 19:47:51 UTC
(rev 11717)
+++ trunk/freenet/src/freenet/node/PeerManager.java 2007-02-09 20:54:57 UTC
(rev 11718)
@@ -105,7 +105,7 @@
while(true) {
// Read a single NodePeer
SimpleFieldSet fs;
- fs = new SimpleFieldSet(br);
+ fs = new SimpleFieldSet(br, false);
PeerNode pn;
try {
pn = new PeerNode(fs, node, true);
Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java 2007-02-09 19:47:51 UTC
(rev 11717)
+++ trunk/freenet/src/freenet/node/PeerNode.java 2007-02-09 20:54:57 UTC
(rev 11718)
@@ -424,9 +424,9 @@
if(peerCryptoGroup == null) errCause +=
" (No peer crypto group)";
if(peerPubKey == null) errCause += "
(No peer public key)";
if(failed) errCause += " (VERIFICATION
FAILED)";
- Logger.error(this, "The integrity of
the reference has been compromized!"+errCause);
+ Logger.error(this, "The integrity of
the reference has been compromized!"+errCause+" fs was\n"+fs.toOrderedString());
this.isSignatureVerificationSuccessfull
= false;
- fs.put("sig", signature);
+ fs.putSingle("sig", signature);
throw new
ReferenceSignatureVerificationException("The integrity of the reference has
been compromized!"+errCause);
}else
this.isSignatureVerificationSuccessfull
= true;
@@ -1660,7 +1660,7 @@
BufferedReader br = new BufferedReader(isr);
SimpleFieldSet fs;
try {
- fs = new SimpleFieldSet(br);
+ fs = new SimpleFieldSet(br, false);
} catch (IOException e) {
Logger.error(this, "Impossible: e", e);
return;
@@ -1877,31 +1877,31 @@
public synchronized SimpleFieldSet exportMetadataFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
if(detectedPeer != null)
- fs.put("detected.udp", detectedPeer.toString());
+ fs.putSingle("detected.udp", detectedPeer.toString());
if(lastReceivedPacketTime() > 0)
- fs.put("timeLastReceivedPacket",
Long.toString(timeLastReceivedPacket));
+ fs.putSingle("timeLastReceivedPacket",
Long.toString(timeLastReceivedPacket));
if(timeLastConnected() > 0)
- fs.put("timeLastConnected", Long.toString(timeLastConnected));
+ fs.putSingle("timeLastConnected",
Long.toString(timeLastConnected));
if(timeLastRoutable() > 0)
- fs.put("timeLastRoutable", Long.toString(timeLastRoutable));
+ fs.putSingle("timeLastRoutable",
Long.toString(timeLastRoutable));
if(getPeerAddedTime() > 0)
- fs.put("peerAddedTime", Long.toString(peerAddedTime));
+ fs.putSingle("peerAddedTime", Long.toString(peerAddedTime));
if(neverConnected)
- fs.put("neverConnected", "true");
+ fs.putSingle("neverConnected", "true");
if(isDisabled)
- fs.put("isDisabled", "true");
+ fs.putSingle("isDisabled", "true");
if(isListenOnly)
- fs.put("isListenOnly", "true");
+ fs.putSingle("isListenOnly", "true");
if(isBurstOnly)
- fs.put("isBurstOnly", "true");
+ fs.putSingle("isBurstOnly", "true");
if(ignoreSourcePort)
- fs.put("ignoreSourcePort", "true");
+ fs.putSingle("ignoreSourcePort", "true");
if(allowLocalAddresses)
- fs.put("allowLocalAddresses", "true");
+ fs.putSingle("allowLocalAddresses", "true");
if(hadRoutableConnectionCount > 0)
- fs.put("hadRoutableConnectionCount",
Long.toString(hadRoutableConnectionCount));
+ fs.putSingle("hadRoutableConnectionCount",
Long.toString(hadRoutableConnectionCount));
if(routableConnectionCheckCount > 0)
- fs.put("routableConnectionCheckCount",
Long.toString(routableConnectionCheckCount));
+ fs.putSingle("routableConnectionCheckCount",
Long.toString(routableConnectionCheckCount));
return fs;
}
@@ -1912,24 +1912,24 @@
SimpleFieldSet fs = new SimpleFieldSet();
long now = System.currentTimeMillis();
synchronized(this) {
- fs.put("averagePingTime",
Double.toString(averagePingTime()));
+ fs.putSingle("averagePingTime",
Double.toString(averagePingTime()));
long idle = now - lastReceivedPacketTime();
if(idle > (60 * 1000)) { // 1 minute
- fs.put("idle", Long.toString(idle));
+ fs.putSingle("idle", Long.toString(idle));
}
if(peerAddedTime > 1) {
- fs.put("peerAddedTime",
Long.toString(peerAddedTime));
+ fs.putSingle("peerAddedTime",
Long.toString(peerAddedTime));
}
- fs.put("lastRoutingBackoffReason",
lastRoutingBackoffReason);
- fs.put("routingBackoffPercent",
Double.toString(backedOffPercent.currentValue() * 100));
- fs.put("routingBackoff",
Long.toString((Math.max(routingBackedOffUntil - now, 0))));
- fs.put("routingBackoffLength",
Integer.toString(routingBackoffLength));
- fs.put("overloadProbability",
Double.toString(getPRejected() * 100));
- fs.put("percentTimeRoutableConnection",
Double.toString(getPercentTimeRoutableConnection() * 100));
- fs.put("totalBytesIn", Long.toString(totalBytesIn));
- fs.put("totalBytesOut", Long.toString(totalBytesOut));
+ fs.putSingle("lastRoutingBackoffReason",
lastRoutingBackoffReason);
+ fs.putSingle("routingBackoffPercent",
Double.toString(backedOffPercent.currentValue() * 100));
+ fs.putSingle("routingBackoff",
Long.toString((Math.max(routingBackedOffUntil - now, 0))));
+ fs.putSingle("routingBackoffLength",
Integer.toString(routingBackoffLength));
+ fs.putSingle("overloadProbability",
Double.toString(getPRejected() * 100));
+ fs.putSingle("percentTimeRoutableConnection",
Double.toString(getPercentTimeRoutableConnection() * 100));
+ fs.putSingle("totalBytesIn",
Long.toString(totalBytesIn));
+ fs.putSingle("totalBytesOut",
Long.toString(totalBytesOut));
}
- fs.put("status", getPeerNodeStatusString());
+ fs.putSingle("status", getPeerNodeStatusString());
return fs;
}
@@ -1939,23 +1939,23 @@
public synchronized SimpleFieldSet exportFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
if(getLastGoodVersion() != null)
- fs.put("lastGoodVersion", lastGoodVersion);
+ fs.putSingle("lastGoodVersion", lastGoodVersion);
for(int i=0;i<nominalPeer.size();i++) {
- fs.put("physical.udp", nominalPeer.get(i).toString());
+ fs.putSingle("physical.udp",
nominalPeer.get(i).toString());
}
- fs.put("identity", getIdentityString());
- fs.put("location", Double.toString(currentLocation.getValue()));
- fs.put("testnet", Boolean.toString(testnetEnabled));
- fs.put("version", version);
- fs.put("myName", getName());
+ fs.putSingle("identity", getIdentityString());
+ fs.putSingle("location", Double.toString(currentLocation.getValue()));
+ fs.putSingle("testnet", Boolean.toString(testnetEnabled));
+ fs.putSingle("version", version);
+ fs.putSingle("myName", getName());
if(peerCryptoGroup != null)
fs.put("dsaGroup", peerCryptoGroup.asFieldSet());
if(peerPubKey != null)
fs.put("dsaPubKey", peerPubKey.asFieldSet());
if(myARK != null) {
// Decrement it because we keep the number we would
like to fetch, not the last one fetched.
- fs.put("ark.number",
Long.toString(myARK.suggestedEdition - 1));
- fs.put("ark.pubURI", myARK.getBaseSSK().toString(false,
false));
+ fs.putSingle("ark.number",
Long.toString(myARK.suggestedEdition - 1));
+ fs.putSingle("ark.pubURI",
myARK.getBaseSSK().toString(false, false));
}
return fs;
}
@@ -2628,7 +2628,7 @@
SimpleFieldSet fs = null;
try {
// Read in the single SimpleFieldSet
- fs = new SimpleFieldSet(br);
+ fs = new SimpleFieldSet(br, false);
} catch (EOFException e3) {
// End of file, fine
} catch (IOException e4) {
@@ -2704,11 +2704,11 @@
if(fs.get("senderFileNumber") != null) {
fs.removeValue("senderFileNumber");
}
- fs.put("senderFileNumber",
String.valueOf(fileNumber));
+ fs.putOverwrite("senderFileNumber",
String.valueOf(fileNumber));
if(fs.get("sentTime") != null) {
fs.removeValue("sentTime");
}
- fs.put("sentTime",
Long.toString(System.currentTimeMillis()));
+ fs.putOverwrite("sentTime",
Long.toString(System.currentTimeMillis()));
try {
n2ntm =
DMT.createNodeToNodeMessage(Node.N2N_TEXT_MESSAGE_TYPE_USERALERT,
fs.toString().getBytes("UTF-8"));
@@ -2731,7 +2731,7 @@
}
if(!sendSuccess) {
synchronized(queuedToSendN2NTMExtraPeerDataFileNumbers) {
- fs.put("extraPeerDataType",
Integer.toString(extraPeerDataType));
+ fs.putOverwrite("extraPeerDataType",
Integer.toString(extraPeerDataType));
fs.removeValue("sentTime");
queuedToSendN2NTMExtraPeerDataFileNumbers.add(Integer.toString(fileNumber));
}
@@ -2745,7 +2745,7 @@
public int writeNewExtraPeerDataFile(SimpleFieldSet fs, int
extraPeerDataType) {
String extraPeerDataDirPath = node.getExtraPeerDataDir();
if(extraPeerDataType > 0)
- fs.put("extraPeerDataType",
Integer.toString(extraPeerDataType));
+ fs.putOverwrite("extraPeerDataType",
Integer.toString(extraPeerDataType));
File extraPeerDataPeerDir = new
File(extraPeerDataDirPath+File.separator+getIdentityString());
if(!extraPeerDataPeerDir.exists()) {
if(!extraPeerDataPeerDir.mkdir()) {
@@ -2853,7 +2853,7 @@
public boolean rewriteExtraPeerDataFile(SimpleFieldSet fs, int
extraPeerDataType, int fileNumber) {
String extraPeerDataDirPath = node.getExtraPeerDataDir();
if(extraPeerDataType > 0)
- fs.put("extraPeerDataType",
Integer.toString(extraPeerDataType));
+ fs.putOverwrite("extraPeerDataType",
Integer.toString(extraPeerDataType));
File extraPeerDataPeerDir = new
File(extraPeerDataDirPath+File.separator+getIdentityString());
if(!extraPeerDataPeerDir.exists()) {
Logger.error(this, "Extra peer data directory for peer
does not exist: "+extraPeerDataPeerDir.getPath());
@@ -2904,8 +2904,8 @@
localFileNumber = privateDarknetCommentFileNumber;
}
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("peerNoteType",
Integer.toString(Node.PEER_NOTE_TYPE_PRIVATE_DARKNET_COMMENT));
- fs.put("privateDarknetComment",
Base64.encode(comment.getBytes()));
+ fs.putSingle("peerNoteType",
Integer.toString(Node.PEER_NOTE_TYPE_PRIVATE_DARKNET_COMMENT));
+ fs.putSingle("privateDarknetComment",
Base64.encode(comment.getBytes()));
if(localFileNumber == -1) {
localFileNumber = writeNewExtraPeerDataFile(fs,
Node.EXTRA_PEER_DATA_TYPE_PEER_NOTE);
synchronized(privateDarknetComment) {
@@ -2980,7 +2980,7 @@
SimpleFieldSet fs;
try {
- fs = new SimpleFieldSet(ref);
+ fs = new SimpleFieldSet(ref, false);
if(logMINOR) Logger.minor(this, "Got ARK for "+this);
gotARK(fs, edition);
} catch (IOException e) {
Modified: trunk/freenet/src/freenet/node/TextModeClientInterface.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterface.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/TextModeClientInterface.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -952,7 +952,7 @@
SimpleFieldSet fs;
System.out.println("Connecting to:\r\n"+content);
try {
- fs = new SimpleFieldSet(content);
+ fs = new SimpleFieldSet(content, false);
} catch (IOException e) {
System.err.println("Did not parse: "+e);
e.printStackTrace();
Modified: trunk/freenet/src/freenet/node/ThrottleWindowManager.java
===================================================================
--- trunk/freenet/src/freenet/node/ThrottleWindowManager.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/ThrottleWindowManager.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -57,7 +57,7 @@
public SimpleFieldSet exportFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Type", "ThrottleWindowManager");
+ fs.putSingle("Type", "ThrottleWindowManager");
fs.put("TotalPackets", _totalPackets);
fs.put("DroppedPackets", _droppedPackets);
fs.put("SimulatedWindowSize", _simulatedWindowSize);
Modified: trunk/freenet/src/freenet/node/fcp/AddPeer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/AddPeer.java 2007-02-09 19:47:51 UTC
(rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/AddPeer.java 2007-02-09 20:54:57 UTC
(rev 11718)
@@ -68,7 +68,7 @@
throw new
MessageInvalidException(ProtocolErrorMessage.REF_PARSE_ERROR, "Error parsing
ref from URL <"+urlString+ '>', null, false);
}
try {
- fs = new SimpleFieldSet(ref.toString());
+ fs = new SimpleFieldSet(ref.toString(), false);
} catch (IOException e) {
throw new
MessageInvalidException(ProtocolErrorMessage.REF_PARSE_ERROR, "Error parsing
ref from URL <"+urlString+">: "+e.getMessage(), null, false);
}
@@ -99,7 +99,7 @@
throw new
MessageInvalidException(ProtocolErrorMessage.REF_PARSE_ERROR, "Error parsing
ref from file <"+fileString+ '>', null, false);
}
try {
- fs = new SimpleFieldSet(ref.toString());
+ fs = new SimpleFieldSet(ref.toString(), false);
} catch (IOException e) {
throw new
MessageInvalidException(ProtocolErrorMessage.REF_PARSE_ERROR, "Error parsing
ref from file <"+fileString+">: "+e.getMessage(), null, false);
}
Modified: trunk/freenet/src/freenet/node/fcp/AllDataMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/AllDataMessage.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/AllDataMessage.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -31,9 +31,9 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("DataLength", Long.toString(dataLength));
- fs.put("Identifier", identifier);
- if(global) fs.put("Global", "true");
+ fs.putSingle("DataLength", Long.toString(dataLength));
+ fs.putSingle("Identifier", identifier);
+ if(global) fs.putSingle("Global", "true");
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientGet.java 2007-02-09 19:47:51 UTC
(rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/ClientGet.java 2007-02-09 20:54:57 UTC
(rev 11718)
@@ -487,29 +487,29 @@
// different (it can store detailed state).
public synchronized SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet(); // we will need
multi-level later...
- fs.put("Type", "GET");
- fs.put("URI", uri.toString(false, false));
- fs.put("Identifier", identifier);
- fs.put("Verbosity", Integer.toString(verbosity));
- fs.put("PriorityClass", Short.toString(priorityClass));
- fs.put("ReturnType",
ClientGetMessage.returnTypeString(returnType));
- fs.put("Persistence", persistenceTypeString(persistenceType));
- fs.put("ClientName", client.name);
+ fs.putSingle("Type", "GET");
+ fs.putSingle("URI", uri.toString(false, false));
+ fs.putSingle("Identifier", identifier);
+ fs.putSingle("Verbosity", Integer.toString(verbosity));
+ fs.putSingle("PriorityClass", Short.toString(priorityClass));
+ fs.putSingle("ReturnType",
ClientGetMessage.returnTypeString(returnType));
+ fs.putSingle("Persistence",
persistenceTypeString(persistenceType));
+ fs.putSingle("ClientName", client.name);
if(targetFile != null)
- fs.put("Filename", targetFile.getPath());
+ fs.putSingle("Filename", targetFile.getPath());
if(tempFile != null)
- fs.put("TempFilename", tempFile.getPath());
+ fs.putSingle("TempFilename", tempFile.getPath());
if(clientToken != null)
- fs.put("ClientToken", clientToken);
- fs.put("IgnoreDS", Boolean.toString(fctx.ignoreStore));
- fs.put("DSOnly", Boolean.toString(fctx.localRequestOnly));
- fs.put("MaxRetries",
Integer.toString(fctx.maxNonSplitfileRetries));
- fs.put("Finished", Boolean.toString(finished));
- fs.put("Succeeded", Boolean.toString(succeeded));
+ fs.putSingle("ClientToken", clientToken);
+ fs.putSingle("IgnoreDS", Boolean.toString(fctx.ignoreStore));
+ fs.putSingle("DSOnly", Boolean.toString(fctx.localRequestOnly));
+ fs.putSingle("MaxRetries",
Integer.toString(fctx.maxNonSplitfileRetries));
+ fs.putSingle("Finished", Boolean.toString(finished));
+ fs.putSingle("Succeeded", Boolean.toString(succeeded));
if(finished) {
if(succeeded) {
- fs.put("FoundDataLength",
Long.toString(foundDataLength));
- fs.put("FoundDataMimeType", foundDataMimeType);
+ fs.putSingle("FoundDataLength",
Long.toString(foundDataLength));
+ fs.putSingle("FoundDataMimeType",
foundDataMimeType);
if(postFetchProtocolErrorMessage != null) {
fs.put("PostFetchProtocolError",
postFetchProtocolErrorMessage.getFieldSet());
}
@@ -523,7 +523,7 @@
if(returnType == ClientGetMessage.RETURN_TYPE_DIRECT &&
!(succeeded == false && returnBucket == null)) {
bucketToFS(fs, "ReturnBucket", false, returnBucket);
}
- fs.put("Global", Boolean.toString(client.isGlobalQueue));
+ fs.putSingle("Global", Boolean.toString(client.isGlobalQueue));
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/ClientGetMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientGetMessage.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/ClientGetMessage.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -187,14 +187,14 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("IgnoreDS", Boolean.toString(ignoreDS));
- fs.put("URI", uri.toString(false, false));
- fs.put("Identifier", identifier);
- fs.put("Verbosity", Integer.toString(verbosity));
- fs.put("ReturnType", getReturnTypeString());
- fs.put("MaxSize", Long.toString(maxSize));
- fs.put("MaxTempSize", Long.toString(maxTempSize));
- fs.put("MaxRetries", Integer.toString(maxRetries));
+ fs.putSingle("IgnoreDS", Boolean.toString(ignoreDS));
+ fs.putSingle("URI", uri.toString(false, false));
+ fs.putSingle("Identifier", identifier);
+ fs.putSingle("Verbosity", Integer.toString(verbosity));
+ fs.putSingle("ReturnType", getReturnTypeString());
+ fs.putSingle("MaxSize", Long.toString(maxSize));
+ fs.putSingle("MaxTempSize", Long.toString(maxTempSize));
+ fs.putSingle("MaxRetries", Integer.toString(maxRetries));
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -30,8 +30,8 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet sfs = new SimpleFieldSet();
- sfs.put("Name", clientName);
- sfs.put("ExpectedVersion", clientExpectedVersion);
+ sfs.putSingle("Name", clientName);
+ sfs.putSingle("ExpectedVersion", clientExpectedVersion);
return sfs;
}
Modified: trunk/freenet/src/freenet/node/fcp/ClientPut.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPut.java 2007-02-09 19:47:51 UTC
(rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/ClientPut.java 2007-02-09 20:54:57 UTC
(rev 11718)
@@ -310,25 +310,25 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = super.getFieldSet();
// This is all fixed, so no need for synchronization.
- fs.put("Metadata.ContentType", clientMetadata.getMIMEType());
- fs.put("UploadFrom",
ClientPutMessage.uploadFromString(uploadFrom));
+ fs.putSingle("Metadata.ContentType",
clientMetadata.getMIMEType());
+ fs.putSingle("UploadFrom",
ClientPutMessage.uploadFromString(uploadFrom));
if(uploadFrom == ClientPutMessage.UPLOAD_FROM_DISK) {
- fs.put("Filename", origFilename.getPath());
+ fs.putSingle("Filename", origFilename.getPath());
} else if(uploadFrom == ClientPutMessage.UPLOAD_FROM_DIRECT) {
if(!finished) {
// the bucket is a persistent encrypted temp
bucket
bucketToFS(fs, "TempBucket", true, data);
}
} else if(uploadFrom == ClientPutMessage.UPLOAD_FROM_REDIRECT) {
- fs.put("TargetURI", targetURI.toString());
+ fs.putSingle("TargetURI", targetURI.toString());
}
if(putter != null) {
SimpleFieldSet sfs = putter.getProgressFieldset();
fs.put("progress", sfs);
}
if(targetFilename != null)
- fs.put("TargetFilename", targetFilename);
- fs.put("EarlyEncode", Boolean.toString(earlyEncode));
+ fs.putSingle("TargetFilename", targetFilename);
+ fs.putSingle("EarlyEncode", Boolean.toString(earlyEncode));
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/ClientPutBase.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutBase.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutBase.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -260,25 +260,25 @@
public synchronized SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet(); // we will need
multi-level later...
- fs.put("Type", getTypeName());
- fs.put("URI", uri.toString(false, false));
- fs.put("Identifier", identifier);
- fs.put("Verbosity", Integer.toString(verbosity));
- fs.put("PriorityClass", Short.toString(priorityClass));
- fs.put("Persistence",
ClientRequest.persistenceTypeString(persistenceType));
- fs.put("ClientName", client.name);
- fs.put("ClientToken", clientToken);
- fs.put("DontCompress", Boolean.toString(ctx.dontCompress));
- fs.put("MaxRetries", Integer.toString(ctx.maxInsertRetries));
- fs.put("Finished", Boolean.toString(finished));
- fs.put("Succeeded", Boolean.toString(succeeded));
- fs.put("GetCHKOnly", Boolean.toString(getCHKOnly));
+ fs.putSingle("Type", getTypeName());
+ fs.putSingle("URI", uri.toString(false, false));
+ fs.putSingle("Identifier", identifier);
+ fs.putSingle("Verbosity", Integer.toString(verbosity));
+ fs.putSingle("PriorityClass", Short.toString(priorityClass));
+ fs.putSingle("Persistence",
ClientRequest.persistenceTypeString(persistenceType));
+ fs.putSingle("ClientName", client.name);
+ fs.putSingle("ClientToken", clientToken);
+ fs.putSingle("DontCompress",
Boolean.toString(ctx.dontCompress));
+ fs.putSingle("MaxRetries",
Integer.toString(ctx.maxInsertRetries));
+ fs.putSingle("Finished", Boolean.toString(finished));
+ fs.putSingle("Succeeded", Boolean.toString(succeeded));
+ fs.putSingle("GetCHKOnly", Boolean.toString(getCHKOnly));
if(generatedURI != null)
- fs.put("GeneratedURI", generatedURI.toString(false,
false));
+ fs.putSingle("GeneratedURI",
generatedURI.toString(false, false));
if(finished && (!succeeded))
// Should have a putFailedMessage... unless there is a
race condition.
fs.put("PutFailed",
putFailedMessage.getFieldSet(false));
- fs.put("Global", Boolean.toString(client.isGlobalQueue));
+ fs.putSingle("Global", Boolean.toString(client.isGlobalQueue));
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/ClientPutDir.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutDir.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutDir.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -203,32 +203,32 @@
// Flatten the hierarchy, it can be reconstructed on restarting.
// Storing it directly would be a PITA.
ManifestElement[] elements =
SimpleManifestPutter.flatten(manifestElements);
- fs.put("DefaultName", defaultName);
+ fs.putSingle("DefaultName", defaultName);
for(int i=0;i<elements.length;i++) {
String num = Integer.toString(i);
ManifestElement e = elements[i];
String name = e.getName();
String mimeOverride = e.getMimeTypeOverride();
SimpleFieldSet subset = new SimpleFieldSet();
- subset.put("Name", name);
+ subset.putSingle("Name", name);
if(mimeOverride != null)
- subset.put("Metadata.ContentType",
mimeOverride);
+ subset.putSingle("Metadata.ContentType",
mimeOverride);
FreenetURI target = e.getTargetURI();
if(target != null) {
- subset.put("UploadFrom", "redirect");
- subset.put("TargetURI", target.toString());
+ subset.putSingle("UploadFrom", "redirect");
+ subset.putSingle("TargetURI",
target.toString());
} else {
Bucket data = e.getData();
// What to do with the bucket?
// It is either a persistent encrypted bucket
or a file bucket ...
- subset.put("DataLength",
Long.toString(e.getSize()));
+ subset.putSingle("DataLength",
Long.toString(e.getSize()));
if(data instanceof FileBucket) {
- subset.put("UploadFrom", "disk");
- subset.put("Filename",
((FileBucket)data).getFile().getPath());
+ subset.putSingle("UploadFrom", "disk");
+ subset.putSingle("Filename",
((FileBucket)data).getFile().getPath());
} else if(finished) {
- subset.put("UploadFrom", "direct");
+ subset.putSingle("UploadFrom",
"direct");
} else if(data instanceof
PaddedEphemerallyEncryptedBucket) {
- subset.put("UploadFrom", "direct");
+ subset.putSingle("UploadFrom",
"direct");
// the bucket is a persistent encrypted
temp bucket
bucketToFS(fs, "TempBucket", false,
data);
} else {
Modified: trunk/freenet/src/freenet/node/fcp/ClientPutDirMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutDirMessage.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutDirMessage.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -119,17 +119,17 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet sfs = new SimpleFieldSet();
- sfs.put("URI", uri.toString());
- sfs.put("Identifier", identifier);
- sfs.put("Verbosity", Integer.toString(verbosity));
- sfs.put("MaxRetries", Integer.toString(maxRetries));
- sfs.put("ClientToken", clientToken);
- sfs.put("GetCHKOnly", Boolean.toString(getCHKOnly));
- sfs.put("PriorityClass", Short.toString(priorityClass));
- sfs.put("PersistenceType",
ClientRequest.persistenceTypeString(persistenceType));
- sfs.put("DontCompress", Boolean.toString(dontCompress));
- sfs.put("Global", Boolean.toString(global));
- sfs.put("DefaultName", defaultName);
+ sfs.putSingle("URI", uri.toString());
+ sfs.putSingle("Identifier", identifier);
+ sfs.putSingle("Verbosity", Integer.toString(verbosity));
+ sfs.putSingle("MaxRetries", Integer.toString(maxRetries));
+ sfs.putSingle("ClientToken", clientToken);
+ sfs.putSingle("GetCHKOnly", Boolean.toString(getCHKOnly));
+ sfs.putSingle("PriorityClass", Short.toString(priorityClass));
+ sfs.putSingle("PersistenceType",
ClientRequest.persistenceTypeString(persistenceType));
+ sfs.putSingle("DontCompress", Boolean.toString(dontCompress));
+ sfs.putSingle("Global", Boolean.toString(global));
+ sfs.putSingle("DefaultName", defaultName);
return sfs;
}
Modified: trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -195,28 +195,28 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet sfs = new SimpleFieldSet();
- sfs.put("URI", uri.toString());
- sfs.put("Identifier", identifier);
- sfs.put("Verbosity", Integer.toString(verbosity));
- sfs.put("MaxRetries", Integer.toString(maxRetries));
- sfs.put("Metadata.ContentType", contentType);
- sfs.put("ClientToken", clientToken);
+ sfs.putSingle("URI", uri.toString());
+ sfs.putSingle("Identifier", identifier);
+ sfs.putSingle("Verbosity", Integer.toString(verbosity));
+ sfs.putSingle("MaxRetries", Integer.toString(maxRetries));
+ sfs.putSingle("Metadata.ContentType", contentType);
+ sfs.putSingle("ClientToken", clientToken);
if(uploadFromType == UPLOAD_FROM_DIRECT) {
- sfs.put("UploadFrom", "direct");
- sfs.put("DataLength", Long.toString(dataLength));
+ sfs.putSingle("UploadFrom", "direct");
+ sfs.putSingle("DataLength", Long.toString(dataLength));
} else if(uploadFromType == UPLOAD_FROM_DISK) {
- sfs.put("UploadFrom", "disk");
- sfs.put("Filename", origFilename.getAbsolutePath());
- sfs.put("DataLength", Long.toString(dataLength));
+ sfs.putSingle("UploadFrom", "disk");
+ sfs.putSingle("Filename",
origFilename.getAbsolutePath());
+ sfs.putSingle("DataLength", Long.toString(dataLength));
} else if(uploadFromType == UPLOAD_FROM_REDIRECT) {
- sfs.put("UploadFrom", "redirect");
- sfs.put("TargetURI", redirectTarget.toString());
+ sfs.putSingle("UploadFrom", "redirect");
+ sfs.putSingle("TargetURI", redirectTarget.toString());
}
- sfs.put("GetCHKOnly", Boolean.toString(getCHKOnly));
- sfs.put("PriorityClass", Short.toString(priorityClass));
- sfs.put("PersistenceType",
ClientRequest.persistenceTypeString(persistenceType));
- sfs.put("DontCompress", Boolean.toString(dontCompress));
- sfs.put("Global", Boolean.toString(global));
+ sfs.putSingle("GetCHKOnly", Boolean.toString(getCHKOnly));
+ sfs.putSingle("PriorityClass", Short.toString(priorityClass));
+ sfs.putSingle("PersistenceType",
ClientRequest.persistenceTypeString(persistenceType));
+ sfs.putSingle("DontCompress", Boolean.toString(dontCompress));
+ sfs.putSingle("Global", Boolean.toString(global));
return sfs;
}
Modified: trunk/freenet/src/freenet/node/fcp/ClientRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientRequest.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/ClientRequest.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -136,7 +136,7 @@
}
public static ClientRequest readAndRegister(BufferedReader br,
FCPServer server) throws IOException {
- SimpleFieldSet fs = new SimpleFieldSet(br);
+ SimpleFieldSet fs = new SimpleFieldSet(br, false);
String clientName = fs.get("ClientName");
boolean isGlobal = Fields.stringToBool(fs.get("Global"), false);
if(clientName == null && !isGlobal) {
Modified: trunk/freenet/src/freenet/node/fcp/DataFoundMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/DataFoundMessage.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/DataFoundMessage.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -30,10 +30,10 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identifier", identifier);
- if(global) fs.put("Global", "true");
- fs.put("Metadata.ContentType", mimeType);
- fs.put("DataLength", Long.toString(dataLength));
+ fs.putSingle("Identifier", identifier);
+ if(global) fs.putSingle("Global", "true");
+ fs.putSingle("Metadata.ContentType", mimeType);
+ fs.putSingle("DataLength", Long.toString(dataLength));
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -17,7 +17,7 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet sfs = new SimpleFieldSet();
- sfs.put("NodeIdentifier", nodeIdentifier);
+ sfs.putSingle("NodeIdentifier", nodeIdentifier);
return sfs;
}
Modified: trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -53,7 +53,7 @@
return;
}
if(messageType.equals("")) continue;
- fs = new SimpleFieldSet(lis, 4096, 128, true, true);
+ fs = new SimpleFieldSet(lis, 4096, 128, true, true,
true);
FCPMessage msg;
try {
msg = FCPMessage.create(messageType, fs,
handler.bf, handler.server.core.persistentTempBucketFactory);
Modified: trunk/freenet/src/freenet/node/fcp/FinishedCompressionMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FinishedCompressionMessage.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/FinishedCompressionMessage.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -25,11 +25,11 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identifier", identifier);
- fs.put("Codec", Integer.toString(codec));
- fs.put("OriginalSize", Long.toString(origSize));
- fs.put("CompressedSize", Long.toString(compressedSize));
- if(global) fs.put("Global", "true");
+ fs.putSingle("Identifier", identifier);
+ fs.putSingle("Codec", Integer.toString(codec));
+ fs.putSingle("OriginalSize", Long.toString(origSize));
+ fs.putSingle("CompressedSize", Long.toString(compressedSize));
+ if(global) fs.putSingle("Global", "true");
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/GetFailedMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GetFailedMessage.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/GetFailedMessage.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -101,28 +101,28 @@
*/
public SimpleFieldSet getFieldSet(boolean verbose) {
SimpleFieldSet sfs = new SimpleFieldSet();
- sfs.put("Code", Integer.toString(code));
+ sfs.putSingle("Code", Integer.toString(code));
if(verbose)
- sfs.put("CodeDescription", codeDescription);
+ sfs.putSingle("CodeDescription", codeDescription);
if(extraDescription != null)
- sfs.put("ExtraDescription", extraDescription);
+ sfs.putSingle("ExtraDescription", extraDescription);
if(verbose)
- sfs.put("Fatal", Boolean.toString(isFatal));
+ sfs.putSingle("Fatal", Boolean.toString(isFatal));
if(tracker != null) {
- tracker.copyToFieldSet(sfs, "Errors.", verbose);
+ sfs.put("Errors", tracker.toFieldSet(verbose));
}
if(verbose)
- sfs.put("ShortCodeDescription", shortCodeDescription);
- sfs.put("Identifier", identifier);
+ sfs.putSingle("ShortCodeDescription",
shortCodeDescription);
+ sfs.putSingle("Identifier", identifier);
if(expectedDataLength > -1) {
- sfs.put("ExpectedDataLength",
Long.toString(expectedDataLength));
+ sfs.putSingle("ExpectedDataLength",
Long.toString(expectedDataLength));
}
if(expectedMimeType != null)
- sfs.put("ExpectedMetadata.ContentType",
expectedMimeType);
+ sfs.putSingle("ExpectedMetadata.ContentType",
expectedMimeType);
if(finalizedExpected)
- sfs.put("FinalizedExpected", "true");
+ sfs.putSingle("FinalizedExpected", "true");
if(redirectURI != null)
- sfs.put("RedirectURI", redirectURI.toString(false,
false));
+ sfs.putSingle("RedirectURI",
redirectURI.toString(false, false));
return sfs;
}
Modified: trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -22,7 +22,7 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identifier", identifier);
+ fs.putSingle("Identifier", identifier);
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/IdentifierCollisionMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/IdentifierCollisionMessage.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/IdentifierCollisionMessage.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -18,8 +18,8 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet sfs = new SimpleFieldSet();
- sfs.put("Identifier", identifier);
- if(global) sfs.put("Global", "true");
+ sfs.putSingle("Identifier", identifier);
+ if(global) sfs.putSingle("Global", "true");
return sfs;
}
Modified: trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -52,11 +52,11 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identifier", identifier);
- fs.put("Global", Boolean.toString(global));
- fs.put("PriorityClass", Short.toString(priorityClass));
+ fs.putSingle("Identifier", identifier);
+ fs.putSingle("Global", Boolean.toString(global));
+ fs.putSingle("PriorityClass", Short.toString(priorityClass));
if(clientToken != null)
- fs.put("ClientToken", clientToken);
+ fs.putSingle("ClientToken", clientToken);
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -62,15 +62,15 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet sfs = new SimpleFieldSet();
// FIXME
- sfs.put("FCPVersion", "2.0");
- sfs.put("Node", "Fred");
- sfs.put("Version", Version.getVersionString());
+ sfs.putSingle("FCPVersion", "2.0");
+ sfs.putSingle("Node", "Fred");
+ sfs.putSingle("Version", Version.getVersionString());
sfs.put("Build", Version.buildNumber());
- sfs.put("Revision", Version.cvsRevision);
+ sfs.putSingle("Revision", Version.cvsRevision);
sfs.put("ExtBuild", NodeStarter.extBuildNumber);
- sfs.put("ExtRevision", NodeStarter.extRevisionNumber);
- sfs.put("Testnet", Boolean.toString(node == null ? false :
node.isTestnetEnabled()));
- sfs.put("CompressionCodecs",
Integer.toString(Compressor.countCompressAlgorithms()));
+ sfs.putSingle("ExtRevision", NodeStarter.extRevisionNumber);
+ sfs.putSingle("Testnet", Boolean.toString(node == null ? false
: node.isTestnetEnabled()));
+ sfs.putSingle("CompressionCodecs",
Integer.toString(Compressor.countCompressAlgorithms()));
return sfs;
}
Modified: trunk/freenet/src/freenet/node/fcp/PeerNote.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PeerNote.java 2007-02-09 19:47:51 UTC
(rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/PeerNote.java 2007-02-09 20:54:57 UTC
(rev 11718)
@@ -22,9 +22,9 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("NodeIdentifier", nodeIdentifier);
- fs.put("PeerNoteType", Integer.toString(peerNoteType));
- fs.put("NoteText", Base64.encode(noteText.getBytes(), true));
+ fs.putSingle("NodeIdentifier", nodeIdentifier);
+ fs.putSingle("PeerNoteType", Integer.toString(peerNoteType));
+ fs.putSingle("NoteText", Base64.encode(noteText.getBytes(),
true));
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/PeerRemoved.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PeerRemoved.java 2007-02-09 19:47:51 UTC
(rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/PeerRemoved.java 2007-02-09 20:54:57 UTC
(rev 11718)
@@ -19,8 +19,8 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identity", identity);
- fs.put("NodeIdentifier", nodeIdentifier);
+ fs.putSingle("Identity", identity);
+ fs.putSingle("NodeIdentifier", nodeIdentifier);
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/PersistentGet.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentGet.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/PersistentGet.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -50,18 +50,18 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identifier", identifier);
- fs.put("URI", uri.toString(false, false));
+ fs.putSingle("Identifier", identifier);
+ fs.putSingle("URI", uri.toString(false, false));
fs.put("Verbosity", verbosity);
- fs.put("ReturnType",
ClientGetMessage.returnTypeString(returnType));
- fs.put("PersistenceType",
ClientRequest.persistenceTypeString(persistenceType));
+ fs.putSingle("ReturnType",
ClientGetMessage.returnTypeString(returnType));
+ fs.putSingle("PersistenceType",
ClientRequest.persistenceTypeString(persistenceType));
if(returnType == ClientGetMessage.RETURN_TYPE_DISK) {
- fs.put("Filename", targetFile.getAbsolutePath());
- fs.put("TempFilename", tempFile.getAbsolutePath());
+ fs.putSingle("Filename", targetFile.getAbsolutePath());
+ fs.putSingle("TempFilename",
tempFile.getAbsolutePath());
}
fs.put("PriorityClass", priorityClass);
if(clientToken != null)
- fs.put("ClientToken", clientToken);
+ fs.putSingle("ClientToken", clientToken);
fs.put("Global", global);
fs.put("Started", started);
fs.put("MaxRetries", maxRetries);
Modified: trunk/freenet/src/freenet/node/fcp/PersistentPut.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentPut.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/PersistentPut.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -52,27 +52,27 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identifier", identifier);
- fs.put("URI", uri.toString(false, false));
+ fs.putSingle("Identifier", identifier);
+ fs.putSingle("URI", uri.toString(false, false));
fs.put("Verbosity", verbosity);
fs.put("PriorityClass", priorityClass);
- fs.put("UploadFrom",
ClientPutMessage.uploadFromString(uploadFrom));
- fs.put("Persistence",
ClientRequest.persistenceTypeString(persistenceType));
+ fs.putSingle("UploadFrom",
ClientPutMessage.uploadFromString(uploadFrom));
+ fs.putSingle("Persistence",
ClientRequest.persistenceTypeString(persistenceType));
if(origFilename != null)
- fs.put("Filename", origFilename.getAbsolutePath());
+ fs.putSingle("Filename",
origFilename.getAbsolutePath());
if(targetURI != null)
- fs.put("TargetURI", targetURI.toString());
+ fs.putSingle("TargetURI", targetURI.toString());
if(mimeType != null)
- fs.put("Metadata.ContentType", mimeType);
+ fs.putSingle("Metadata.ContentType", mimeType);
fs.put("Global", global);
if(size != -1)
fs.put("DataLength", size);
if(token != null)
- fs.put("ClientToken", token);
+ fs.putSingle("ClientToken", token);
fs.put("Started", started);
fs.put("MaxRetries", maxRetries);
if(targetFilename != null)
- fs.put("TargetFilename", targetFilename);
+ fs.putSingle("TargetFilename", targetFilename);
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -48,39 +48,39 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identifier", identifier);
- fs.put("URI", uri.toString(false, false));
- fs.put("Verbosity", Integer.toString(verbosity));
- fs.put("Persistence",
ClientRequest.persistenceTypeString(persistenceType));
- fs.put("PriorityClass", Short.toString(priorityClass));
- fs.put("Global", Boolean.toString(global));
+ fs.putSingle("Identifier", identifier);
+ fs.putSingle("URI", uri.toString(false, false));
+ fs.put("Verbosity", verbosity);
+ fs.putSingle("Persistence",
ClientRequest.persistenceTypeString(persistenceType));
+ fs.put("PriorityClass", priorityClass);
+ fs.putSingle("Global", Boolean.toString(global));
SimpleFieldSet files = new SimpleFieldSet();
// Flatten the hierarchy, it can be reconstructed on restarting.
// Storing it directly would be a PITA.
ManifestElement[] elements =
SimpleManifestPutter.flatten(manifestElements);
- fs.put("DefaultName", defaultName);
+ fs.putSingle("DefaultName", defaultName);
for(int i=0;i<elements.length;i++) {
String num = Integer.toString(i);
ManifestElement e = elements[i];
String mimeOverride = e.getMimeTypeOverride();
SimpleFieldSet subset = new SimpleFieldSet();
FreenetURI tempURI = e.getTargetURI();
- subset.put("Name", e.getName());
+ subset.putSingle("Name", e.getName());
if(tempURI != null) {
- subset.put("UploadFrom", "redirect");
- subset.put("TargetURI", tempURI.toString());
+ subset.putSingle("UploadFrom", "redirect");
+ subset.putSingle("TargetURI",
tempURI.toString());
} else {
Bucket data = e.getData();
- subset.put("DataLength",
Long.toString(e.getSize()));
+ subset.put("DataLength", e.getSize());
if(mimeOverride != null)
- subset.put("Metadata.ContentType",
mimeOverride);
+
subset.putSingle("Metadata.ContentType", mimeOverride);
// What to do with the bucket?
// It is either a persistent encrypted bucket
or a file bucket ...
if(data instanceof FileBucket) {
- subset.put("UploadFrom", "disk");
- subset.put("Filename",
((FileBucket)data).getFile().getPath());
+ subset.putSingle("UploadFrom", "disk");
+ subset.putSingle("Filename",
((FileBucket)data).getFile().getPath());
} else if((data instanceof
PaddedEphemerallyEncryptedBucket) || (data == null)) {
- subset.put("UploadFrom", "direct");
+ subset.putSingle("UploadFrom",
"direct");
} else {
throw new IllegalStateException("Don't
know what to do with bucket: "+data);
}
@@ -89,8 +89,8 @@
}
fs.put("Files", files);
if(token != null)
- fs.put("ClientToken", token);
- fs.put("Started", Boolean.toString(started));
+ fs.putSingle("ClientToken", token);
+ fs.put("Started", started);
fs.put("MaxRetries", maxRetries);
return fs;
}
Modified:
trunk/freenet/src/freenet/node/fcp/PersistentRequestRemovedMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentRequestRemovedMessage.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/PersistentRequestRemovedMessage.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -21,8 +21,8 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identifier", ident);
- if(global) fs.put("Global", "true");
+ fs.putSingle("Identifier", ident);
+ if(global) fs.putSingle("Global", "true");
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -125,14 +125,14 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet sfs = new SimpleFieldSet();
if(ident != null)
- sfs.put("Identifier", ident);
- sfs.put("Code", Integer.toString(code));
- sfs.put("CodeDescription", codeDescription());
+ sfs.putSingle("Identifier", ident);
+ sfs.put("Code", code);
+ sfs.putSingle("CodeDescription", codeDescription());
if(extra != null)
- sfs.put("ExtraDescription", extra);
- sfs.put("Fatal", Boolean.toString(fatal));
+ sfs.putSingle("ExtraDescription", extra);
+ sfs.put("Fatal", fatal);
if(global)
- sfs.put("Global", "true");
+ sfs.putSingle("Global", "true");
return sfs;
}
Modified: trunk/freenet/src/freenet/node/fcp/PutFailedMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PutFailedMessage.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/PutFailedMessage.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -80,22 +80,22 @@
public SimpleFieldSet getFieldSet(boolean verbose) {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identifier", identifier);
- if(global) fs.put("Global", "true");
- fs.put("Code", Integer.toString(code));
+ fs.putSingle("Identifier", identifier);
+ if(global) fs.putSingle("Global", "true");
+ fs.put("Code", code);
if(verbose)
- fs.put("CodeDescription", codeDescription);
+ fs.putSingle("CodeDescription", codeDescription);
if(extraDescription != null)
- fs.put("ExtraDescription", extraDescription);
+ fs.putSingle("ExtraDescription", extraDescription);
if(tracker != null) {
- tracker.copyToFieldSet(fs, "Errors.", verbose);
+ fs.put("Errors", tracker.toFieldSet(verbose));
}
if(verbose)
- fs.put("Fatal", Boolean.toString(isFatal));
+ fs.put("Fatal", isFatal);
if(verbose)
- fs.put("ShortCodeDescription", shortCodeDescription);
+ fs.putSingle("ShortCodeDescription",
shortCodeDescription);
if(expectedURI != null)
- fs.put("ExpectedURI", expectedURI.toString());
+ fs.putSingle("ExpectedURI", expectedURI.toString());
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/PutFetchableMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PutFetchableMessage.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/PutFetchableMessage.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -21,10 +21,10 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identifier", identifier);
- if(global) fs.put("Global", "true");
+ fs.putSingle("Identifier", identifier);
+ if(global) fs.putSingle("Global", "true");
if(uri != null)
- fs.put("URI", uri.toString(false, false));
+ fs.putSingle("URI", uri.toString(false, false));
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/PutSuccessfulMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PutSuccessfulMessage.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/PutSuccessfulMessage.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -21,11 +21,11 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identifier", identifier);
- if(global) fs.put("Global", "true");
+ fs.putSingle("Identifier", identifier);
+ if(global) fs.putSingle("Global", "true");
// FIXME debug and remove!
if(uri != null)
- fs.put("URI", uri.toString());
+ fs.putSingle("URI", uri.toString());
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -25,7 +25,7 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identifier", identifier);
+ fs.putSingle("Identifier", identifier);
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/SSKKeypairMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SSKKeypairMessage.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/SSKKeypairMessage.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -21,10 +21,10 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet sfs = new SimpleFieldSet();
- sfs.put("InsertURI", insertURI.toString());
- sfs.put("RequestURI", requestURI.toString());
+ sfs.putSingle("InsertURI", insertURI.toString());
+ sfs.putSingle("RequestURI", requestURI.toString());
if(identifier != null) // is optional on these two only
- sfs.put("Identifier", identifier);
+ sfs.putSingle("Identifier", identifier);
return sfs;
}
Modified: trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -21,14 +21,14 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Total", Integer.toString(event.totalBlocks));
- fs.put("Required", Integer.toString(event.minSuccessfulBlocks));
- fs.put("Failed", Integer.toString(event.failedBlocks));
- fs.put("FatallyFailed",
Integer.toString(event.fatallyFailedBlocks));
- fs.put("Succeeded",Integer.toString(event.fetchedBlocks));
- fs.put("FinalizedTotal",
Boolean.toString(event.finalizedTotal));
- fs.put("Identifier", ident);
- if(global) fs.put("Global", "true");
+ fs.put("Total", event.totalBlocks);
+ fs.put("Required", event.minSuccessfulBlocks);
+ fs.put("Failed", event.failedBlocks);
+ fs.put("FatallyFailed", event.fatallyFailedBlocks);
+ fs.put("Succeeded",event.fetchedBlocks);
+ fs.put("FinalizedTotal", event.finalizedTotal);
+ fs.putSingle("Identifier", ident);
+ if(global) fs.putSingle("Global", "true");
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/StartedCompressionMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/StartedCompressionMessage.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/StartedCompressionMessage.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -21,9 +21,9 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identifier", identifier);
- fs.put("Codec", Integer.toString(codec));
- if(global) fs.put("Global", "true");
+ fs.putSingle("Identifier", identifier);
+ fs.put("Codec", codec);
+ if(global) fs.putSingle("Global", "true");
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/SubscribeUSKMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SubscribeUSKMessage.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/SubscribeUSKMessage.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -48,8 +48,8 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("URI", key.getURI().toString());
- fs.put("DontPoll", Boolean.toString(dontPoll));
+ fs.putSingle("URI", key.getURI().toString());
+ fs.put("DontPoll", dontPoll);
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/SubscribedUSKUpdate.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SubscribedUSKUpdate.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/SubscribedUSKUpdate.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -23,9 +23,9 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Identifier", identifier);
- fs.put("Edition", Long.toString(edition));
- fs.put("URI", key.getURI().toString());
+ fs.putSingle("Identifier", identifier);
+ fs.put("Edition", edition);
+ fs.putSingle("URI", key.getURI().toString());
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/URIGeneratedMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/URIGeneratedMessage.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/URIGeneratedMessage.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -19,8 +19,8 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("URI", uri.toString());
- fs.put("Identifier", identifier);
+ fs.putSingle("URI", uri.toString());
+ fs.putSingle("Identifier", identifier);
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -16,7 +16,7 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet sfs = new SimpleFieldSet();
- sfs.put("NodeIdentifier", nodeIdentifier);
+ sfs.putSingle("NodeIdentifier", nodeIdentifier);
return sfs;
}
Modified: trunk/freenet/src/freenet/node/fcp/WatchGlobal.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/WatchGlobal.java 2007-02-09 19:47:51 UTC
(rev 11717)
+++ trunk/freenet/src/freenet/node/fcp/WatchGlobal.java 2007-02-09 20:54:57 UTC
(rev 11718)
@@ -28,8 +28,8 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Enabled", Boolean.toString(enabled));
- fs.put("VerbosityMask", Integer.toString(verbosityMask));
+ fs.put("Enabled", enabled);
+ fs.put("VerbosityMask", verbosityMask);
return fs;
}
Modified: trunk/freenet/src/freenet/support/SimpleFieldSet.java
===================================================================
--- trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -32,10 +32,18 @@
private String endMarker;
static public final char MULTI_LEVEL_CHAR = '.';
- public SimpleFieldSet(BufferedReader br) throws IOException {
+ /**
+ * Construct a SimpleFieldSet from reading a BufferedReader.
+ * @param br
+ * @param allowMultiple If true, multiple lines with the same field name
will be
+ * combined; if false, the constructor will throw.
+ * @throws IOException If the buffer could not be read, or if there was a
formatting
+ * problem.
+ */
+ public SimpleFieldSet(BufferedReader br, boolean allowMultiple) throws
IOException {
values = new HashMap();
subsets = null;
- read(br);
+ read(br, allowMultiple);
}
public SimpleFieldSet(SimpleFieldSet sfs){
@@ -44,10 +52,10 @@
endMarker = sfs.endMarker;
}
- public SimpleFieldSet(LineReader lis, int maxLineLength, int
lineBufferSize, boolean tolerant, boolean utf8OrIso88591) throws IOException {
+ public SimpleFieldSet(LineReader lis, int maxLineLength, int
lineBufferSize, boolean tolerant, boolean utf8OrIso88591, boolean
allowMultiple) throws IOException {
values = new HashMap();
subsets = null;
- read(lis, maxLineLength, lineBufferSize, tolerant, utf8OrIso88591);
+ read(lis, maxLineLength, lineBufferSize, tolerant, utf8OrIso88591,
allowMultiple);
}
/**
@@ -62,12 +70,12 @@
* Construct from a string.
* @throws IOException if the string is too short or invalid.
*/
- public SimpleFieldSet(String content) throws IOException {
+ public SimpleFieldSet(String content, boolean allowMultiple) throws
IOException {
values = new HashMap();
subsets = null;
StringReader sr = new StringReader(content);
BufferedReader br = new BufferedReader(sr);
- read(br);
+ read(br, allowMultiple);
}
/**
@@ -76,8 +84,9 @@
* blah=blah
* blah=blah
* End
+ * @param allowMultiple
*/
- private void read(BufferedReader br) throws IOException {
+ private void read(BufferedReader br, boolean allowMultiple) throws
IOException {
boolean firstLine = true;
while(true) {
String line = br.readLine();
@@ -91,7 +100,7 @@
// Mapping
String before = line.substring(0, index);
String after = line.substring(index+1);
- put(before, after);
+ put(before, after, allowMultiple, false);
} else {
endMarker = line;
return;
@@ -108,7 +117,7 @@
* End
* @param utfOrIso88591 If true, read as UTF-8, otherwise read as
ISO-8859-1.
*/
- private void read(LineReader br, int maxLength, int bufferSize, boolean
tolerant, boolean utfOrIso88591) throws IOException {
+ private void read(LineReader br, int maxLength, int bufferSize, boolean
tolerant, boolean utfOrIso88591, boolean allowMultiple) throws IOException {
boolean firstLine = true;
while(true) {
String line = br.readLine(maxLength, bufferSize, utfOrIso88591);
@@ -127,7 +136,7 @@
// Mapping
String before = line.substring(0, index);
String after = line.substring(index+1);
- put(before, after);
+ put(before, after, allowMultiple, false);
} else {
endMarker = line;
return;
@@ -175,15 +184,54 @@
// return (String[]) v.toArray();
}
- public synchronized void put(String key, String value) {
+ /**
+ * Set a key to a value. If the value already exists, throw
IllegalStateException.
+ * @param key The key.
+ * @param value The value.
+ */
+ public void putSingle(String key, String value) {
+ if(!put(key, value, false, false))
+ throw new IllegalStateException("Value already exists:
"+value+" but want to set "+key+" to "+value);
+ }
+
+ /**
+ * Aggregating put. Set a key to a value, if the value already exists,
append to it.
+ * @param key The key.
+ * @param value The value.
+ */
+ public void putAppend(String key, String value) {
+ put(key, value, true, false);
+ }
+
+ /**
+ * Set a key to a value, overwriting any existing value if present.
+ * @param key The key.
+ * @param value The value.
+ */
+ public void putOverwrite(String key, String value) {
+ put(key, value, false, true);
+ }
+
+ /**
+ * Set a key to a value.
+ * @param key The key.
+ * @param value The value.
+ * @param allowMultiple If true, if the key already exists then the value
will be
+ * appended to the existing value. If false, we return false to indicate
that the
+ * old value is unchanged.
+ * @return True unless allowMultiple was false and there was a
pre-existing value,
+ * or value was null.
+ */
+ private synchronized final boolean put(String key, String value,
boolean allowMultiple, boolean overwrite) {
int idx;
- if(value == null) return;
+ if(value == null) return false;
if((idx = key.indexOf(MULTI_LEVEL_CHAR)) == -1) {
String x = (String) values.get(key);
- if(x == null) {
+ if(x == null || overwrite) {
values.put(key, value);
} else {
+ if(!allowMultiple) return false;
values.put(key, ((String)values.get(key))+ ';'
+value);
}
} else {
@@ -197,32 +245,33 @@
fs = new SimpleFieldSet();
subsets.put(before, fs);
}
- fs.put(after, value);
+ fs.put(after, value, allowMultiple, overwrite);
}
+ return true;
}
public void put(String key, int value) {
- put(key, Integer.toString(value));
+ put(key, Integer.toString(value), false, false);
}
public void put(String key, long value) {
- put(key, Long.toString(value));
+ put(key, Long.toString(value), false, false);
}
public void put(String key, short value) {
- put(key, Short.toString(value));
+ put(key, Short.toString(value), false, false);
}
public void put(String key, char c) {
- put(key, ""+c);
+ put(key, ""+c, false, false);
}
public void put(String key, boolean b) {
- put(key, Boolean.toString(b));
+ put(key, Boolean.toString(b), false, false);
}
public void put(String key, double windowSize) {
- put(key, Double.toString(windowSize));
+ put(key, Double.toString(windowSize), false, false);
}
/**
@@ -476,7 +525,7 @@
return (String[]) subsets.keySet().toArray(new
String[subsets.size()]);
}
- public static SimpleFieldSet readFrom(File f) throws IOException {
+ public static SimpleFieldSet readFrom(File f, boolean allowMultiple)
throws IOException {
FileInputStream fis = null;
try {
fis = new FileInputStream(f);
@@ -490,7 +539,7 @@
return null;
}
BufferedReader br = new BufferedReader(isr);
- SimpleFieldSet fs = new SimpleFieldSet(br);
+ SimpleFieldSet fs = new SimpleFieldSet(br,
allowMultiple);
br.close();
fis = null;
return fs;
Modified: trunk/freenet/src/freenet/support/io/DelayedFreeBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/DelayedFreeBucket.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/support/io/DelayedFreeBucket.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -73,7 +73,7 @@
return null;
}
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Type", "DelayedFreeBucket");
+ fs.putSingle("Type", "DelayedFreeBucket");
if(bucket instanceof SerializableToFieldSetBucket) {
fs.put("Underlying",
((SerializableToFieldSetBucket)bucket).toFieldSet());
} else {
Modified: trunk/freenet/src/freenet/support/io/FileBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/FileBucket.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/support/io/FileBucket.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -349,8 +349,8 @@
public synchronized SimpleFieldSet toFieldSet() {
if(deleteOnFinalize) return null;
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Type", "FileBucket");
- fs.put("Filename", file.toString());
+ fs.putSingle("Type", "FileBucket");
+ fs.putSingle("Filename", file.toString());
fs.put("Length", length);
return fs;
}
Modified: trunk/freenet/src/freenet/support/io/NullBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/NullBucket.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/support/io/NullBucket.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -67,7 +67,7 @@
public SimpleFieldSet toFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Type", "NullBucket");
+ fs.putSingle("Type", "NullBucket");
return fs;
}
}
Modified:
trunk/freenet/src/freenet/support/io/PaddedEphemerallyEncryptedBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/PaddedEphemerallyEncryptedBucket.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/support/io/PaddedEphemerallyEncryptedBucket.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -350,12 +350,12 @@
public SimpleFieldSet toFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Type", "PaddedEphemerallyEncryptedBucket");
+ fs.putSingle("Type", "PaddedEphemerallyEncryptedBucket");
synchronized(this) {
fs.put("DataLength", dataLength);
}
if(key != null) {
- fs.put("DecryptKey", HexUtil.bytesToHex(key));
+ fs.putSingle("DecryptKey", HexUtil.bytesToHex(key));
} else {
Logger.error(this, "Cannot serialize because no key");
return null;
@@ -368,7 +368,7 @@
}
fs.put("MinPaddedSize", minPaddedSize);
if(!brokenEncryption)
- fs.put("CryptoType", "aes256");
+ fs.putSingle("CryptoType", "aes256");
return fs;
}
Modified: trunk/freenet/src/freenet/support/io/RandomAccessFileBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/RandomAccessFileBucket.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/support/io/RandomAccessFileBucket.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -462,8 +462,8 @@
public synchronized SimpleFieldSet toFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Type", "RandomAccessFileBucket");
- fs.put("Filename", file.toString());
+ fs.putSingle("Type", "RandomAccessFileBucket");
+ fs.putSingle("Filename", file.toString());
fs.put("Offset", offset);
fs.put("Length", len);
return fs;
Modified: trunk/freenet/src/freenet/support/io/ReadOnlyFileSliceBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/ReadOnlyFileSliceBucket.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/support/io/ReadOnlyFileSliceBucket.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -145,8 +145,8 @@
public SimpleFieldSet toFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Type", "ReadOnlyFileSliceBucket");
- fs.put("Filename", file.toString());
+ fs.putSingle("Type", "ReadOnlyFileSliceBucket");
+ fs.putSingle("Filename", file.toString());
fs.put("Offset", startAt);
fs.put("Length", length);
return fs;
Modified: trunk/freenet/src/freenet/support/io/TempFileBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/TempFileBucket.java 2007-02-09
19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/support/io/TempFileBucket.java 2007-02-09
20:54:57 UTC (rev 11718)
@@ -435,7 +435,7 @@
public SimpleFieldSet toFieldSet() {
SimpleFieldSet fs = super.toFieldSet();
- fs.put("Type", "TempFileBucket");
+ fs.putSingle("Type", "TempFileBucket");
return fs;
}
}
Modified:
trunk/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java
===================================================================
---
trunk/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java
2007-02-09 19:47:51 UTC (rev 11717)
+++
trunk/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -156,7 +156,7 @@
public synchronized SimpleFieldSet exportFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Type", "BootstrappingDecayingRunningAverage");
+ fs.putSingle("Type", "BootstrappingDecayingRunningAverage");
fs.put("CurrentValue", currentValue);
fs.put("Reports", reports);
fs.put("Zeros", zeros);
Modified: trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java
===================================================================
--- trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java
2007-02-09 19:47:51 UTC (rev 11717)
+++ trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java
2007-02-09 20:54:57 UTC (rev 11718)
@@ -233,7 +233,7 @@
public synchronized SimpleFieldSet exportFieldSet() {
SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("Type", "TimeDecayingRunningAverage");
+ fs.putSingle("Type", "TimeDecayingRunningAverage");
fs.put("CurrentValue", curValue);
fs.put("Started", started);
fs.put("TotalReports", totalReports);
Modified: trunk/freenet/src/freenet/tools/AddRef.java
===================================================================
--- trunk/freenet/src/freenet/tools/AddRef.java 2007-02-09 19:47:51 UTC (rev
11717)
+++ trunk/freenet/src/freenet/tools/AddRef.java 2007-02-09 20:54:57 UTC (rev
11718)
@@ -54,8 +54,8 @@
OutputStream os = fcpSocket.getOutputStream();
try{
- sfs.put("Name", "AddRef");
- sfs.put("ExpectedVersion", "2.0");
+ sfs.putSingle("Name", "AddRef");
+ sfs.putSingle("ExpectedVersion", "2.0");
fcpm = FCPMessage.create("ClientHello", sfs);
fcpm.send(os);
os.flush();
@@ -74,7 +74,7 @@
}
try{
- sfs = SimpleFieldSet.readFrom(reference);
+ sfs = SimpleFieldSet.readFrom(reference, false);
fcpm = FCPMessage.create(AddPeer.name, sfs);
fcpm.send(os);
os.flush();
@@ -114,7 +114,7 @@
String line = lis.readLine(128, 128, true);
int index = line.indexOf('=');
if(index == -1 || line.startsWith("End"))
return sfs;
- sfs.put(line.substring(0, index),
line.substring(index+1));
+ sfs.putSingle(line.substring(0, index),
line.substring(index+1));
}
}catch(IOException e){
return sfs;