Author: toad
Date: 2007-02-10 17:30:13 +0000 (Sat, 10 Feb 2007)
New Revision: 11745
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/PersistentConfig.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/RequestStarterGroup.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/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/CloseConnectionDuplicateClientNameMessage.java
trunk/freenet/src/freenet/node/fcp/ConfigData.java
trunk/freenet/src/freenet/node/fcp/DataFoundMessage.java
trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java
trunk/freenet/src/freenet/node/fcp/EndListPeersMessage.java
trunk/freenet/src/freenet/node/fcp/EndListPersistentRequestsMessage.java
trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
trunk/freenet/src/freenet/node/fcp/FinishedCompressionMessage.java
trunk/freenet/src/freenet/node/fcp/GenerateSSKMessage.java
trunk/freenet/src/freenet/node/fcp/GetConfig.java
trunk/freenet/src/freenet/node/fcp/GetFailedMessage.java
trunk/freenet/src/freenet/node/fcp/GetNode.java
trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
trunk/freenet/src/freenet/node/fcp/IdentifierCollisionMessage.java
trunk/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java
trunk/freenet/src/freenet/node/fcp/ListPeersMessage.java
trunk/freenet/src/freenet/node/fcp/ListPersistentRequestsMessage.java
trunk/freenet/src/freenet/node/fcp/ModifyConfig.java
trunk/freenet/src/freenet/node/fcp/ModifyPeer.java
trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java
trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java
trunk/freenet/src/freenet/node/fcp/NodeData.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/RemovePeer.java
trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
trunk/freenet/src/freenet/node/fcp/SSKKeypairMessage.java
trunk/freenet/src/freenet/node/fcp/ShutdownMessage.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/UnknownPeerNoteTypeMessage.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/math/BootstrappingDecayingRunningAverage.java
trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java
trunk/freenet/src/freenet/tools/AddRef.java
Log:
Intern strings in long-lived or large SimpleFieldSet's.
For example, when we are reading in persistent inserts from disk.
Modified: trunk/freenet/src/freenet/client/FailureCodeTracker.java
===================================================================
--- trunk/freenet/src/freenet/client/FailureCodeTracker.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/client/FailureCodeTracker.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -118,7 +118,7 @@
/** Copy verbosely to a SimpleFieldSet */
public synchronized SimpleFieldSet toFieldSet(boolean verbose) {
- SimpleFieldSet sfs = new SimpleFieldSet();
+ SimpleFieldSet sfs = new SimpleFieldSet(false);
Iterator keys = map.keySet().iterator();
while(keys.hasNext()) {
Integer k = (Integer) keys.next();
Modified: trunk/freenet/src/freenet/client/async/SingleFileInserter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SingleFileInserter.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/client/async/SingleFileInserter.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -581,7 +581,7 @@
curSFI = sfi;
curMetadataPutter = metadataPutter;
}
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(false);
fs.putSingle("Type", "SplitHandler");
if(curSFI != null)
fs.put("SplitFileInserter",
curSFI.getProgressFieldset());
Modified: trunk/freenet/src/freenet/client/async/SplitFileInserter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileInserter.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/client/async/SplitFileInserter.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -45,7 +45,7 @@
private boolean forceEncode;
public SimpleFieldSet getProgressFieldset() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(false);
// don't save basic infrastructure such as ctx and parent
// only save details of the request
fs.putSingle("Type", "SplitFileInserter");
@@ -55,7 +55,7 @@
fs.put("Finished", finished);
fs.put("SegmentSize", segmentSize);
fs.put("CheckSegmentSize", checkSegmentSize);
- SimpleFieldSet segs = new SimpleFieldSet();
+ SimpleFieldSet segs = new SimpleFieldSet(false);
for(int i=0;i<segments.length;i++) {
segs.put(Integer.toString(i),
segments[i].getProgressFieldset());
}
Modified: trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -229,7 +229,7 @@
}
public synchronized SimpleFieldSet getProgressFieldset() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(false); // these get BIG
fs.putSingle("Type", "SplitFileInserterSegment");
fs.put("Finished", finished);
// If true, check blocks which are null are finished
@@ -237,10 +237,10 @@
// If true, data blocks which are null are finished
fs.put("Started", started);
fs.tput("Errors", errors.toFieldSet(false));
- SimpleFieldSet dataFS = new SimpleFieldSet();
+ SimpleFieldSet dataFS = new SimpleFieldSet(false);
dataFS.put("Count", dataBlocks.length);
for(int i=0;i<dataBlocks.length;i++) {
- SimpleFieldSet block = new SimpleFieldSet();
+ SimpleFieldSet block = new SimpleFieldSet(false);
if(dataURIs[i] != null)
block.putSingle("URI", dataURIs[i].toString());
SingleBlockInserter sbi =
@@ -269,10 +269,10 @@
dataFS.put(Integer.toString(i), block);
}
fs.put("DataBlocks", dataFS);
- SimpleFieldSet checkFS = new SimpleFieldSet();
+ SimpleFieldSet checkFS = new SimpleFieldSet(false);
checkFS.put("Count", checkBlocks.length);
for(int i=0;i<checkBlocks.length;i++) {
- SimpleFieldSet block = new SimpleFieldSet();
+ SimpleFieldSet block = new SimpleFieldSet(false);
if(checkURIs[i] != null)
block.putSingle("URI", checkURIs[i].toString());
SingleBlockInserter sbi =
Modified: trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -668,7 +668,7 @@
SimpleFieldSet fs;
try {
- fs = new SimpleFieldSet(ref.toString(), false);
+ fs = new SimpleFieldSet(ref.toString(), false,
true);
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-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -131,7 +131,7 @@
String sendStatusClass;
try {
long now =
System.currentTimeMillis();
- SimpleFieldSet fs = new
SimpleFieldSet();
+ SimpleFieldSet fs = new
SimpleFieldSet(true);
fs.put("type",
Node.N2N_TEXT_MESSAGE_TYPE_USERALERT);
fs.putSingle("source_nodename",
Base64.encode(node.getMyName().getBytes()));
fs.putSingle("target_nodename",
Base64.encode(pn.getName().getBytes()));
Modified: trunk/freenet/src/freenet/config/FilePersistentConfig.java
===================================================================
--- trunk/freenet/src/freenet/config/FilePersistentConfig.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/config/FilePersistentConfig.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -96,7 +96,7 @@
try {
LineReadingInputStream lis = new
LineReadingInputStream(bis);
// Config file is UTF-8 too!
- return new SimpleFieldSet(lis, 32768, 128, true, true,
true); // FIXME? advanced users may edit the config file, hence true?
+ return new SimpleFieldSet(lis, 32768, 128, true, true,
true, true); // FIXME? advanced users may edit the config file, hence true?
} finally {
try {
fis.close();
Modified: trunk/freenet/src/freenet/config/PersistentConfig.java
===================================================================
--- trunk/freenet/src/freenet/config/PersistentConfig.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/config/PersistentConfig.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -32,7 +32,7 @@
}
public synchronized SimpleFieldSet exportFieldSet(boolean withDefaults)
{
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
SubConfig[] configs;
synchronized(this) {
configs = (SubConfig[])
configsByPrefix.values().toArray(new SubConfig[configsByPrefix.size()]);
Modified: trunk/freenet/src/freenet/config/SubConfig.java
===================================================================
--- trunk/freenet/src/freenet/config/SubConfig.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/config/SubConfig.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -193,7 +193,7 @@
}
public SimpleFieldSet exportFieldSet(boolean withDefaults) {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
Set entrySet = map.entrySet();
Iterator i = entrySet.iterator();
boolean logMINOR = Logger.shouldLog(Logger.MINOR, this);
Modified: trunk/freenet/src/freenet/crypt/DSAGroup.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DSAGroup.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/crypt/DSAGroup.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -288,7 +288,7 @@
}
public SimpleFieldSet asFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("p", Base64.encode(p.toByteArray()));
fs.putSingle("q", Base64.encode(q.toByteArray()));
fs.putSingle("g", Base64.encode(g.toByteArray()));
Modified: trunk/freenet/src/freenet/crypt/DSAPrivateKey.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DSAPrivateKey.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/crypt/DSAPrivateKey.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -70,7 +70,7 @@
}
public SimpleFieldSet asFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
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-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/crypt/DSAPublicKey.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -166,7 +166,7 @@
}
public SimpleFieldSet asFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
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-10 17:02:37 UTC (rev
11744)
+++ trunk/freenet/src/freenet/node/Node.java 2007-02-10 17:30:13 UTC (rev
11745)
@@ -526,7 +526,7 @@
FileInputStream fis = new FileInputStream(filename);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
- SimpleFieldSet fs = new SimpleFieldSet(br, false);
+ SimpleFieldSet fs = new SimpleFieldSet(br, false, true);
br.close();
// Read contents
String[] udp = fs.getAll("physical.udp");
@@ -1353,10 +1353,10 @@
SimpleFieldSet throttleFS = null;
try {
- throttleFS = SimpleFieldSet.readFrom(persistTarget,
false);
+ throttleFS = SimpleFieldSet.readFrom(persistTarget,
false, true);
} catch (IOException e) {
try {
- throttleFS =
SimpleFieldSet.readFrom(persistTemp, false);
+ throttleFS =
SimpleFieldSet.readFrom(persistTemp, false, true);
} catch (FileNotFoundException e1) {
// Ignore
} catch (IOException e1) {
@@ -1853,7 +1853,7 @@
* or that can safely be exchanged later.
*/
SimpleFieldSet exportPublicFieldSet(boolean forSetup) {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
Peer[] ips = ipDetector.getPrimaryIPAddress();
if(ips != null) {
for(int i=0;i<ips.length;i++)
@@ -1911,7 +1911,7 @@
* Export volatile data about the node as a SimpleFieldSet
*/
public SimpleFieldSet exportVolatileFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
long now = System.currentTimeMillis();
fs.put("isUsingWrapper", isUsingWrapper());
long nodeUptimeSeconds = 0;
@@ -3060,7 +3060,7 @@
Logger.normal(this, "Received N2NM from
'"+source.getPeer()+"'");
SimpleFieldSet fs = null;
try {
- fs = new SimpleFieldSet(new
String(messageData.getData(), "UTF-8"), false);
+ fs = new SimpleFieldSet(new
String(messageData.getData(), "UTF-8"), false, true);
} catch (IOException e) {
Logger.error(this, "IOException while parsing node to
node message data", e);
return;
@@ -3104,7 +3104,7 @@
String target_nodename = (String)
m.getObject(DMT.TARGET_NODENAME);
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();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.put("type", type);
fs.putSingle("source_nodename",
Base64.encode(source_nodename.getBytes()));
fs.putSingle("target_nodename",
Base64.encode(target_nodename.getBytes()));
@@ -3471,24 +3471,24 @@
}
private SimpleFieldSet persistThrottlesToFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.put("RequestStarters",
clientCore.requestStarters.persistToFieldSet());
- fs.put("RemoteChkFetchBytesSentAverage",
remoteChkFetchBytesSentAverage.exportFieldSet());
- fs.put("RemoteSskFetchBytesSentAverage",
remoteSskFetchBytesSentAverage.exportFieldSet());
- fs.put("RemoteChkInsertBytesSentAverage",
remoteChkInsertBytesSentAverage.exportFieldSet());
- fs.put("RemoteSskInsertBytesSentAverage",
remoteSskInsertBytesSentAverage.exportFieldSet());
- fs.put("RemoteChkFetchBytesReceivedAverage",
remoteChkFetchBytesReceivedAverage.exportFieldSet());
- fs.put("RemoteSskFetchBytesReceivedAverage",
remoteSskFetchBytesReceivedAverage.exportFieldSet());
- fs.put("RemoteChkInsertBytesReceivedAverage",
remoteChkInsertBytesReceivedAverage.exportFieldSet());
- fs.put("RemoteSskInsertBytesReceivedAverage",
remoteSskInsertBytesReceivedAverage.exportFieldSet());
- fs.put("LocalChkFetchBytesSentAverage",
localChkFetchBytesSentAverage.exportFieldSet());
- fs.put("LocalSskFetchBytesSentAverage",
localSskFetchBytesSentAverage.exportFieldSet());
- fs.put("LocalChkInsertBytesSentAverage",
localChkInsertBytesSentAverage.exportFieldSet());
- fs.put("LocalSskInsertBytesSentAverage",
localSskInsertBytesSentAverage.exportFieldSet());
- fs.put("LocalChkFetchBytesReceivedAverage",
localChkFetchBytesReceivedAverage.exportFieldSet());
- fs.put("LocalSskFetchBytesReceivedAverage",
localSskFetchBytesReceivedAverage.exportFieldSet());
- fs.put("LocalChkInsertBytesReceivedAverage",
localChkInsertBytesReceivedAverage.exportFieldSet());
- fs.put("LocalSskInsertBytesReceivedAverage",
localSskInsertBytesReceivedAverage.exportFieldSet());
+ fs.put("RemoteChkFetchBytesSentAverage",
remoteChkFetchBytesSentAverage.exportFieldSet(true));
+ fs.put("RemoteSskFetchBytesSentAverage",
remoteSskFetchBytesSentAverage.exportFieldSet(true));
+ fs.put("RemoteChkInsertBytesSentAverage",
remoteChkInsertBytesSentAverage.exportFieldSet(true));
+ fs.put("RemoteSskInsertBytesSentAverage",
remoteSskInsertBytesSentAverage.exportFieldSet(true));
+ fs.put("RemoteChkFetchBytesReceivedAverage",
remoteChkFetchBytesReceivedAverage.exportFieldSet(true));
+ fs.put("RemoteSskFetchBytesReceivedAverage",
remoteSskFetchBytesReceivedAverage.exportFieldSet(true));
+ fs.put("RemoteChkInsertBytesReceivedAverage",
remoteChkInsertBytesReceivedAverage.exportFieldSet(true));
+ fs.put("RemoteSskInsertBytesReceivedAverage",
remoteSskInsertBytesReceivedAverage.exportFieldSet(true));
+ fs.put("LocalChkFetchBytesSentAverage",
localChkFetchBytesSentAverage.exportFieldSet(true));
+ fs.put("LocalSskFetchBytesSentAverage",
localSskFetchBytesSentAverage.exportFieldSet(true));
+ fs.put("LocalChkInsertBytesSentAverage",
localChkInsertBytesSentAverage.exportFieldSet(true));
+ fs.put("LocalSskInsertBytesSentAverage",
localSskInsertBytesSentAverage.exportFieldSet(true));
+ fs.put("LocalChkFetchBytesReceivedAverage",
localChkFetchBytesReceivedAverage.exportFieldSet(true));
+ fs.put("LocalSskFetchBytesReceivedAverage",
localSskFetchBytesReceivedAverage.exportFieldSet(true));
+ fs.put("LocalChkInsertBytesReceivedAverage",
localChkInsertBytesReceivedAverage.exportFieldSet(true));
+ fs.put("LocalSskInsertBytesReceivedAverage",
localSskInsertBytesReceivedAverage.exportFieldSet(true));
// FIXME persist the rest
return fs;
Modified: trunk/freenet/src/freenet/node/NodeStarter.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStarter.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/node/NodeStarter.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -335,7 +335,7 @@
}
// Set up config for testing
- SimpleFieldSet configFS = new SimpleFieldSet();
+ SimpleFieldSet configFS = new SimpleFieldSet(false); // only
happens once in entire simulation
configFS.put("node.listenPort", port);
configFS.put("node.disableProbabilisticHTLs",
disableProbabilisticHTLs);
configFS.put("fproxy.enabled", false);
Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/node/PeerManager.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -105,7 +105,7 @@
while(true) {
// Read a single NodePeer
SimpleFieldSet fs;
- fs = new SimpleFieldSet(br, false);
+ fs = new SimpleFieldSet(br, false, true);
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-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/node/PeerNode.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -1660,7 +1660,7 @@
BufferedReader br = new BufferedReader(isr);
SimpleFieldSet fs;
try {
- fs = new SimpleFieldSet(br, false);
+ fs = new SimpleFieldSet(br, false, true);
} catch (IOException e) {
Logger.error(this, "Impossible: e", e);
return;
@@ -1875,7 +1875,7 @@
* Export metadata about the node as a SimpleFieldSet
*/
public synchronized SimpleFieldSet exportMetadataFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
if(detectedPeer != null)
fs.putSingle("detected.udp", detectedPeer.toString());
if(lastReceivedPacketTime() > 0)
@@ -1909,7 +1909,7 @@
* Export volatile data about the node as a SimpleFieldSet
*/
public SimpleFieldSet exportVolatileFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
long now = System.currentTimeMillis();
synchronized(this) {
fs.putSingle("averagePingTime",
Double.toString(averagePingTime()));
@@ -1937,7 +1937,7 @@
* Export the peer's noderef as a SimpleFieldSet
*/
public synchronized SimpleFieldSet exportFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
if(getLastGoodVersion() != null)
fs.putSingle("lastGoodVersion", lastGoodVersion);
for(int i=0;i<nominalPeer.size();i++) {
@@ -2628,7 +2628,7 @@
SimpleFieldSet fs = null;
try {
// Read in the single SimpleFieldSet
- fs = new SimpleFieldSet(br, false);
+ fs = new SimpleFieldSet(br, false, true);
} catch (EOFException e3) {
// End of file, fine
} catch (IOException e4) {
@@ -2903,8 +2903,8 @@
privateDarknetComment = comment;
localFileNumber = privateDarknetCommentFileNumber;
}
- SimpleFieldSet fs = new SimpleFieldSet();
- fs.putSingle("peerNoteType",
Integer.toString(Node.PEER_NOTE_TYPE_PRIVATE_DARKNET_COMMENT));
+ SimpleFieldSet fs = new SimpleFieldSet(true);
+ fs.put("peerNoteType",
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);
@@ -2980,7 +2980,7 @@
SimpleFieldSet fs;
try {
- fs = new SimpleFieldSet(ref, false);
+ fs = new SimpleFieldSet(ref, false, true);
if(logMINOR) Logger.minor(this, "Got ARK for "+this);
gotARK(fs, edition);
} catch (IOException e) {
Modified: trunk/freenet/src/freenet/node/RequestStarterGroup.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestStarterGroup.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/RequestStarterGroup.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -99,8 +99,8 @@
}
public SimpleFieldSet exportFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("RoundTripTime", roundTripTime.exportFieldSet());
+ SimpleFieldSet fs = new SimpleFieldSet(false);
+ fs.put("RoundTripTime",
roundTripTime.exportFieldSet(false));
return fs;
}
@@ -133,8 +133,8 @@
* Persist the throttle data to a SimpleFieldSet.
*/
SimpleFieldSet persistToFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
- fs.put("ThrottleWindow", throttleWindow.exportFieldSet());
+ SimpleFieldSet fs = new SimpleFieldSet(false);
+ fs.put("ThrottleWindow", throttleWindow.exportFieldSet(false));
fs.put("CHKRequestThrottle",
chkRequestThrottle.exportFieldSet());
fs.put("SSKRequestThrottle",
sskRequestThrottle.exportFieldSet());
fs.put("CHKInsertThrottle", chkInsertThrottle.exportFieldSet());
Modified: trunk/freenet/src/freenet/node/TextModeClientInterface.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterface.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/TextModeClientInterface.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -952,7 +952,7 @@
SimpleFieldSet fs;
System.out.println("Connecting to:\r\n"+content);
try {
- fs = new SimpleFieldSet(content, false);
+ fs = new SimpleFieldSet(content, false, true);
} 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-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/ThrottleWindowManager.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -55,8 +55,8 @@
+ (((float) _droppedPackets / (float)
_totalPackets)) + '=' +_droppedPackets+ '/' +_totalPackets;
}
- public SimpleFieldSet exportFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ public SimpleFieldSet exportFieldSet(boolean shortLived) {
+ SimpleFieldSet fs = new SimpleFieldSet(shortLived);
fs.putSingle("Type", "ThrottleWindowManager");
fs.put("TotalPackets", _totalPackets);
fs.put("DroppedPackets", _droppedPackets);
Modified: trunk/freenet/src/freenet/node/fcp/AddPeer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/AddPeer.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/AddPeer.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -31,7 +31,7 @@
}
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
@@ -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(), false);
+ fs = new SimpleFieldSet(ref.toString(), false,
true);
} 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(), false);
+ fs = new SimpleFieldSet(ref.toString(), false,
true);
} 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-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/AllDataMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -30,7 +30,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("DataLength", Long.toString(dataLength));
fs.putSingle("Identifier", identifier);
if(global) fs.putSingle("Global", "true");
Modified: trunk/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientGet.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ClientGet.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -486,7 +486,7 @@
// This is distinct from the ClientGetMessage code, as later on it will
be radically
// different (it can store detailed state).
public synchronized SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet(); // we will need
multi-level later...
+ SimpleFieldSet fs = new SimpleFieldSet(false); // we will need
multi-level later...
fs.putSingle("Type", "GET");
fs.putSingle("URI", uri.toString(false, false));
fs.putSingle("Identifier", identifier);
Modified: trunk/freenet/src/freenet/node/fcp/ClientGetMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientGetMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ClientGetMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -186,7 +186,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("IgnoreDS", Boolean.toString(ignoreDS));
fs.putSingle("URI", uri.toString(false, false));
fs.putSingle("Identifier", identifier);
Modified: trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -29,7 +29,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet sfs = new SimpleFieldSet();
+ SimpleFieldSet sfs = new SimpleFieldSet(true);
sfs.putSingle("Name", clientName);
sfs.putSingle("ExpectedVersion", clientExpectedVersion);
return sfs;
Modified: trunk/freenet/src/freenet/node/fcp/ClientPutBase.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutBase.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutBase.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -259,7 +259,7 @@
}
public synchronized SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet(); // we will need
multi-level later...
+ SimpleFieldSet fs = new SimpleFieldSet(false); // we will need
multi-level later...
fs.putSingle("Type", getTypeName());
fs.putSingle("URI", uri.toString(false, false));
fs.putSingle("Identifier", identifier);
Modified: trunk/freenet/src/freenet/node/fcp/ClientPutDir.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutDir.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutDir.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -199,7 +199,7 @@
public SimpleFieldSet getFieldSet() {
SimpleFieldSet fs = super.getFieldSet();
// Translate manifestElements directly into a fieldset
- SimpleFieldSet files = new SimpleFieldSet();
+ SimpleFieldSet files = new SimpleFieldSet(false);
// Flatten the hierarchy, it can be reconstructed on restarting.
// Storing it directly would be a PITA.
ManifestElement[] elements =
SimpleManifestPutter.flatten(manifestElements);
@@ -209,7 +209,7 @@
ManifestElement e = elements[i];
String name = e.getName();
String mimeOverride = e.getMimeTypeOverride();
- SimpleFieldSet subset = new SimpleFieldSet();
+ SimpleFieldSet subset = new SimpleFieldSet(false);
subset.putSingle("Name", name);
if(mimeOverride != null)
subset.putSingle("Metadata.ContentType",
mimeOverride);
Modified: trunk/freenet/src/freenet/node/fcp/ClientPutDirMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutDirMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutDirMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -118,7 +118,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet sfs = new SimpleFieldSet();
+ SimpleFieldSet sfs = new SimpleFieldSet(true);
sfs.putSingle("URI", uri.toString());
sfs.putSingle("Identifier", identifier);
sfs.putSingle("Verbosity", Integer.toString(verbosity));
Modified: trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -194,7 +194,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet sfs = new SimpleFieldSet();
+ SimpleFieldSet sfs = new SimpleFieldSet(true);
sfs.putSingle("URI", uri.toString());
sfs.putSingle("Identifier", identifier);
sfs.putSingle("Verbosity", Integer.toString(verbosity));
Modified: trunk/freenet/src/freenet/node/fcp/ClientRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientRequest.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ClientRequest.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -140,7 +140,7 @@
Runtime rt = Runtime.getRuntime();;
if(logMINOR)
Logger.minor(ClientRequest.class,
rt.maxMemory()-rt.freeMemory()+" in use before loading request");
- SimpleFieldSet fs = new SimpleFieldSet(br, false);
+ SimpleFieldSet fs = new SimpleFieldSet(br, false, false); //
can get enormous
String clientName = fs.get("ClientName");
boolean isGlobal = Fields.stringToBool(fs.get("Global"), false);
if(clientName == null && !isGlobal) {
Modified:
trunk/freenet/src/freenet/node/fcp/CloseConnectionDuplicateClientNameMessage.java
===================================================================
---
trunk/freenet/src/freenet/node/fcp/CloseConnectionDuplicateClientNameMessage.java
2007-02-10 17:02:37 UTC (rev 11744)
+++
trunk/freenet/src/freenet/node/fcp/CloseConnectionDuplicateClientNameMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -13,7 +13,7 @@
public class CloseConnectionDuplicateClientNameMessage extends FCPMessage {
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
Modified: trunk/freenet/src/freenet/node/fcp/ConfigData.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ConfigData.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ConfigData.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -18,7 +18,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
if(withDefaults) {
fs = node.config.exportFieldSet(true);
} else {
Modified: trunk/freenet/src/freenet/node/fcp/DataFoundMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/DataFoundMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/DataFoundMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -29,7 +29,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("Identifier", identifier);
if(global) fs.putSingle("Global", "true");
fs.putSingle("Metadata.ContentType", mimeType);
Modified: trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -16,7 +16,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet sfs = new SimpleFieldSet();
+ SimpleFieldSet sfs = new SimpleFieldSet(true);
sfs.putSingle("NodeIdentifier", nodeIdentifier);
return sfs;
}
Modified: trunk/freenet/src/freenet/node/fcp/EndListPeersMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/EndListPeersMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/EndListPeersMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -11,7 +11,7 @@
static final String name = "EndListPeers";
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
Modified:
trunk/freenet/src/freenet/node/fcp/EndListPersistentRequestsMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/EndListPersistentRequestsMessage.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/EndListPersistentRequestsMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -11,7 +11,7 @@
static final String name = "EndListPersistentRequests";
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
Modified: trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -53,7 +53,7 @@
return;
}
if(messageType.equals("")) continue;
- fs = new SimpleFieldSet(lis, 4096, 128, true, true,
true);
+ fs = new SimpleFieldSet(lis, 4096, 128, true, 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-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/FinishedCompressionMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -24,7 +24,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("Identifier", identifier);
fs.putSingle("Codec", Integer.toString(codec));
fs.putSingle("OriginalSize", Long.toString(origSize));
Modified: trunk/freenet/src/freenet/node/fcp/GenerateSSKMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GenerateSSKMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/GenerateSSKMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -18,7 +18,7 @@
}
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
Modified: trunk/freenet/src/freenet/node/fcp/GetConfig.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GetConfig.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/GetConfig.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -17,7 +17,7 @@
}
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
Modified: trunk/freenet/src/freenet/node/fcp/GetFailedMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GetFailedMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/GetFailedMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -100,7 +100,7 @@
* or another node).
*/
public SimpleFieldSet getFieldSet(boolean verbose) {
- SimpleFieldSet sfs = new SimpleFieldSet();
+ SimpleFieldSet sfs = new SimpleFieldSet(true);
sfs.putSingle("Code", Integer.toString(code));
if(verbose)
sfs.putSingle("CodeDescription", codeDescription);
Modified: trunk/freenet/src/freenet/node/fcp/GetNode.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GetNode.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/GetNode.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -19,7 +19,7 @@
}
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
Modified: trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -21,7 +21,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
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-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/IdentifierCollisionMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -17,7 +17,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet sfs = new SimpleFieldSet();
+ SimpleFieldSet sfs = new SimpleFieldSet(true);
sfs.putSingle("Identifier", identifier);
if(global) sfs.putSingle("Global", "true");
return sfs;
Modified: trunk/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -18,7 +18,7 @@
}
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
Modified: trunk/freenet/src/freenet/node/fcp/ListPeersMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ListPeersMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ListPeersMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -20,7 +20,7 @@
}
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
Modified: trunk/freenet/src/freenet/node/fcp/ListPersistentRequestsMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ListPersistentRequestsMessage.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ListPersistentRequestsMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -15,7 +15,7 @@
}
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
Modified: trunk/freenet/src/freenet/node/fcp/ModifyConfig.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyConfig.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ModifyConfig.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -21,7 +21,7 @@
}
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
Modified: trunk/freenet/src/freenet/node/fcp/ModifyPeer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyPeer.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ModifyPeer.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -19,7 +19,7 @@
}
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
Modified: trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -23,7 +23,7 @@
}
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
Modified: trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -51,7 +51,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("Identifier", identifier);
fs.putSingle("Global", Boolean.toString(global));
fs.putSingle("PriorityClass", Short.toString(priorityClass));
Modified: trunk/freenet/src/freenet/node/fcp/NodeData.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/NodeData.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/NodeData.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -20,7 +20,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
if(withPrivate) {
fs = node.exportPrivateFieldSet();
} else {
Modified: trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -60,7 +60,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet sfs = new SimpleFieldSet();
+ SimpleFieldSet sfs = new SimpleFieldSet(true);
// FIXME
sfs.putSingle("FCPVersion", "2.0");
sfs.putSingle("Node", "Fred");
Modified: trunk/freenet/src/freenet/node/fcp/PeerNote.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PeerNote.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/PeerNote.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -21,7 +21,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("NodeIdentifier", nodeIdentifier);
fs.putSingle("PeerNoteType", Integer.toString(peerNoteType));
fs.putSingle("NoteText", Base64.encode(noteText.getBytes(),
true));
Modified: trunk/freenet/src/freenet/node/fcp/PeerRemoved.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PeerRemoved.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/PeerRemoved.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -18,7 +18,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
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-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/PersistentGet.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -49,7 +49,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("Identifier", identifier);
fs.putSingle("URI", uri.toString(false, false));
fs.put("Verbosity", verbosity);
Modified: trunk/freenet/src/freenet/node/fcp/PersistentPut.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentPut.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/PersistentPut.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -51,7 +51,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("Identifier", identifier);
fs.putSingle("URI", uri.toString(false, false));
fs.put("Verbosity", verbosity);
Modified: trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -49,14 +49,14 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(false); // false because
this can get HUGE
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();
+ SimpleFieldSet files = new SimpleFieldSet(false);
// Flatten the hierarchy, it can be reconstructed on restarting.
// Storing it directly would be a PITA.
ManifestElement[] elements =
SimpleManifestPutter.flatten(manifestElements);
@@ -65,7 +65,7 @@
String num = Integer.toString(i);
ManifestElement e = elements[i];
String mimeOverride = e.getMimeTypeOverride();
- SimpleFieldSet subset = new SimpleFieldSet();
+ SimpleFieldSet subset = new SimpleFieldSet(false);
FreenetURI tempURI = e.getTargetURI();
subset.putSingle("Name", e.getName());
if(tempURI != null) {
Modified:
trunk/freenet/src/freenet/node/fcp/PersistentRequestRemovedMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentRequestRemovedMessage.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/PersistentRequestRemovedMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -20,7 +20,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(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-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -123,7 +123,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet sfs = new SimpleFieldSet();
+ SimpleFieldSet sfs = new SimpleFieldSet(true);
if(ident != null)
sfs.putSingle("Identifier", ident);
sfs.put("Code", code);
Modified: trunk/freenet/src/freenet/node/fcp/PutFailedMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PutFailedMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/PutFailedMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -79,7 +79,7 @@
}
public SimpleFieldSet getFieldSet(boolean verbose) {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("Identifier", identifier);
if(global) fs.putSingle("Global", "true");
fs.put("Code", code);
Modified: trunk/freenet/src/freenet/node/fcp/PutFetchableMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PutFetchableMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/PutFetchableMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -20,7 +20,7 @@
final FreenetURI uri;
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("Identifier", identifier);
if(global) fs.putSingle("Global", "true");
if(uri != null)
Modified: trunk/freenet/src/freenet/node/fcp/PutSuccessfulMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PutSuccessfulMessage.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/PutSuccessfulMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -20,7 +20,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("Identifier", identifier);
if(global) fs.putSingle("Global", "true");
// FIXME debug and remove!
Modified: trunk/freenet/src/freenet/node/fcp/RemovePeer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/RemovePeer.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/RemovePeer.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -18,7 +18,7 @@
}
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
Modified: trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -24,7 +24,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
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-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/SSKKeypairMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -20,7 +20,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet sfs = new SimpleFieldSet();
+ SimpleFieldSet sfs = new SimpleFieldSet(true);
sfs.putSingle("InsertURI", insertURI.toString());
sfs.putSingle("RequestURI", requestURI.toString());
if(identifier != null) // is optional on these two only
Modified: trunk/freenet/src/freenet/node/fcp/ShutdownMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ShutdownMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/ShutdownMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -14,7 +14,7 @@
}
public SimpleFieldSet getFieldSet() {
- return new SimpleFieldSet();
+ return new SimpleFieldSet(true);
}
public String getName() {
Modified: trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -20,7 +20,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.put("Total", event.totalBlocks);
fs.put("Required", event.minSuccessfulBlocks);
fs.put("Failed", event.failedBlocks);
Modified: trunk/freenet/src/freenet/node/fcp/StartedCompressionMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/StartedCompressionMessage.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/StartedCompressionMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -20,7 +20,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("Identifier", identifier);
fs.put("Codec", codec);
if(global) fs.putSingle("Global", "true");
Modified: trunk/freenet/src/freenet/node/fcp/SubscribeUSKMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SubscribeUSKMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/SubscribeUSKMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -47,7 +47,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
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-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/SubscribedUSKUpdate.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -22,7 +22,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("Identifier", identifier);
fs.put("Edition", edition);
fs.putSingle("URI", key.getURI().toString());
Modified: trunk/freenet/src/freenet/node/fcp/URIGeneratedMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/URIGeneratedMessage.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/URIGeneratedMessage.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -18,7 +18,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
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-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -15,7 +15,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet sfs = new SimpleFieldSet();
+ SimpleFieldSet sfs = new SimpleFieldSet(true);
sfs.putSingle("NodeIdentifier", nodeIdentifier);
return sfs;
}
Modified: trunk/freenet/src/freenet/node/fcp/UnknownPeerNoteTypeMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/UnknownPeerNoteTypeMessage.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/UnknownPeerNoteTypeMessage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -15,7 +15,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
fs.put("PeerNoteType", peerNoteType);
return fs;
}
Modified: trunk/freenet/src/freenet/node/fcp/WatchGlobal.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/WatchGlobal.java 2007-02-10 17:02:37 UTC
(rev 11744)
+++ trunk/freenet/src/freenet/node/fcp/WatchGlobal.java 2007-02-10 17:30:13 UTC
(rev 11745)
@@ -27,7 +27,7 @@
}
public SimpleFieldSet getFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(true);
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-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -30,6 +30,7 @@
private final Map values;
private Map subsets;
private String endMarker;
+ private final boolean shortLived;
static public final char MULTI_LEVEL_CHAR = '.';
/**
@@ -37,42 +38,50 @@
* @param br
* @param allowMultiple If true, multiple lines with the same field name
will be
* combined; if false, the constructor will throw.
+ * @param shortLived If false, strings will be interned to ensure that
they use as
+ * little memory as possible. Only set to true if the SFS will be
short-lived or
+ * small.
* @throws IOException If the buffer could not be read, or if there was a
formatting
* problem.
*/
- public SimpleFieldSet(BufferedReader br, boolean allowMultiple) throws
IOException {
+ public SimpleFieldSet(BufferedReader br, boolean allowMultiple, boolean
shortLived) throws IOException {
values = new HashMap();
subsets = null;
+ this.shortLived = shortLived;
read(br, allowMultiple);
}
public SimpleFieldSet(SimpleFieldSet sfs){
values = new HashMap(sfs.values);
subsets = new HashMap(sfs.subsets);
+ this.shortLived = false; // it's been copied!
endMarker = sfs.endMarker;
}
- public SimpleFieldSet(LineReader lis, int maxLineLength, int
lineBufferSize, boolean tolerant, boolean utf8OrIso88591, boolean
allowMultiple) throws IOException {
+ public SimpleFieldSet(LineReader lis, int maxLineLength, int
lineBufferSize, boolean tolerant, boolean utf8OrIso88591, boolean
allowMultiple, boolean shortLived) throws IOException {
values = new HashMap();
subsets = null;
+ this.shortLived = shortLived;
read(lis, maxLineLength, lineBufferSize, tolerant, utf8OrIso88591,
allowMultiple);
}
/**
* Empty constructor
*/
- public SimpleFieldSet() {
+ public SimpleFieldSet(boolean shortLived) {
values = new HashMap();
subsets = null;
+ this.shortLived = shortLived;
}
/**
* Construct from a string.
* @throws IOException if the string is too short or invalid.
*/
- public SimpleFieldSet(String content, boolean allowMultiple) throws
IOException {
+ public SimpleFieldSet(String content, boolean allowMultiple, boolean
shortLived) throws IOException {
values = new HashMap();
subsets = null;
+ this.shortLived = shortLived;
StringReader sr = new StringReader(content);
BufferedReader br = new BufferedReader(sr);
read(br, allowMultiple);
@@ -100,6 +109,7 @@
// Mapping
String before = line.substring(0, index);
String after = line.substring(index+1);
+ if(!shortLived) after = after.intern();
put(before, after, allowMultiple, false);
} else {
endMarker = line;
@@ -136,6 +146,7 @@
// Mapping
String before = line.substring(0, index);
String after = line.substring(index+1);
+ if(!shortLived) after = after.intern();
put(before, after, allowMultiple, false);
} else {
endMarker = line;
@@ -190,6 +201,7 @@
* @param value The value.
*/
public void putSingle(String key, String value) {
+ if(!shortLived) value = value.intern();
if(!put(key, value, false, false))
throw new IllegalStateException("Value already exists:
"+value+" but want to set "+key+" to "+value);
}
@@ -200,6 +212,7 @@
* @param value The value.
*/
public void putAppend(String key, String value) {
+ if(!shortLived) value = value.intern();
put(key, value, true, false);
}
@@ -209,6 +222,7 @@
* @param value The value.
*/
public void putOverwrite(String key, String value) {
+ if(!shortLived) value = value.intern();
put(key, value, false, true);
}
@@ -228,6 +242,7 @@
if((idx = key.indexOf(MULTI_LEVEL_CHAR)) == -1) {
String x = (String) values.get(key);
+ if(!shortLived) key = key.intern();
if(x == null || overwrite) {
values.put(key, value);
} else {
@@ -242,7 +257,8 @@
subsets = new HashMap();
fs = (SimpleFieldSet) (subsets.get(before));
if(fs == null) {
- fs = new SimpleFieldSet();
+ fs = new SimpleFieldSet(shortLived);
+ if(!shortLived) before = before.intern();
subsets.put(before, fs);
}
fs.put(after, value, allowMultiple, overwrite);
@@ -251,27 +267,29 @@
}
public void put(String key, int value) {
- put(key, Integer.toString(value), false, false);
+ // Use putSingle so it does the intern check
+ putSingle(key, Integer.toString(value));
}
public void put(String key, long value) {
- put(key, Long.toString(value), false, false);
+ putSingle(key, Long.toString(value));
}
public void put(String key, short value) {
- put(key, Short.toString(value), false, false);
+ putSingle(key, Short.toString(value));
}
public void put(String key, char c) {
- put(key, ""+c, false, false);
+ putSingle(key, Character.toString(c));
}
public void put(String key, boolean b) {
+ // Don't use putSingle, avoid intern check (Boolean.toString
returns interned strings anyway)
put(key, Boolean.toString(b), false, false);
}
public void put(String key, double windowSize) {
- put(key, Double.toString(windowSize), false, false);
+ putSingle(key, Double.toString(windowSize));
}
/**
@@ -467,6 +485,7 @@
subsets = new HashMap();
if(subsets.containsKey(key))
throw new IllegalArgumentException("Already contains
"+key+" but trying to add a SimpleFieldSet!");
+ if(!shortLived) key = key.intern();
subsets.put(key, fs);
}
@@ -525,7 +544,7 @@
return (String[]) subsets.keySet().toArray(new
String[subsets.size()]);
}
- public static SimpleFieldSet readFrom(File f, boolean allowMultiple)
throws IOException {
+ public static SimpleFieldSet readFrom(File f, boolean allowMultiple,
boolean shortLived) throws IOException {
FileInputStream fis = null;
try {
fis = new FileInputStream(f);
@@ -539,7 +558,7 @@
return null;
}
BufferedReader br = new BufferedReader(isr);
- SimpleFieldSet fs = new SimpleFieldSet(br,
allowMultiple);
+ SimpleFieldSet fs = new SimpleFieldSet(br,
allowMultiple, shortLived);
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-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/support/io/DelayedFreeBucket.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -77,7 +77,7 @@
Logger.error(this, "Cannot serialize because already
freed: "+this);
return null;
}
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(false);
fs.putSingle("Type", "DelayedFreeBucket");
if(bucket instanceof SerializableToFieldSetBucket) {
fs.put("Underlying",
((SerializableToFieldSetBucket)bucket).toFieldSet());
Modified: trunk/freenet/src/freenet/support/io/FileBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/FileBucket.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/support/io/FileBucket.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -348,7 +348,7 @@
public synchronized SimpleFieldSet toFieldSet() {
if(deleteOnFinalize) return null;
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(false);
fs.putSingle("Type", "FileBucket");
fs.putSingle("Filename", file.toString());
fs.put("Length", length);
Modified: trunk/freenet/src/freenet/support/io/NullBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/NullBucket.java 2007-02-10
17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/support/io/NullBucket.java 2007-02-10
17:30:13 UTC (rev 11745)
@@ -66,7 +66,7 @@
}
public SimpleFieldSet toFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(false);
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-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/support/io/PaddedEphemerallyEncryptedBucket.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -349,7 +349,7 @@
}
public SimpleFieldSet toFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(false);
fs.putSingle("Type", "PaddedEphemerallyEncryptedBucket");
synchronized(this) {
fs.put("DataLength", dataLength);
Modified: trunk/freenet/src/freenet/support/io/RandomAccessFileBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/RandomAccessFileBucket.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/support/io/RandomAccessFileBucket.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -461,7 +461,7 @@
}
public synchronized SimpleFieldSet toFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(false);
fs.putSingle("Type", "RandomAccessFileBucket");
fs.putSingle("Filename", file.toString());
fs.put("Offset", offset);
Modified: trunk/freenet/src/freenet/support/io/ReadOnlyFileSliceBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/ReadOnlyFileSliceBucket.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/support/io/ReadOnlyFileSliceBucket.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -144,7 +144,7 @@
}
public SimpleFieldSet toFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ SimpleFieldSet fs = new SimpleFieldSet(false);
fs.putSingle("Type", "ReadOnlyFileSliceBucket");
fs.putSingle("Filename", file.toString());
fs.put("Offset", startAt);
Modified:
trunk/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java
===================================================================
---
trunk/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java
2007-02-10 17:02:37 UTC (rev 11744)
+++
trunk/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -154,8 +154,8 @@
return reports;
}
- public synchronized SimpleFieldSet exportFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ public synchronized SimpleFieldSet exportFieldSet(boolean shortLived) {
+ SimpleFieldSet fs = new SimpleFieldSet(shortLived);
fs.putSingle("Type", "BootstrappingDecayingRunningAverage");
fs.put("CurrentValue", currentValue);
fs.put("Reports", reports);
Modified: trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java
===================================================================
--- trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java
2007-02-10 17:02:37 UTC (rev 11744)
+++ trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java
2007-02-10 17:30:13 UTC (rev 11745)
@@ -231,8 +231,8 @@
return lastReportTime;
}
- public synchronized SimpleFieldSet exportFieldSet() {
- SimpleFieldSet fs = new SimpleFieldSet();
+ public synchronized SimpleFieldSet exportFieldSet(boolean shortLived) {
+ SimpleFieldSet fs = new SimpleFieldSet(shortLived);
fs.putSingle("Type", "TimeDecayingRunningAverage");
fs.put("CurrentValue", curValue);
fs.put("Started", started);
Modified: trunk/freenet/src/freenet/tools/AddRef.java
===================================================================
--- trunk/freenet/src/freenet/tools/AddRef.java 2007-02-10 17:02:37 UTC (rev
11744)
+++ trunk/freenet/src/freenet/tools/AddRef.java 2007-02-10 17:30:13 UTC (rev
11745)
@@ -43,7 +43,7 @@
Socket fcpSocket = null;
FCPMessage fcpm;
- SimpleFieldSet sfs = new SimpleFieldSet();
+ SimpleFieldSet sfs = new SimpleFieldSet(true);
try{
fcpSocket = new Socket("127.0.0.1",
FCPServer.DEFAULT_FCP_PORT);
@@ -74,7 +74,7 @@
}
try{
- sfs = SimpleFieldSet.readFrom(reference, false);
+ sfs = SimpleFieldSet.readFrom(reference, false,
true);
fcpm = FCPMessage.create(AddPeer.name, sfs);
fcpm.send(os);
os.flush();
@@ -107,8 +107,8 @@
}
protected SimpleFieldSet getMessage(LineReadingInputStream lis){
- SimpleFieldSet sfs = new SimpleFieldSet();
- sfs=new SimpleFieldSet();
+ SimpleFieldSet sfs = new SimpleFieldSet(true);
+ sfs=new SimpleFieldSet(true);
try {
while(lis.available()>0){
String line = lis.readLine(128, 128, true);